• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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