Home | History | Annotate | Download | only in password_manager
      1 // Copyright (c) 2011 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 
      8 #include <vector>
      9 
     10 #include "content/public/common/password_form.h"
     11 
     12 class PasswordStoreChange {
     13  public:
     14   enum Type {
     15     ADD,
     16     UPDATE,
     17     REMOVE,
     18   };
     19 
     20   PasswordStoreChange(Type type, const content::PasswordForm& form)
     21       : type_(type), form_(form) {
     22   }
     23   virtual ~PasswordStoreChange() {}
     24 
     25   Type type() const { return type_; }
     26   const content::PasswordForm& form() const { return form_; }
     27 
     28   bool operator==(const PasswordStoreChange& other) const {
     29     return type() == other.type() &&
     30            form().signon_realm == other.form().signon_realm &&
     31            form().origin == other.form().origin &&
     32            form().action == other.form().action &&
     33            form().submit_element == other.form().submit_element &&
     34            form().username_element == other.form().username_element &&
     35            form().username_value == other.form().username_value &&
     36            form().password_element == other.form().password_element &&
     37            form().password_value == other.form().password_value &&
     38            form().old_password_element == other.form().old_password_element &&
     39            form().old_password_value == other.form().old_password_value &&
     40            form().ssl_valid == other.form().ssl_valid &&
     41            form().preferred == other.form().preferred &&
     42            form().date_created == other.form().date_created &&
     43            form().blacklisted_by_user == other.form().blacklisted_by_user;
     44   }
     45 
     46  private:
     47   Type type_;
     48   content::PasswordForm form_;
     49 };
     50 
     51 typedef std::vector<PasswordStoreChange> PasswordStoreChangeList;
     52 
     53 #endif  // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_CHANGE_H_
     54