Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller.cc

Issue 2262843002: Make PasswordFormManager::best_matches_ const (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@621355_pass_creds_to_update_by_value
Patch Set: Just rebased Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 14 matching lines...) Expand all
25 #include "chrome/grit/generated_resources.h" 25 #include "chrome/grit/generated_resources.h"
26 #include "components/password_manager/core/browser/browser_save_password_progres s_logger.h" 26 #include "components/password_manager/core/browser/browser_save_password_progres s_logger.h"
27 #include "components/password_manager/core/browser/password_bubble_experiment.h" 27 #include "components/password_manager/core/browser/password_bubble_experiment.h"
28 #include "components/password_manager/core/browser/password_form_manager.h" 28 #include "components/password_manager/core/browser/password_form_manager.h"
29 #include "components/password_manager/core/browser/password_manager_constants.h" 29 #include "components/password_manager/core/browser/password_manager_constants.h"
30 #include "components/password_manager/core/browser/statistics_table.h" 30 #include "components/password_manager/core/browser/statistics_table.h"
31 #include "components/password_manager/core/common/credential_manager_types.h" 31 #include "components/password_manager/core/common/credential_manager_types.h"
32 #include "content/public/browser/navigation_details.h" 32 #include "content/public/browser/navigation_details.h"
33 #include "ui/base/l10n/l10n_util.h" 33 #include "ui/base/l10n/l10n_util.h"
34 34
35 using autofill::PasswordFormMap;
36 using password_manager::PasswordFormManager; 35 using password_manager::PasswordFormManager;
37 36
38 namespace { 37 namespace {
39 38
40 password_manager::PasswordStore* GetPasswordStore( 39 password_manager::PasswordStore* GetPasswordStore(
41 content::WebContents* web_contents) { 40 content::WebContents* web_contents) {
42 return PasswordStoreFactory::GetForProfile( 41 return PasswordStoreFactory::GetForProfile(
43 Profile::FromBrowserContext(web_contents->GetBrowserContext()), 42 Profile::FromBrowserContext(web_contents->GetBrowserContext()),
44 ServiceAccessType::EXPLICIT_ACCESS).get(); 43 ServiceAccessType::EXPLICIT_ACCESS).get();
45 } 44 }
(...skipping 24 matching lines...) Expand all
70 } 69 }
71 70
72 ManagePasswordsUIController::~ManagePasswordsUIController() {} 71 ManagePasswordsUIController::~ManagePasswordsUIController() {}
73 72
74 void ManagePasswordsUIController::OnPasswordSubmitted( 73 void ManagePasswordsUIController::OnPasswordSubmitted(
75 std::unique_ptr<PasswordFormManager> form_manager) { 74 std::unique_ptr<PasswordFormManager> form_manager) {
76 bool show_bubble = !form_manager->IsBlacklisted(); 75 bool show_bubble = !form_manager->IsBlacklisted();
77 DestroyAccountChooser(); 76 DestroyAccountChooser();
78 passwords_data_.OnPendingPassword(std::move(form_manager)); 77 passwords_data_.OnPendingPassword(std::move(form_manager));
79 if (show_bubble) { 78 if (show_bubble) {
80 password_manager::InteractionsStats* stats = GetCurrentInteractionStats(); 79 const password_manager::InteractionsStats* stats =
80 GetCurrentInteractionStats();
81 const int show_threshold = 81 const int show_threshold =
82 password_bubble_experiment::GetSmartBubbleDismissalThreshold(); 82 password_bubble_experiment::GetSmartBubbleDismissalThreshold();
83 if (stats && show_threshold > 0 && stats->dismissal_count >= show_threshold) 83 if (stats && show_threshold > 0 && stats->dismissal_count >= show_threshold)
84 show_bubble = false; 84 show_bubble = false;
85 } 85 }
86 if (show_bubble) 86 if (show_bubble)
87 bubble_status_ = SHOULD_POP_UP; 87 bubble_status_ = SHOULD_POP_UP;
88 UpdateBubbleAndIconVisibility(); 88 UpdateBubbleAndIconVisibility();
89 } 89 }
90 90
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 142
143 void ManagePasswordsUIController::OnAutomaticPasswordSave( 143 void ManagePasswordsUIController::OnAutomaticPasswordSave(
144 std::unique_ptr<PasswordFormManager> form_manager) { 144 std::unique_ptr<PasswordFormManager> form_manager) {
145 DestroyAccountChooser(); 145 DestroyAccountChooser();
146 passwords_data_.OnAutomaticPasswordSave(std::move(form_manager)); 146 passwords_data_.OnAutomaticPasswordSave(std::move(form_manager));
147 bubble_status_ = SHOULD_POP_UP; 147 bubble_status_ = SHOULD_POP_UP;
148 UpdateBubbleAndIconVisibility(); 148 UpdateBubbleAndIconVisibility();
149 } 149 }
150 150
151 void ManagePasswordsUIController::OnPasswordAutofilled( 151 void ManagePasswordsUIController::OnPasswordAutofilled(
152 const autofill::PasswordFormMap& password_form_map, 152 const std::map<base::string16, const autofill::PasswordForm*>&
153 password_form_map,
153 const GURL& origin, 154 const GURL& origin,
154 const std::vector<std::unique_ptr<autofill::PasswordForm>>* 155 const std::vector<const autofill::PasswordForm*>* federated_matches) {
155 federated_matches) {
156 // To change to managed state only when the managed state is more important 156 // To change to managed state only when the managed state is more important
157 // for the user that the current state. 157 // for the user that the current state.
158 if (passwords_data_.state() == password_manager::ui::INACTIVE_STATE || 158 if (passwords_data_.state() == password_manager::ui::INACTIVE_STATE ||
159 passwords_data_.state() == password_manager::ui::MANAGE_STATE) { 159 passwords_data_.state() == password_manager::ui::MANAGE_STATE) {
160 passwords_data_.OnPasswordAutofilled(password_form_map, origin, 160 passwords_data_.OnPasswordAutofilled(password_form_map, origin,
161 federated_matches); 161 federated_matches);
162 UpdateBubbleAndIconVisibility(); 162 UpdateBubbleAndIconVisibility();
163 } 163 }
164 } 164 }
165 165
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 const std::vector<std::unique_ptr<autofill::PasswordForm>>& 234 const std::vector<std::unique_ptr<autofill::PasswordForm>>&
235 ManagePasswordsUIController::GetCurrentForms() const { 235 ManagePasswordsUIController::GetCurrentForms() const {
236 return passwords_data_.GetCurrentForms(); 236 return passwords_data_.GetCurrentForms();
237 } 237 }
238 238
239 const std::vector<std::unique_ptr<autofill::PasswordForm>>& 239 const std::vector<std::unique_ptr<autofill::PasswordForm>>&
240 ManagePasswordsUIController::GetFederatedForms() const { 240 ManagePasswordsUIController::GetFederatedForms() const {
241 return passwords_data_.federation_providers_forms(); 241 return passwords_data_.federation_providers_forms();
242 } 242 }
243 243
244 password_manager::InteractionsStats* 244 const password_manager::InteractionsStats*
245 ManagePasswordsUIController::GetCurrentInteractionStats() const { 245 ManagePasswordsUIController::GetCurrentInteractionStats() const {
246 DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, GetState()); 246 DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, GetState());
247 password_manager::PasswordFormManager* form_manager = 247 password_manager::PasswordFormManager* form_manager =
248 passwords_data_.form_manager(); 248 passwords_data_.form_manager();
249 return password_manager::FindStatsByUsername( 249 return password_manager::FindStatsByUsername(
250 form_manager->interactions_stats(), 250 form_manager->interactions_stats(),
251 form_manager->pending_credentials().username_value); 251 form_manager->pending_credentials().username_value);
252 } 252 }
253 253
254 void ManagePasswordsUIController::OnBubbleShown() { 254 void ManagePasswordsUIController::OnBubbleShown() {
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); 453 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE);
454 } 454 }
455 } 455 }
456 456
457 void ManagePasswordsUIController::WebContentsDestroyed() { 457 void ManagePasswordsUIController::WebContentsDestroyed() {
458 password_manager::PasswordStore* password_store = 458 password_manager::PasswordStore* password_store =
459 GetPasswordStore(web_contents()); 459 GetPasswordStore(web_contents());
460 if (password_store) 460 if (password_store)
461 password_store->RemoveObserver(this); 461 password_store->RemoveObserver(this);
462 } 462 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698