OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_bubble_model.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/password_manager/password_store_factory.h" | 9 #include "chrome/browser/password_manager/password_store_factory.h" |
10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 content::WebContents* web_contents) | 89 content::WebContents* web_contents) |
90 : content::WebContentsObserver(web_contents), | 90 : content::WebContentsObserver(web_contents), |
91 never_save_passwords_(false), | 91 never_save_passwords_(false), |
92 display_disposition_(metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING), | 92 display_disposition_(metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING), |
93 dismissal_reason_(metrics_util::NOT_DISPLAYED) { | 93 dismissal_reason_(metrics_util::NOT_DISPLAYED) { |
94 ManagePasswordsUIController* controller = | 94 ManagePasswordsUIController* controller = |
95 ManagePasswordsUIController::FromWebContents(web_contents); | 95 ManagePasswordsUIController::FromWebContents(web_contents); |
96 | 96 |
97 origin_ = controller->origin(); | 97 origin_ = controller->origin(); |
98 state_ = controller->state(); | 98 state_ = controller->state(); |
| 99 password_overridden_ = controller->PasswordOverridden(); |
99 if (state_ == password_manager::ui::PENDING_PASSWORD_STATE || | 100 if (state_ == password_manager::ui::PENDING_PASSWORD_STATE || |
100 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { | 101 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { |
101 pending_password_ = controller->PendingPassword(); | 102 pending_password_ = controller->PendingPassword(); |
102 local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 103 local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); |
103 } else if (state_ == password_manager::ui::CONFIRMATION_STATE) { | 104 } else if (state_ == password_manager::ui::CONFIRMATION_STATE) { |
104 // We don't need anything. | 105 // We don't need anything. |
105 } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 106 } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { |
106 local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 107 local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); |
107 federated_credentials_ = DeepCopyForms(controller->GetFederatedForms()); | 108 federated_credentials_ = DeepCopyForms(controller->GetFederatedForms()); |
108 } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { | 109 } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 return GetProfileFromWebContents(web_contents()); | 330 return GetProfileFromWebContents(web_contents()); |
330 } | 331 } |
331 | 332 |
332 bool ManagePasswordsBubbleModel::IsNewUIActive() const { | 333 bool ManagePasswordsBubbleModel::IsNewUIActive() const { |
333 return base::CommandLine::ForCurrentProcess()->HasSwitch( | 334 return base::CommandLine::ForCurrentProcess()->HasSwitch( |
334 switches::kEnableCredentialManagerAPI); | 335 switches::kEnableCredentialManagerAPI); |
335 } | 336 } |
336 | 337 |
337 bool ManagePasswordsBubbleModel::ShouldShowMultipleAccountUpdateUI() const { | 338 bool ManagePasswordsBubbleModel::ShouldShowMultipleAccountUpdateUI() const { |
338 return state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && | 339 return state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && |
339 local_credentials_.size() > 1; | 340 local_credentials_.size() > 1 && !password_overridden_; |
340 } | 341 } |
341 | 342 |
342 // static | 343 // static |
343 int ManagePasswordsBubbleModel::UsernameFieldWidth() { | 344 int ManagePasswordsBubbleModel::UsernameFieldWidth() { |
344 return GetFieldWidth(USERNAME_FIELD); | 345 return GetFieldWidth(USERNAME_FIELD); |
345 } | 346 } |
346 | 347 |
347 // static | 348 // static |
348 int ManagePasswordsBubbleModel::PasswordFieldWidth() { | 349 int ManagePasswordsBubbleModel::PasswordFieldWidth() { |
349 return GetFieldWidth(PASSWORD_FIELD); | 350 return GetFieldWidth(PASSWORD_FIELD); |
350 } | 351 } |
351 | 352 |
352 void ManagePasswordsBubbleModel::UpdatePendingStateTitle() { | 353 void ManagePasswordsBubbleModel::UpdatePendingStateTitle() { |
353 title_brand_link_range_ = gfx::Range(); | 354 title_brand_link_range_ = gfx::Range(); |
354 if (never_save_passwords_) { | 355 if (never_save_passwords_) { |
355 title_ = l10n_util::GetStringUTF16( | 356 title_ = l10n_util::GetStringUTF16( |
356 IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE); | 357 IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE); |
357 } else { | 358 } else { |
358 GetSavePasswordDialogTitleTextAndLinkRange( | 359 GetSavePasswordDialogTitleTextAndLinkRange( |
359 web_contents()->GetVisibleURL(), origin(), | 360 web_contents()->GetVisibleURL(), origin(), |
360 IsSmartLockBrandingEnabled(GetProfile()), | 361 IsSmartLockBrandingEnabled(GetProfile()), |
361 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, &title_, | 362 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, &title_, |
362 &title_brand_link_range_); | 363 &title_brand_link_range_); |
363 } | 364 } |
364 } | 365 } |
OLD | NEW |