Home | History | Annotate | Download | only in password_manager
      1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_CHANGE_H__
      6 #define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_CHANGE_H__
      7 #pragma once
      8 
      9 #include <vector>
     10 
     11 #include "webkit/glue/password_form.h"
     12 
     13 class PasswordStoreChange {
     14  public:
     15   enum Type {
     16     ADD,
     17     UPDATE,
     18     REMOVE,
     19   };
     20 
     21   PasswordStoreChange(Type type, const webkit_glue::PasswordForm& form)
     22       : type_(type), form_(form) {
     23   }
     24   virtual ~PasswordStoreChange() {}
     25 
     26   Type type() const { return type_; }
     27   const webkit_glue::PasswordForm& form() const { return form_; }
     28 
     29   bool operator==(const PasswordStoreChange& other) const {
     30     return type() == other.type() &&
     31            form().signon_realm == other.form().signon_realm &&
     32            form().origin == other.form().origin &&
     33            form().action == other.form().action &&
     34            form().submit_element == other.form().submit_element &&
     35            form().username_element == other.form().username_element &&
     36            form().username_value == other.form().username_value &&
     37            form().password_element == other.form().password_element &&
     38            form().password_value == other.form().password_value &&
     39            form().old_password_element == other.form().old_password_element &&
     40            form().old_password_value == other.form().old_password_value &&
     41            form().ssl_valid == other.form().ssl_valid &&
     42            form().preferred == other.form().preferred &&
     43            form().date_created == other.form().date_created &&
     44            form().blacklisted_by_user == other.form().blacklisted_by_user;
     45   }
     46 
     47  private:
     48   Type type_;
     49   webkit_glue::PasswordForm form_;
     50 };
     51 
     52 typedef std::vector<PasswordStoreChange> PasswordStoreChangeList;
     53 
     54 #endif  // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_CHANGE_H_
     55