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 PasswordStoreChange(Type type,const webkit_glue::PasswordForm & form)21 PasswordStoreChange(Type type, const webkit_glue::PasswordForm& form) 22 : type_(type), form_(form) { 23 } ~PasswordStoreChange()24 virtual ~PasswordStoreChange() {} 25 type()26 Type type() const { return type_; } form()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