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

Unified Diff: components/password_manager/core/browser/password_manager.cc

Issue 2740523002: [Password Manager] Fix saving for accounts.google.com. (Closed)
Patch Set: Small coments fixes Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: components/password_manager/core/browser/password_manager.cc
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
index ce5635758cd59f5d43daae93e1c2dd41d8394027..fdac87144ecb0e2c901d16b776bb0fc0ffa9c41a 100644
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -252,7 +252,9 @@ void PasswordManager::SaveGenerationFieldDetectedByClassifier(
form_manager->SaveGenerationFieldDetectedByClassifier(generation_field);
}
-void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
+void PasswordManager::ProvisionallySavePassword(
+ const PasswordForm& form,
+ const password_manager::PasswordManagerDriver* driver) {
bool is_saving_and_filling_enabled =
client_->IsSavingAndFillingEnabledForCurrentPage();
@@ -295,7 +297,8 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
// instances for UMA.
for (auto iter = pending_login_managers_.begin();
iter != pending_login_managers_.end(); ++iter) {
- PasswordFormManager::MatchResultMask result = (*iter)->DoesManage(form);
+ PasswordFormManager::MatchResultMask result =
+ (*iter)->DoesManage(form, driver);
if (result == PasswordFormManager::RESULT_NO_MATCH)
continue;
@@ -457,7 +460,7 @@ void PasswordManager::DidNavigateMainFrame() {
void PasswordManager::OnPasswordFormSubmitted(
password_manager::PasswordManagerDriver* driver,
const PasswordForm& password_form) {
- ProvisionallySavePassword(password_form);
+ ProvisionallySavePassword(password_form, driver);
for (size_t i = 0; i < submission_callbacks_.size(); ++i) {
submission_callbacks_[i].Run(password_form);
}
@@ -471,7 +474,7 @@ void PasswordManager::OnPasswordFormForceSaveRequested(
// TODO(msramek): This is just a sketch. We will need to show a custom bubble,
// mark the form as force saved, and recreate the pending login managers,
// because the password store might have changed.
- ProvisionallySavePassword(password_form);
+ ProvisionallySavePassword(password_form, driver);
if (provisional_save_manager_)
OnLoginSuccessful();
}
@@ -512,7 +515,7 @@ void PasswordManager::CreatePendingLoginManagers(
continue;
bool old_manager_found = false;
for (const auto& old_manager : pending_login_managers_) {
- if (old_manager->DoesManage(*iter) !=
+ if (old_manager->DoesManage(*iter, driver) !=
PasswordFormManager::RESULT_COMPLETE_MATCH) {
continue;
}
@@ -690,7 +693,7 @@ void PasswordManager::OnInPageNavigation(
logger->LogMessage(Logger::STRING_ON_IN_PAGE_NAVIGATION);
}
- ProvisionallySavePassword(password_form);
+ ProvisionallySavePassword(password_form, driver);
if (!CanProvisionalManagerSave())
return;
@@ -887,7 +890,7 @@ PasswordFormManager* PasswordManager::GetMatchingPendingManager(
for (auto& login_manager : pending_login_managers_) {
PasswordFormManager::MatchResultMask result =
- login_manager->DoesManage(form);
+ login_manager->DoesManage(form, nullptr);
if (result == PasswordFormManager::RESULT_NO_MATCH)
continue;

Powered by Google App Engine
This is Rietveld 408576698