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

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

Issue 1031153002: [Credential Management] Smart lock save Credentials bubble should not always pop up. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chrome_password_manager_client.h" 5 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
6 6
7 #include "base/bind_helpers.h" 7 #include "base/bind_helpers.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/memory/singleton.h" 9 #include "base/memory/singleton.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 password_manager::switches::kEnableAutomaticPasswordSaving) && 107 password_manager::switches::kEnableAutomaticPasswordSaving) &&
108 chrome::VersionInfo::GetChannel() == 108 chrome::VersionInfo::GetChannel() ==
109 chrome::VersionInfo::CHANNEL_UNKNOWN; 109 chrome::VersionInfo::CHANNEL_UNKNOWN;
110 } 110 }
111 111
112 bool ChromePasswordManagerClient::IsPasswordManagerEnabledForCurrentPage() 112 bool ChromePasswordManagerClient::IsPasswordManagerEnabledForCurrentPage()
113 const { 113 const {
114 DCHECK(web_contents()); 114 DCHECK(web_contents());
115 content::NavigationEntry* entry = 115 content::NavigationEntry* entry =
116 web_contents()->GetController().GetLastCommittedEntry(); 116 web_contents()->GetController().GetLastCommittedEntry();
117 bool is_enabled;
vabr (Chromium) 2015/03/30 10:58:42 Please initialise to false (which seems to be a sa
melandory 2015/04/07 13:14:13 Done.
117 if (!entry) { 118 if (!entry) {
118 // TODO(gcasto): Determine if fix for crbug.com/388246 is relevant here. 119 // TODO(gcasto): Determine if fix for crbug.com/388246 is relevant here.
119 return true; 120 is_enabled = true;
121 } else if (IsURLPasswordWebsiteReauth(entry->GetURL())) {
122 // Disable the password manager for online password management.
123 is_enabled = false;
124 } else if (EnabledForSyncSignin()) {
125 is_enabled = true;
126 } else {
127 // Do not fill nor save password when a user is signing in for sync. This
128 // is because users need to remember their password if they are syncing as
129 // this is effectively their master password.
130 is_enabled = entry->GetURL().host() != chrome::kChromeUIChromeSigninHost;
120 } 131 }
121 132 if (IsLoggingActive()) {
122 // Disable the password manager for online password management. 133 password_manager::BrowserSavePasswordProgressLogger logger(this);
123 if (IsURLPasswordWebsiteReauth(entry->GetURL())) 134 logger.LogBoolean(Logger::STRING_CLIENT_CHECK_PRESENT, is_enabled);
vabr (Chromium) 2015/03/30 10:58:42 nit: The Logger's enum name seems a bit outdated.
melandory 2015/04/07 13:14:12 Done.
124 return false; 135 }
125 136 return is_enabled;
126 if (EnabledForSyncSignin())
127 return true;
128
129 // Do not fill nor save password when a user is signing in for sync. This
130 // is because users need to remember their password if they are syncing as
131 // this is effectively their master password.
132 return entry->GetURL().host() != chrome::kChromeUIChromeSigninHost;
133 } 137 }
134 138
135 bool ChromePasswordManagerClient::ShouldFilterAutofillResult( 139 bool ChromePasswordManagerClient::ShouldFilterAutofillResult(
136 const autofill::PasswordForm& form) { 140 const autofill::PasswordForm& form) {
137 if (!IsSyncAccountCredential(base::UTF16ToUTF8(form.username_value), 141 if (!IsSyncAccountCredential(base::UTF16ToUTF8(form.username_value),
138 form.signon_realm)) 142 form.signon_realm))
139 return false; 143 return false;
140 144
141 if (autofill_sync_state_ == DISALLOW_SYNC_CREDENTIALS) { 145 if (autofill_sync_state_ == DISALLOW_SYNC_CREDENTIALS) {
142 sync_credential_was_filtered_ = true; 146 sync_credential_was_filtered_ = true;
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 logger->LogNumber(Logger::STRING_HTTP_STATUS_CODE, http_status_code); 344 logger->LogNumber(Logger::STRING_HTTP_STATUS_CODE, http_status_code);
341 345
342 if (http_status_code >= 400 && http_status_code < 600) 346 if (http_status_code >= 400 && http_status_code < 600)
343 return true; 347 return true;
344 return false; 348 return false;
345 } 349 }
346 350
347 bool ChromePasswordManagerClient::DidLastPageLoadEncounterSSLErrors() const { 351 bool ChromePasswordManagerClient::DidLastPageLoadEncounterSSLErrors() const {
348 content::NavigationEntry* entry = 352 content::NavigationEntry* entry =
349 web_contents()->GetController().GetLastCommittedEntry(); 353 web_contents()->GetController().GetLastCommittedEntry();
350 if (!entry) 354 bool ssl_errors;
vabr (Chromium) 2015/03/30 10:58:42 Please initialise to true (which seems to be a saf
melandory 2015/04/07 13:14:12 Done.
351 return false; 355 if (!entry) {
352 356 ssl_errors = false;
353 return net::IsCertStatusError(entry->GetSSL().cert_status); 357 } else {
358 ssl_errors = net::IsCertStatusError(entry->GetSSL().cert_status);
359 }
360 if (IsLoggingActive()) {
361 password_manager::BrowserSavePasswordProgressLogger logger(this);
362 logger.LogBoolean(Logger::STRING_SSL_ERRORS_PRESENT, ssl_errors);
363 }
364 return ssl_errors;
354 } 365 }
355 366
356 bool ChromePasswordManagerClient::IsOffTheRecord() const { 367 bool ChromePasswordManagerClient::IsOffTheRecord() const {
357 return web_contents()->GetBrowserContext()->IsOffTheRecord(); 368 return web_contents()->GetBrowserContext()->IsOffTheRecord();
358 } 369 }
359 370
360 password_manager::PasswordManager* 371 password_manager::PasswordManager*
361 ChromePasswordManagerClient::GetPasswordManager() { 372 ChromePasswordManagerClient::GetPasswordManager() {
362 return &password_manager_; 373 return &password_manager_;
363 } 374 }
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 autofill_sync_state_ = DISALLOW_SYNC_CREDENTIALS; 564 autofill_sync_state_ = DISALLOW_SYNC_CREDENTIALS;
554 } else { 565 } else {
555 // Allow by default. 566 // Allow by default.
556 autofill_sync_state_ = ALLOW_SYNC_CREDENTIALS; 567 autofill_sync_state_ = ALLOW_SYNC_CREDENTIALS;
557 } 568 }
558 } 569 }
559 570
560 const GURL& ChromePasswordManagerClient::GetMainFrameURL() const { 571 const GURL& ChromePasswordManagerClient::GetMainFrameURL() const {
561 return web_contents()->GetVisibleURL(); 572 return web_contents()->GetVisibleURL();
562 } 573 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698