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 <utility> | 7 #include <utility> |
8 | 8 |
9 #include "components/password_manager/core/browser/browser_save_password_progres
s_logger.h" | 9 #include "components/password_manager/core/browser/browser_save_password_progres
s_logger.h" |
10 #include "components/password_manager/core/browser/log_manager.h" | 10 #include "components/password_manager/core/browser/log_manager.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 std::vector<const typename Map::mapped_type::element_type*> | 33 std::vector<const typename Map::mapped_type::element_type*> |
34 ScopedPtrMapToVector(const Map& map) { | 34 ScopedPtrMapToVector(const Map& map) { |
35 std::vector<const typename Map::mapped_type::element_type*> ret; | 35 std::vector<const typename Map::mapped_type::element_type*> ret; |
36 ret.reserve(map.size()); | 36 ret.reserve(map.size()); |
37 for (const auto& form_pair : map) | 37 for (const auto& form_pair : map) |
38 ret.push_back(form_pair.second.get()); | 38 ret.push_back(form_pair.second.get()); |
39 return ret; | 39 return ret; |
40 } | 40 } |
41 | 41 |
42 void AddRawPtrFromOwningVector( | 42 void AddRawPtrFromOwningVector( |
43 const std::vector<scoped_ptr<autofill::PasswordForm>>& owning_vector, | 43 const std::vector<std::unique_ptr<autofill::PasswordForm>>& owning_vector, |
44 std::vector<const autofill::PasswordForm*>* destination) { | 44 std::vector<const autofill::PasswordForm*>* destination) { |
45 destination->reserve(destination->size() + owning_vector.size()); | 45 destination->reserve(destination->size() + owning_vector.size()); |
46 for (const auto& owning_ptr : owning_vector) { | 46 for (const auto& owning_ptr : owning_vector) { |
47 destination->push_back(owning_ptr.get()); | 47 destination->push_back(owning_ptr.get()); |
48 } | 48 } |
49 } | 49 } |
50 | 50 |
51 ScopedVector<const autofill::PasswordForm> DeepCopyMapToVector( | 51 ScopedVector<const autofill::PasswordForm> DeepCopyMapToVector( |
52 const PasswordFormMap& password_form_map) { | 52 const PasswordFormMap& password_form_map) { |
53 ScopedVector<const autofill::PasswordForm> ret; | 53 ScopedVector<const autofill::PasswordForm> ret; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 } // namespace | 98 } // namespace |
99 | 99 |
100 ManagePasswordsState::ManagePasswordsState() | 100 ManagePasswordsState::ManagePasswordsState() |
101 : state_(password_manager::ui::INACTIVE_STATE), | 101 : state_(password_manager::ui::INACTIVE_STATE), |
102 client_(nullptr) { | 102 client_(nullptr) { |
103 } | 103 } |
104 | 104 |
105 ManagePasswordsState::~ManagePasswordsState() {} | 105 ManagePasswordsState::~ManagePasswordsState() {} |
106 | 106 |
107 void ManagePasswordsState::OnPendingPassword( | 107 void ManagePasswordsState::OnPendingPassword( |
108 scoped_ptr<password_manager::PasswordFormManager> form_manager) { | 108 std::unique_ptr<password_manager::PasswordFormManager> form_manager) { |
109 ClearData(); | 109 ClearData(); |
110 form_manager_ = std::move(form_manager); | 110 form_manager_ = std::move(form_manager); |
111 current_forms_weak_ = ScopedPtrMapToVector(form_manager_->best_matches()); | 111 current_forms_weak_ = ScopedPtrMapToVector(form_manager_->best_matches()); |
112 AddRawPtrFromOwningVector(form_manager_->federated_matches(), | 112 AddRawPtrFromOwningVector(form_manager_->federated_matches(), |
113 ¤t_forms_weak_); | 113 ¤t_forms_weak_); |
114 origin_ = form_manager_->observed_form().origin; | 114 origin_ = form_manager_->observed_form().origin; |
115 SetState(password_manager::ui::PENDING_PASSWORD_STATE); | 115 SetState(password_manager::ui::PENDING_PASSWORD_STATE); |
116 } | 116 } |
117 | 117 |
118 void ManagePasswordsState::OnUpdatePassword( | 118 void ManagePasswordsState::OnUpdatePassword( |
119 scoped_ptr<password_manager::PasswordFormManager> form_manager) { | 119 std::unique_ptr<password_manager::PasswordFormManager> form_manager) { |
120 ClearData(); | 120 ClearData(); |
121 form_manager_ = std::move(form_manager); | 121 form_manager_ = std::move(form_manager); |
122 current_forms_weak_ = ScopedPtrMapToVector(form_manager_->best_matches()); | 122 current_forms_weak_ = ScopedPtrMapToVector(form_manager_->best_matches()); |
123 AddRawPtrFromOwningVector(form_manager_->federated_matches(), | 123 AddRawPtrFromOwningVector(form_manager_->federated_matches(), |
124 ¤t_forms_weak_); | 124 ¤t_forms_weak_); |
125 origin_ = form_manager_->observed_form().origin; | 125 origin_ = form_manager_->observed_form().origin; |
126 SetState(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); | 126 SetState(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); |
127 } | 127 } |
128 | 128 |
129 void ManagePasswordsState::OnRequestCredentials( | 129 void ManagePasswordsState::OnRequestCredentials( |
(...skipping 10 matching lines...) Expand all Loading... |
140 void ManagePasswordsState::OnAutoSignin( | 140 void ManagePasswordsState::OnAutoSignin( |
141 ScopedVector<autofill::PasswordForm> local_forms, const GURL& origin) { | 141 ScopedVector<autofill::PasswordForm> local_forms, const GURL& origin) { |
142 DCHECK(!local_forms.empty()); | 142 DCHECK(!local_forms.empty()); |
143 ClearData(); | 143 ClearData(); |
144 local_credentials_forms_ = ConstifyVector(&local_forms); | 144 local_credentials_forms_ = ConstifyVector(&local_forms); |
145 origin_ = origin; | 145 origin_ = origin; |
146 SetState(password_manager::ui::AUTO_SIGNIN_STATE); | 146 SetState(password_manager::ui::AUTO_SIGNIN_STATE); |
147 } | 147 } |
148 | 148 |
149 void ManagePasswordsState::OnAutomaticPasswordSave( | 149 void ManagePasswordsState::OnAutomaticPasswordSave( |
150 scoped_ptr<PasswordFormManager> form_manager) { | 150 std::unique_ptr<PasswordFormManager> form_manager) { |
151 ClearData(); | 151 ClearData(); |
152 form_manager_ = std::move(form_manager); | 152 form_manager_ = std::move(form_manager); |
153 autofill::ConstPasswordFormMap current_forms; | 153 autofill::ConstPasswordFormMap current_forms; |
154 for (const auto& match : form_manager_->best_matches()) { | 154 for (const auto& match : form_manager_->best_matches()) { |
155 current_forms.insert(std::make_pair(match.first, match.second.get())); | 155 current_forms.insert(std::make_pair(match.first, match.second.get())); |
156 } | 156 } |
157 current_forms[form_manager_->pending_credentials().username_value] = | 157 current_forms[form_manager_->pending_credentials().username_value] = |
158 &form_manager_->pending_credentials(); | 158 &form_manager_->pending_credentials(); |
159 current_forms_weak_ = MapToVector(current_forms); | 159 current_forms_weak_ = MapToVector(current_forms); |
160 AddRawPtrFromOwningVector(form_manager_->federated_matches(), | 160 AddRawPtrFromOwningVector(form_manager_->federated_matches(), |
161 ¤t_forms_weak_); | 161 ¤t_forms_weak_); |
162 origin_ = form_manager_->observed_form().origin; | 162 origin_ = form_manager_->observed_form().origin; |
163 SetState(password_manager::ui::CONFIRMATION_STATE); | 163 SetState(password_manager::ui::CONFIRMATION_STATE); |
164 } | 164 } |
165 | 165 |
166 void ManagePasswordsState::OnPasswordAutofilled( | 166 void ManagePasswordsState::OnPasswordAutofilled( |
167 const PasswordFormMap& password_form_map, | 167 const PasswordFormMap& password_form_map, |
168 const GURL& origin, | 168 const GURL& origin, |
169 const std::vector<scoped_ptr<autofill::PasswordForm>>* federated_matches) { | 169 const std::vector<std::unique_ptr<autofill::PasswordForm>>* |
| 170 federated_matches) { |
170 DCHECK(!password_form_map.empty()); | 171 DCHECK(!password_form_map.empty()); |
171 ClearData(); | 172 ClearData(); |
172 bool only_PSL_matches = | 173 bool only_PSL_matches = |
173 find_if(password_form_map.begin(), password_form_map.end(), | 174 find_if(password_form_map.begin(), password_form_map.end(), |
174 [](const std::pair<const base::string16, | 175 [](const std::pair<const base::string16, |
175 scoped_ptr<autofill::PasswordForm>>& p) { | 176 std::unique_ptr<autofill::PasswordForm>>& p) { |
176 return !p.second->is_public_suffix_match; | 177 return !p.second->is_public_suffix_match; |
177 }) == password_form_map.end(); | 178 }) == password_form_map.end(); |
178 if (only_PSL_matches) { | 179 if (only_PSL_matches) { |
179 // Don't show the UI for PSL matched passwords. They are not stored for this | 180 // Don't show the UI for PSL matched passwords. They are not stored for this |
180 // page and cannot be deleted. | 181 // page and cannot be deleted. |
181 origin_ = GURL(); | 182 origin_ = GURL(); |
182 SetState(password_manager::ui::INACTIVE_STATE); | 183 SetState(password_manager::ui::INACTIVE_STATE); |
183 } else { | 184 } else { |
184 local_credentials_forms_ = DeepCopyMapToVector(password_form_map); | 185 local_credentials_forms_ = DeepCopyMapToVector(password_form_map); |
185 if (federated_matches) { | 186 if (federated_matches) { |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 DCHECK(client_); | 299 DCHECK(client_); |
299 if (client_->GetLogManager()->IsLoggingActive()) { | 300 if (client_->GetLogManager()->IsLoggingActive()) { |
300 password_manager::BrowserSavePasswordProgressLogger logger( | 301 password_manager::BrowserSavePasswordProgressLogger logger( |
301 client_->GetLogManager()); | 302 client_->GetLogManager()); |
302 logger.LogNumber( | 303 logger.LogNumber( |
303 autofill::SavePasswordProgressLogger::STRING_NEW_UI_STATE, | 304 autofill::SavePasswordProgressLogger::STRING_NEW_UI_STATE, |
304 state); | 305 state); |
305 } | 306 } |
306 state_ = state; | 307 state_ = state; |
307 } | 308 } |
OLD | NEW |