OLD | NEW |
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 Loading... |
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 scoped_refptr<password_manager::PasswordFormManager> form_manager) { | 83 std::unique_ptr<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 scoped_refptr<password_manager::PasswordFormManager> form_manager) { | 95 std::unique_ptr<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 Loading... |
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 scoped_refptr<PasswordFormManager> form_manager) { | 126 std::unique_ptr<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 Loading... |
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_ = nullptr; | 225 form_manager_.reset(); |
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 Loading... |
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 } |
OLD | NEW |