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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 } | 87 } |
88 | 88 |
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 void ManagePasswordsUIController::OnShowManualFallbackForSaving( |
| 98 std::unique_ptr<PasswordFormManager> form_manager, |
| 99 bool has_generated_password, |
| 100 bool is_update) { |
| 101 DestroyAccountChooser(); |
| 102 if (has_generated_password) |
| 103 passwords_data_.OnAutomaticPasswordSave(std::move(form_manager)); |
| 104 else if (is_update) |
| 105 passwords_data_.OnUpdatePassword(std::move(form_manager)); |
| 106 else |
| 107 passwords_data_.OnPendingPassword(std::move(form_manager)); |
| 108 UpdateBubbleAndIconVisibility(); |
| 109 } |
| 110 |
| 111 void ManagePasswordsUIController::OnHideManualFallbackForSaving() { |
| 112 if (passwords_data_.state() != password_manager::ui::PENDING_PASSWORD_STATE && |
| 113 passwords_data_.state() != |
| 114 password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && |
| 115 passwords_data_.state() != password_manager::ui::CONFIRMATION_STATE) { |
| 116 return; |
| 117 } |
| 118 |
| 119 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
| 120 UpdateBubbleAndIconVisibility(); |
| 121 } |
| 122 |
97 bool ManagePasswordsUIController::OnChooseCredentials( | 123 bool ManagePasswordsUIController::OnChooseCredentials( |
98 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, | 124 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, |
99 const GURL& origin, | 125 const GURL& origin, |
100 const ManagePasswordsState::CredentialsCallback& callback) { | 126 const ManagePasswordsState::CredentialsCallback& callback) { |
101 DCHECK(!local_credentials.empty()); | 127 DCHECK(!local_credentials.empty()); |
102 if (!HasBrowserWindow()) | 128 if (!HasBrowserWindow()) |
103 return false; | 129 return false; |
104 // If |local_credentials| contains PSL matches they shouldn't be propagated to | 130 // If |local_credentials| contains PSL matches they shouldn't be propagated to |
105 // the state because PSL matches aren't saved for current page. This logic is | 131 // the state because PSL matches aren't saved for current page. This logic is |
106 // implemented here because Android uses ManagePasswordsState as a data source | 132 // implemented here because Android uses ManagePasswordsState as a data source |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 505 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
480 } | 506 } |
481 } | 507 } |
482 | 508 |
483 void ManagePasswordsUIController::WebContentsDestroyed() { | 509 void ManagePasswordsUIController::WebContentsDestroyed() { |
484 password_manager::PasswordStore* password_store = | 510 password_manager::PasswordStore* password_store = |
485 GetPasswordStore(web_contents()); | 511 GetPasswordStore(web_contents()); |
486 if (password_store) | 512 if (password_store) |
487 password_store->RemoveObserver(this); | 513 password_store->RemoveObserver(this); |
488 } | 514 } |
OLD | NEW |