| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ | 5 #ifndef COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ |
| 6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ | 6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> |
| 9 #include <vector> | 10 #include <vector> |
| 10 | 11 |
| 11 #include "base/gtest_prod_util.h" | 12 #include "base/gtest_prod_util.h" |
| 12 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
| 14 #include "components/autofill/core/common/form_data_predictions.h" | 15 #include "components/autofill/core/common/form_data_predictions.h" |
| 15 #include "components/autofill/core/common/password_form_field_prediction_map.h" | 16 #include "components/autofill/core/common/password_form_field_prediction_map.h" |
| 16 #include "components/autofill/core/common/password_form_fill_data.h" | 17 #include "components/autofill/core/common/password_form_fill_data.h" |
| 17 #include "content/public/renderer/render_frame_observer.h" | 18 #include "content/public/renderer/render_frame_observer.h" |
| 18 #include "content/public/renderer/render_view_observer.h" | 19 #include "content/public/renderer/render_view_observer.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 // RenderFrameObserver: | 172 // RenderFrameObserver: |
| 172 bool OnMessageReceived(const IPC::Message& message) override; | 173 bool OnMessageReceived(const IPC::Message& message) override; |
| 173 void DidFinishDocumentLoad() override; | 174 void DidFinishDocumentLoad() override; |
| 174 void DidFinishLoad() override; | 175 void DidFinishLoad() override; |
| 175 void FrameDetached() override; | 176 void FrameDetached() override; |
| 176 void FrameWillClose() override; | 177 void FrameWillClose() override; |
| 177 void DidCommitProvisionalLoad(bool is_new_navigation, | 178 void DidCommitProvisionalLoad(bool is_new_navigation, |
| 178 bool is_same_page_navigation) override; | 179 bool is_same_page_navigation) override; |
| 179 void WillSendSubmitEvent(const blink::WebFormElement& form) override; | 180 void WillSendSubmitEvent(const blink::WebFormElement& form) override; |
| 180 void WillSubmitForm(const blink::WebFormElement& form) override; | 181 void WillSubmitForm(const blink::WebFormElement& form) override; |
| 182 void FocusedNodeChanged(const blink::WebNode& node) override; |
| 181 | 183 |
| 182 // Legacy RenderViewObserver: | 184 // Legacy RenderViewObserver: |
| 183 void DidStartLoading(); | 185 void DidStartLoading(); |
| 184 void DidStopLoading(); | 186 void DidStopLoading(); |
| 185 void LegacyDidStartProvisionalLoad(blink::WebLocalFrame* frame); | 187 void LegacyDidStartProvisionalLoad(blink::WebLocalFrame* frame); |
| 186 | 188 |
| 187 // RenderView IPC handlers: | 189 // RenderView IPC handlers: |
| 188 void OnFillPasswordForm(int key, const PasswordFormFillData& form_data); | 190 void OnFillPasswordForm(int key, const PasswordFormFillData& form_data); |
| 189 void OnSetLoggingState(bool active); | 191 void OnSetLoggingState(bool active); |
| 190 void OnAutofillUsernameAndPasswordDataReceived( | 192 void OnAutofillUsernameAndPasswordDataReceived( |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 // Set if the user might be submitting a password form on the current page, | 265 // Set if the user might be submitting a password form on the current page, |
| 264 // but the submit may still fail (i.e. doesn't pass JavaScript validation). | 266 // but the submit may still fail (i.e. doesn't pass JavaScript validation). |
| 265 scoped_ptr<PasswordForm> provisionally_saved_form_; | 267 scoped_ptr<PasswordForm> provisionally_saved_form_; |
| 266 | 268 |
| 267 // Contains the most recent text that user typed or PasswordManager autofilled | 269 // Contains the most recent text that user typed or PasswordManager autofilled |
| 268 // in input elements. Used for storing username/password before JavaScript | 270 // in input elements. Used for storing username/password before JavaScript |
| 269 // changes them. | 271 // changes them. |
| 270 std::map<const blink::WebInputElement, blink::WebString> | 272 std::map<const blink::WebInputElement, blink::WebString> |
| 271 nonscript_modified_values_; | 273 nonscript_modified_values_; |
| 272 | 274 |
| 275 // Contains all username fields that were in focus. It means that these fields |
| 276 // are visible to the user. |
| 277 std::set<const blink::WebInputElement> had_focus_username_fields_; |
| 278 |
| 273 PasswordValueGatekeeper gatekeeper_; | 279 PasswordValueGatekeeper gatekeeper_; |
| 274 | 280 |
| 275 // True indicates that user debug information should be logged. | 281 // True indicates that user debug information should be logged. |
| 276 bool logging_state_active_; | 282 bool logging_state_active_; |
| 277 | 283 |
| 278 // True indicates that the username field was autofilled, false otherwise. | 284 // True indicates that the username field was autofilled, false otherwise. |
| 279 bool was_username_autofilled_; | 285 bool was_username_autofilled_; |
| 280 // True indicates that the password field was autofilled, false otherwise. | 286 // True indicates that the password field was autofilled, false otherwise. |
| 281 bool was_password_autofilled_; | 287 bool was_password_autofilled_; |
| 282 | 288 |
| 283 // Records original starting point of username element's selection range | 289 // Records original starting point of username element's selection range |
| 284 // before preview. | 290 // before preview. |
| 285 int username_selection_start_; | 291 int username_selection_start_; |
| 286 | 292 |
| 287 // True indicates that all frames in a page have been rendered. | 293 // True indicates that all frames in a page have been rendered. |
| 288 bool did_stop_loading_; | 294 bool did_stop_loading_; |
| 289 | 295 |
| 290 // Contains server predictions for username, password and/or new password | 296 // Contains server predictions for username, password and/or new password |
| 291 // fields for individual forms. | 297 // fields for individual forms. |
| 292 FormsPredictionsMap form_predictions_; | 298 FormsPredictionsMap form_predictions_; |
| 293 | 299 |
| 294 base::WeakPtrFactory<PasswordAutofillAgent> weak_ptr_factory_; | 300 base::WeakPtrFactory<PasswordAutofillAgent> weak_ptr_factory_; |
| 295 | 301 |
| 296 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillAgent); | 302 DISALLOW_COPY_AND_ASSIGN(PasswordAutofillAgent); |
| 297 }; | 303 }; |
| 298 | 304 |
| 299 } // namespace autofill | 305 } // namespace autofill |
| 300 | 306 |
| 301 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ | 307 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_PASSWORD_AUTOFILL_AGENT_H_ |
| OLD | NEW |