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

Side by Side Diff: chrome/browser/password_manager/password_manager.cc

Issue 103503002: Ignore autocomplete='off' for usernames and passwords. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nits from gcasto Created 7 years 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 | Annotate | Revision Log
OLDNEW
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 #include "chrome/browser/password_manager/password_manager.h" 5 #include "chrome/browser/password_manager/password_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/field_trial.h" 8 #include "base/metrics/field_trial.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return; 196 return;
197 } 197 }
198 198
199 // Bail if we're missing any of the necessary form components. 199 // Bail if we're missing any of the necessary form components.
200 if (!manager->HasValidPasswordForm()) { 200 if (!manager->HasValidPasswordForm()) {
201 RecordFailure(INVALID_FORM, form.origin.host()); 201 RecordFailure(INVALID_FORM, form.origin.host());
202 return; 202 return;
203 } 203 }
204 204
205 // Always save generated passwords, as the user expresses explicit intent for 205 // Always save generated passwords, as the user expresses explicit intent for
206 // Chrome to manage such passwords. For other passwords, respect the 206 // Chrome to manage such passwords.
207 // autocomplete attribute.
208 if (!manager->HasGeneratedPassword() && !form.password_autocomplete_set) {
209 RecordFailure(AUTOCOMPLETE_OFF, form.origin.host());
210 return;
211 }
212
213 PasswordForm provisionally_saved_form(form); 207 PasswordForm provisionally_saved_form(form);
214 provisionally_saved_form.ssl_valid = form.origin.SchemeIsSecure() && 208 provisionally_saved_form.ssl_valid = form.origin.SchemeIsSecure() &&
215 !delegate_->DidLastPageLoadEncounterSSLErrors(); 209 !delegate_->DidLastPageLoadEncounterSSLErrors();
216 provisionally_saved_form.preferred = true; 210 provisionally_saved_form.preferred = true;
217 PasswordFormManager::OtherPossibleUsernamesAction action = 211 PasswordFormManager::OtherPossibleUsernamesAction action =
218 PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES; 212 PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES;
219 if (OtherPossibleUsernamesEnabled()) 213 if (OtherPossibleUsernamesEnabled())
220 action = PasswordFormManager::ALLOW_OTHER_POSSIBLE_USERNAMES; 214 action = PasswordFormManager::ALLOW_OTHER_POSSIBLE_USERNAMES;
221 manager->ProvisionallySave(provisionally_saved_form, action); 215 manager->ProvisionallySave(provisionally_saved_form, action);
222 provisional_save_manager_.swap(manager); 216 provisional_save_manager_.swap(manager);
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 OnAutofillDataAvailable(preferred_match.username_value, 421 OnAutofillDataAvailable(preferred_match.username_value,
428 preferred_match.password_value)); 422 preferred_match.password_value));
429 break; 423 break;
430 } 424 }
431 425
432 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 426 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
433 ManagePasswordsBubbleUIController::FromWebContents(web_contents()); 427 ManagePasswordsBubbleUIController::FromWebContents(web_contents());
434 if (manage_passwords_bubble_ui_controller) 428 if (manage_passwords_bubble_ui_controller)
435 manage_passwords_bubble_ui_controller->OnPasswordAutofilled(best_matches); 429 manage_passwords_bubble_ui_controller->OnPasswordAutofilled(best_matches);
436 } 430 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_manager.h ('k') | chrome/browser/password_manager/password_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698