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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_state.cc

Issue 2900693002: [Password Manager] Convert |pending_login_managers_| to an array of scoped_refptr (Closed)
Patch Set: Rebase Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ui/passwords/manage_passwords_state.h" 5 #include "chrome/browser/ui/passwords/manage_passwords_state.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 } // namespace 73 } // namespace
74 74
75 ManagePasswordsState::ManagePasswordsState() 75 ManagePasswordsState::ManagePasswordsState()
76 : state_(password_manager::ui::INACTIVE_STATE), 76 : state_(password_manager::ui::INACTIVE_STATE),
77 client_(nullptr) { 77 client_(nullptr) {
78 } 78 }
79 79
80 ManagePasswordsState::~ManagePasswordsState() {} 80 ManagePasswordsState::~ManagePasswordsState() {}
81 81
82 void ManagePasswordsState::OnPendingPassword( 82 void ManagePasswordsState::OnPendingPassword(
83 std::unique_ptr<password_manager::PasswordFormManager> form_manager) { 83 scoped_refptr<password_manager::PasswordFormManager> form_manager) {
84 ClearData(); 84 ClearData();
85 form_manager_ = std::move(form_manager); 85 form_manager_ = std::move(form_manager);
86 local_credentials_forms_ = 86 local_credentials_forms_ =
87 DeepCopyNonPSLMapToVector(form_manager_->best_matches()); 87 DeepCopyNonPSLMapToVector(form_manager_->best_matches());
88 AppendDeepCopyVector(form_manager_->form_fetcher()->GetFederatedMatches(), 88 AppendDeepCopyVector(form_manager_->form_fetcher()->GetFederatedMatches(),
89 &local_credentials_forms_); 89 &local_credentials_forms_);
90 origin_ = form_manager_->observed_form().origin; 90 origin_ = form_manager_->observed_form().origin;
91 SetState(password_manager::ui::PENDING_PASSWORD_STATE); 91 SetState(password_manager::ui::PENDING_PASSWORD_STATE);
92 } 92 }
93 93
94 void ManagePasswordsState::OnUpdatePassword( 94 void ManagePasswordsState::OnUpdatePassword(
95 std::unique_ptr<password_manager::PasswordFormManager> form_manager) { 95 scoped_refptr<password_manager::PasswordFormManager> form_manager) {
96 ClearData(); 96 ClearData();
97 form_manager_ = std::move(form_manager); 97 form_manager_ = std::move(form_manager);
98 local_credentials_forms_ = 98 local_credentials_forms_ =
99 DeepCopyNonPSLMapToVector(form_manager_->best_matches()); 99 DeepCopyNonPSLMapToVector(form_manager_->best_matches());
100 AppendDeepCopyVector(form_manager_->form_fetcher()->GetFederatedMatches(), 100 AppendDeepCopyVector(form_manager_->form_fetcher()->GetFederatedMatches(),
101 &local_credentials_forms_); 101 &local_credentials_forms_);
102 origin_ = form_manager_->observed_form().origin; 102 origin_ = form_manager_->observed_form().origin;
103 SetState(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 103 SetState(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
104 } 104 }
105 105
(...skipping 10 matching lines...) Expand all
116 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms, 116 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms,
117 const GURL& origin) { 117 const GURL& origin) {
118 DCHECK(!local_forms.empty()); 118 DCHECK(!local_forms.empty());
119 ClearData(); 119 ClearData();
120 local_credentials_forms_ = std::move(local_forms); 120 local_credentials_forms_ = std::move(local_forms);
121 origin_ = origin; 121 origin_ = origin;
122 SetState(password_manager::ui::AUTO_SIGNIN_STATE); 122 SetState(password_manager::ui::AUTO_SIGNIN_STATE);
123 } 123 }
124 124
125 void ManagePasswordsState::OnAutomaticPasswordSave( 125 void ManagePasswordsState::OnAutomaticPasswordSave(
126 std::unique_ptr<PasswordFormManager> form_manager) { 126 scoped_refptr<PasswordFormManager> form_manager) {
127 ClearData(); 127 ClearData();
128 form_manager_ = std::move(form_manager); 128 form_manager_ = std::move(form_manager);
129 local_credentials_forms_.reserve(form_manager_->best_matches().size()); 129 local_credentials_forms_.reserve(form_manager_->best_matches().size());
130 bool updated = false; 130 bool updated = false;
131 for (const auto& form : form_manager_->best_matches()) { 131 for (const auto& form : form_manager_->best_matches()) {
132 if (form.second->is_public_suffix_match) 132 if (form.second->is_public_suffix_match)
133 continue; 133 continue;
134 if (form_manager_->pending_credentials().username_value == form.first) { 134 if (form_manager_->pending_credentials().username_value == form.first) {
135 local_credentials_forms_.push_back( 135 local_credentials_forms_.push_back(
136 base::MakeUnique<autofill::PasswordForm>( 136 base::MakeUnique<autofill::PasswordForm>(
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 void ManagePasswordsState::ChooseCredential( 215 void ManagePasswordsState::ChooseCredential(
216 const autofill::PasswordForm* form) { 216 const autofill::PasswordForm* form) {
217 DCHECK_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, state()); 217 DCHECK_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, state());
218 DCHECK(!credentials_callback().is_null()); 218 DCHECK(!credentials_callback().is_null());
219 219
220 credentials_callback().Run(form); 220 credentials_callback().Run(form);
221 set_credentials_callback(ManagePasswordsState::CredentialsCallback()); 221 set_credentials_callback(ManagePasswordsState::CredentialsCallback());
222 } 222 }
223 223
224 void ManagePasswordsState::ClearData() { 224 void ManagePasswordsState::ClearData() {
225 form_manager_.reset(); 225 form_manager_ = nullptr;
226 local_credentials_forms_.clear(); 226 local_credentials_forms_.clear();
227 credentials_callback_.Reset(); 227 credentials_callback_.Reset();
228 } 228 }
229 229
230 void ManagePasswordsState::AddForm(const autofill::PasswordForm& form) { 230 void ManagePasswordsState::AddForm(const autofill::PasswordForm& form) {
231 if (form.origin != origin_) 231 if (form.origin != origin_)
232 return; 232 return;
233 if (UpdateForm(form)) 233 if (UpdateForm(form))
234 return; 234 return;
235 local_credentials_forms_.push_back( 235 local_credentials_forms_.push_back(
(...skipping 12 matching lines...) Expand all
248 DCHECK(client_); 248 DCHECK(client_);
249 if (client_->GetLogManager()->IsLoggingActive()) { 249 if (client_->GetLogManager()->IsLoggingActive()) {
250 password_manager::BrowserSavePasswordProgressLogger logger( 250 password_manager::BrowserSavePasswordProgressLogger logger(
251 client_->GetLogManager()); 251 client_->GetLogManager());
252 logger.LogNumber( 252 logger.LogNumber(
253 autofill::SavePasswordProgressLogger::STRING_NEW_UI_STATE, 253 autofill::SavePasswordProgressLogger::STRING_NEW_UI_STATE,
254 state); 254 state);
255 } 255 }
256 state_ = state; 256 state_ = state;
257 } 257 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/passwords/manage_passwords_state.h ('k') | chrome/browser/ui/passwords/manage_passwords_state_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698