Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: components/autofill/content/renderer/password_autofill_agent.cc

Issue 2604453003: Show Form-Not-Secure warning on page load (Closed)
Patch Set: meacer, jochen comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "components/autofill/content/renderer/password_autofill_agent.h" 5 #include "components/autofill/content/renderer/password_autofill_agent.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 879
880 // Chrome should never show more than one account for a password element since 880 // Chrome should never show more than one account for a password element since
881 // this implies that the username element cannot be modified. Thus even if 881 // this implies that the username element cannot be modified. Thus even if
882 // |show_all| is true, check if the element in question is a password element 882 // |show_all| is true, check if the element in question is a password element
883 // for the call to ShowSuggestionPopup. 883 // for the call to ShowSuggestionPopup.
884 return ShowSuggestionPopup(*password_info, element, 884 return ShowSuggestionPopup(*password_info, element,
885 show_all && !element.isPasswordField(), 885 show_all && !element.isPasswordField(),
886 element.isPasswordField()); 886 element.isPasswordField());
887 } 887 }
888 888
889 void PasswordAutofillAgent::ShowNotSecureWarning(
890 const blink::WebInputElement& element) {
891 FormData form;
892 FormFieldData field;
893 form_util::FindFormAndFieldForFormControlElement(element, &form, &field);
894 GetPasswordManagerDriver()->ShowNotSecureWarning(
895 field.text_direction,
896 render_frame()->GetRenderView()->ElementBoundsInWindow(element));
897 }
898
889 bool PasswordAutofillAgent::OriginCanAccessPasswordManager( 899 bool PasswordAutofillAgent::OriginCanAccessPasswordManager(
890 const blink::WebSecurityOrigin& origin) { 900 const blink::WebSecurityOrigin& origin) {
891 return origin.canAccessPasswordManager(); 901 return origin.canAccessPasswordManager();
892 } 902 }
893 903
894 void PasswordAutofillAgent::OnDynamicFormsSeen() { 904 void PasswordAutofillAgent::OnDynamicFormsSeen() {
895 SendPasswordForms(false /* only_visible */); 905 SendPasswordForms(false /* only_visible */);
896 } 906 }
897 907
898 void PasswordAutofillAgent::AJAXSucceeded() { 908 void PasswordAutofillAgent::AJAXSucceeded() {
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 if (form_data.wait_for_username) 1252 if (form_data.wait_for_username)
1243 return; 1253 return;
1244 1254
1245 for (auto element : elements) { 1255 for (auto element : elements) {
1246 blink::WebInputElement username_element = 1256 blink::WebInputElement username_element =
1247 !element.isPasswordField() ? element : password_to_username_[element]; 1257 !element.isPasswordField() ? element : password_to_username_[element];
1248 blink::WebInputElement password_element = 1258 blink::WebInputElement password_element =
1249 element.isPasswordField() 1259 element.isPasswordField()
1250 ? element 1260 ? element
1251 : web_input_to_password_info_[element].password_field; 1261 : web_input_to_password_info_[element].password_field;
1252 FillFormOnPasswordReceived( 1262 if (FillFormOnPasswordReceived(
1253 form_data, username_element, password_element, 1263 form_data, username_element, password_element,
1254 &field_value_and_properties_map_, 1264 &field_value_and_properties_map_,
1255 base::Bind(&PasswordValueGatekeeper::RegisterElement, 1265 base::Bind(&PasswordValueGatekeeper::RegisterElement,
1256 base::Unretained(&gatekeeper_)), 1266 base::Unretained(&gatekeeper_)),
1257 logger.get()); 1267 logger.get())) {
1268 if (form_data.show_form_not_secure_warning_on_autofill)
1269 autofill_agent_->ShowNotSecureWarning(username_element);
1270 }
1258 } 1271 }
1259 } 1272 }
1260 1273
1261 void PasswordAutofillAgent::GetFillableElementFromFormData( 1274 void PasswordAutofillAgent::GetFillableElementFromFormData(
1262 int key, 1275 int key,
1263 const PasswordFormFillData& form_data, 1276 const PasswordFormFillData& form_data,
1264 RendererSavePasswordProgressLogger* logger, 1277 RendererSavePasswordProgressLogger* logger,
1265 std::vector<blink::WebInputElement>* elements) { 1278 std::vector<blink::WebInputElement>* elements) {
1266 DCHECK(elements); 1279 DCHECK(elements);
1267 bool ambiguous_or_empty_names = 1280 bool ambiguous_or_empty_names =
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 PasswordAutofillAgent::GetPasswordManagerDriver() { 1502 PasswordAutofillAgent::GetPasswordManagerDriver() {
1490 if (!password_manager_driver_) { 1503 if (!password_manager_driver_) {
1491 render_frame()->GetRemoteInterfaces()->GetInterface( 1504 render_frame()->GetRemoteInterfaces()->GetInterface(
1492 mojo::MakeRequest(&password_manager_driver_)); 1505 mojo::MakeRequest(&password_manager_driver_));
1493 } 1506 }
1494 1507
1495 return password_manager_driver_; 1508 return password_manager_driver_;
1496 } 1509 }
1497 1510
1498 } // namespace autofill 1511 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698