| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_ui_controller.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 void ManagePasswordsUIController::OnUpdatePasswordSubmitted( | 89 void ManagePasswordsUIController::OnUpdatePasswordSubmitted( |
| 90 std::unique_ptr<PasswordFormManager> form_manager) { | 90 std::unique_ptr<PasswordFormManager> form_manager) { |
| 91 DestroyAccountChooser(); | 91 DestroyAccountChooser(); |
| 92 passwords_data_.OnUpdatePassword(std::move(form_manager)); | 92 passwords_data_.OnUpdatePassword(std::move(form_manager)); |
| 93 bubble_status_ = SHOULD_POP_UP; | 93 bubble_status_ = SHOULD_POP_UP; |
| 94 UpdateBubbleAndIconVisibility(); | 94 UpdateBubbleAndIconVisibility(); |
| 95 } | 95 } |
| 96 | 96 |
| 97 bool ManagePasswordsUIController::OnChooseCredentials( | 97 bool ManagePasswordsUIController::OnChooseCredentials( |
| 98 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, | 98 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, |
| 99 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials, | |
| 100 const GURL& origin, | 99 const GURL& origin, |
| 101 const ManagePasswordsState::CredentialsCallback& callback) { | 100 const ManagePasswordsState::CredentialsCallback& callback) { |
| 102 DCHECK(!local_credentials.empty()); | 101 DCHECK(!local_credentials.empty()); |
| 103 if (!HasBrowserWindow()) | 102 if (!HasBrowserWindow()) |
| 104 return false; | 103 return false; |
| 105 // If |local_credentials| contains PSL matches they shouldn't be propagated to | 104 // If |local_credentials| contains PSL matches they shouldn't be propagated to |
| 106 // the state because PSL matches aren't saved for current page. This logic is | 105 // the state because PSL matches aren't saved for current page. This logic is |
| 107 // implemented here because Android uses ManagePasswordsState as a data source | 106 // implemented here because Android uses ManagePasswordsState as a data source |
| 108 // for account chooser. | 107 // for account chooser. |
| 109 PasswordDialogController::FormsVector locals; | 108 PasswordDialogController::FormsVector locals; |
| 110 if (!local_credentials[0]->is_public_suffix_match) | 109 if (!local_credentials[0]->is_public_suffix_match) |
| 111 locals = CopyFormVector(local_credentials); | 110 locals = CopyFormVector(local_credentials); |
| 112 PasswordDialogController::FormsVector federations = | 111 passwords_data_.OnRequestCredentials(std::move(locals), origin); |
| 113 CopyFormVector(federated_credentials); | |
| 114 passwords_data_.OnRequestCredentials( | |
| 115 std::move(locals), std::move(federations), origin); | |
| 116 passwords_data_.set_credentials_callback(callback); | 112 passwords_data_.set_credentials_callback(callback); |
| 117 dialog_controller_.reset(new PasswordDialogControllerImpl( | 113 dialog_controller_.reset(new PasswordDialogControllerImpl( |
| 118 Profile::FromBrowserContext(web_contents()->GetBrowserContext()), | 114 Profile::FromBrowserContext(web_contents()->GetBrowserContext()), |
| 119 this)); | 115 this)); |
| 120 dialog_controller_->ShowAccountChooser( | 116 dialog_controller_->ShowAccountChooser( |
| 121 CreateAccountChooser(dialog_controller_.get()), | 117 CreateAccountChooser(dialog_controller_.get()), |
| 122 std::move(local_credentials), std::move(federated_credentials)); | 118 std::move(local_credentials)); |
| 123 UpdateBubbleAndIconVisibility(); | 119 UpdateBubbleAndIconVisibility(); |
| 124 return true; | 120 return true; |
| 125 } | 121 } |
| 126 | 122 |
| 127 void ManagePasswordsUIController::OnAutoSignin( | 123 void ManagePasswordsUIController::OnAutoSignin( |
| 128 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms, | 124 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms, |
| 129 const GURL& origin) { | 125 const GURL& origin) { |
| 130 DCHECK(!local_forms.empty()); | 126 DCHECK(!local_forms.empty()); |
| 131 DestroyAccountChooser(); | 127 DestroyAccountChooser(); |
| 132 passwords_data_.OnAutoSignin(std::move(local_forms), origin); | 128 passwords_data_.OnAutoSignin(std::move(local_forms), origin); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 const password_manager::PasswordFormManager* form_manager = | 230 const password_manager::PasswordFormManager* form_manager = |
| 235 passwords_data_.form_manager(); | 231 passwords_data_.form_manager(); |
| 236 return form_manager ? form_manager->password_overridden() : false; | 232 return form_manager ? form_manager->password_overridden() : false; |
| 237 } | 233 } |
| 238 | 234 |
| 239 const std::vector<std::unique_ptr<autofill::PasswordForm>>& | 235 const std::vector<std::unique_ptr<autofill::PasswordForm>>& |
| 240 ManagePasswordsUIController::GetCurrentForms() const { | 236 ManagePasswordsUIController::GetCurrentForms() const { |
| 241 return passwords_data_.GetCurrentForms(); | 237 return passwords_data_.GetCurrentForms(); |
| 242 } | 238 } |
| 243 | 239 |
| 244 const std::vector<std::unique_ptr<autofill::PasswordForm>>& | |
| 245 ManagePasswordsUIController::GetFederatedForms() const { | |
| 246 return passwords_data_.federation_providers_forms(); | |
| 247 } | |
| 248 | |
| 249 const password_manager::InteractionsStats* | 240 const password_manager::InteractionsStats* |
| 250 ManagePasswordsUIController::GetCurrentInteractionStats() const { | 241 ManagePasswordsUIController::GetCurrentInteractionStats() const { |
| 251 DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, GetState()); | 242 DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, GetState()); |
| 252 password_manager::PasswordFormManager* form_manager = | 243 password_manager::PasswordFormManager* form_manager = |
| 253 passwords_data_.form_manager(); | 244 passwords_data_.form_manager(); |
| 254 return password_manager::FindStatsByUsername( | 245 return password_manager::FindStatsByUsername( |
| 255 form_manager->form_fetcher()->GetInteractionsStats(), | 246 form_manager->form_fetcher()->GetInteractionsStats(), |
| 256 form_manager->pending_credentials().username_value); | 247 form_manager->pending_credentials().username_value); |
| 257 } | 248 } |
| 258 | 249 |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 453 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
| 463 } | 454 } |
| 464 } | 455 } |
| 465 | 456 |
| 466 void ManagePasswordsUIController::WebContentsDestroyed() { | 457 void ManagePasswordsUIController::WebContentsDestroyed() { |
| 467 password_manager::PasswordStore* password_store = | 458 password_manager::PasswordStore* password_store = |
| 468 GetPasswordStore(web_contents()); | 459 GetPasswordStore(web_contents()); |
| 469 if (password_store) | 460 if (password_store) |
| 470 password_store->RemoveObserver(this); | 461 password_store->RemoveObserver(this); |
| 471 } | 462 } |
| OLD | NEW |