| 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 |