OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ | 5 #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ |
6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ | 6 #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 87 |
88 // Should be called when the user navigates the main frame. | 88 // Should be called when the user navigates the main frame. |
89 void DidNavigateMainFrame(bool is_in_page); | 89 void DidNavigateMainFrame(bool is_in_page); |
90 | 90 |
91 // Handles password forms being parsed. | 91 // Handles password forms being parsed. |
92 void OnPasswordFormsParsed( | 92 void OnPasswordFormsParsed( |
93 const std::vector<autofill::PasswordForm>& forms); | 93 const std::vector<autofill::PasswordForm>& forms); |
94 | 94 |
95 // Handles password forms being rendered. | 95 // Handles password forms being rendered. |
96 void OnPasswordFormsRendered( | 96 void OnPasswordFormsRendered( |
97 const std::vector<autofill::PasswordForm>& visible_forms); | 97 const std::vector<autofill::PasswordForm>& visible_forms, |
| 98 bool did_stop_loading); |
98 | 99 |
99 // Handles a password form being submitted. | 100 // Handles a password form being submitted. |
100 virtual void OnPasswordFormSubmitted( | 101 virtual void OnPasswordFormSubmitted( |
101 const autofill::PasswordForm& password_form); | 102 const autofill::PasswordForm& password_form); |
102 | 103 |
103 PasswordManagerClient* client() { return client_; } | 104 PasswordManagerClient* client() { return client_; } |
104 | 105 |
105 private: | 106 private: |
106 enum ProvisionalSaveFailure { | 107 enum ProvisionalSaveFailure { |
107 SAVING_DISABLED, | 108 SAVING_DISABLED, |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 // want to save passwords but will continue to fill passwords). | 176 // want to save passwords but will continue to fill passwords). |
176 BooleanPrefMember password_manager_enabled_; | 177 BooleanPrefMember password_manager_enabled_; |
177 | 178 |
178 // Observers to be notified of LoginModel events. This is mutable to allow | 179 // Observers to be notified of LoginModel events. This is mutable to allow |
179 // notification in const member functions. | 180 // notification in const member functions. |
180 mutable ObserverList<LoginModelObserver> observers_; | 181 mutable ObserverList<LoginModelObserver> observers_; |
181 | 182 |
182 // Callbacks to be notified when a password form has been submitted. | 183 // Callbacks to be notified when a password form has been submitted. |
183 std::vector<PasswordSubmittedCallback> submission_callbacks_; | 184 std::vector<PasswordSubmittedCallback> submission_callbacks_; |
184 | 185 |
| 186 // Records all visible forms seen during a page load, in all frames of the |
| 187 // page. When the page stops loading, the password manager checks if one of |
| 188 // the recorded forms matches the login form from the previous page |
| 189 // (to see if the login was a failure), and clears the vector. |
| 190 std::vector<autofill::PasswordForm> all_visible_forms_; |
| 191 |
185 DISALLOW_COPY_AND_ASSIGN(PasswordManager); | 192 DISALLOW_COPY_AND_ASSIGN(PasswordManager); |
186 }; | 193 }; |
187 | 194 |
188 } // namespace password_manager | 195 } // namespace password_manager |
189 | 196 |
190 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ | 197 #endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_MANAGER_H_ |
OLD | NEW |