| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "components/feedback/feedback_util.h" | 27 #include "components/feedback/feedback_util.h" |
| 28 #include "components/password_manager/core/browser/password_bubble_experiment.h" | 28 #include "components/password_manager/core/browser/password_bubble_experiment.h" |
| 29 #include "components/password_manager/core/browser/password_store.h" | 29 #include "components/password_manager/core/browser/password_store.h" |
| 30 #include "components/password_manager/core/common/credential_manager_types.h" | 30 #include "components/password_manager/core/common/credential_manager_types.h" |
| 31 #include "components/password_manager/core/common/password_manager_pref_names.h" | 31 #include "components/password_manager/core/common/password_manager_pref_names.h" |
| 32 #include "components/password_manager/core/common/password_manager_ui.h" | 32 #include "components/password_manager/core/common/password_manager_ui.h" |
| 33 #include "components/signin/core/browser/signin_manager.h" | 33 #include "components/signin/core/browser/signin_manager.h" |
| 34 #include "content/public/browser/browser_thread.h" | 34 #include "content/public/browser/browser_thread.h" |
| 35 #include "content/public/common/content_switches.h" | 35 #include "content/public/common/content_switches.h" |
| 36 #include "ui/base/l10n/l10n_util.h" | 36 #include "ui/base/l10n/l10n_util.h" |
| 37 #include "ui/base/resource/resource_bundle.h" | |
| 38 | 37 |
| 39 using autofill::PasswordFormMap; | 38 using autofill::PasswordFormMap; |
| 40 using feedback::FeedbackData; | 39 using feedback::FeedbackData; |
| 41 using content::WebContents; | 40 using content::WebContents; |
| 42 namespace metrics_util = password_manager::metrics_util; | 41 namespace metrics_util = password_manager::metrics_util; |
| 43 | 42 |
| 44 namespace { | 43 namespace { |
| 45 | 44 |
| 46 enum FieldType { USERNAME_FIELD, PASSWORD_FIELD }; | |
| 47 | |
| 48 const int kUsernameFieldSize = 30; | |
| 49 const int kPasswordFieldSize = 22; | |
| 50 | |
| 51 // Returns the width of |type| field. | |
| 52 int GetFieldWidth(FieldType type) { | |
| 53 return ui::ResourceBundle::GetSharedInstance() | |
| 54 .GetFontList(ui::ResourceBundle::SmallFont) | |
| 55 .GetExpectedTextWidth(type == USERNAME_FIELD ? kUsernameFieldSize | |
| 56 : kPasswordFieldSize); | |
| 57 } | |
| 58 | |
| 59 Profile* GetProfileFromWebContents(content::WebContents* web_contents) { | 45 Profile* GetProfileFromWebContents(content::WebContents* web_contents) { |
| 60 if (!web_contents) | 46 if (!web_contents) |
| 61 return nullptr; | 47 return nullptr; |
| 62 return Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 48 return Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
| 63 } | 49 } |
| 64 | 50 |
| 65 void RecordExperimentStatistics(content::WebContents* web_contents, | 51 void RecordExperimentStatistics(content::WebContents* web_contents, |
| 66 metrics_util::UIDismissalReason reason) { | 52 metrics_util::UIDismissalReason reason) { |
| 67 // TODO(vasilii): revive the function while implementing the smart bubble. | 53 // TODO(vasilii): revive the function while implementing the smart bubble. |
| 68 } | 54 } |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 Profile* profile = GetProfile(); | 345 Profile* profile = GetProfile(); |
| 360 if (GetSmartLockBrandingState(profile) == | 346 if (GetSmartLockBrandingState(profile) == |
| 361 password_bubble_experiment::SmartLockBranding::FULL) { | 347 password_bubble_experiment::SmartLockBranding::FULL) { |
| 362 PrefService* prefs = profile->GetPrefs(); | 348 PrefService* prefs = profile->GetPrefs(); |
| 363 return !prefs->GetBoolean( | 349 return !prefs->GetBoolean( |
| 364 password_manager::prefs::kWasSavePrompFirstRunExperienceShown); | 350 password_manager::prefs::kWasSavePrompFirstRunExperienceShown); |
| 365 } | 351 } |
| 366 return false; | 352 return false; |
| 367 } | 353 } |
| 368 | 354 |
| 369 // static | |
| 370 int ManagePasswordsBubbleModel::UsernameFieldWidth() { | |
| 371 return GetFieldWidth(USERNAME_FIELD); | |
| 372 } | |
| 373 | |
| 374 // static | |
| 375 int ManagePasswordsBubbleModel::PasswordFieldWidth() { | |
| 376 return GetFieldWidth(PASSWORD_FIELD); | |
| 377 } | |
| 378 | |
| 379 void ManagePasswordsBubbleModel::UpdatePendingStateTitle() { | 355 void ManagePasswordsBubbleModel::UpdatePendingStateTitle() { |
| 380 title_brand_link_range_ = gfx::Range(); | 356 title_brand_link_range_ = gfx::Range(); |
| 381 GetSavePasswordDialogTitleTextAndLinkRange( | 357 GetSavePasswordDialogTitleTextAndLinkRange( |
| 382 web_contents()->GetVisibleURL(), origin(), | 358 web_contents()->GetVisibleURL(), origin(), |
| 383 GetSmartLockBrandingState(GetProfile()) != | 359 GetSmartLockBrandingState(GetProfile()) != |
| 384 password_bubble_experiment::SmartLockBranding::NONE, | 360 password_bubble_experiment::SmartLockBranding::NONE, |
| 385 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, &title_, | 361 state_ == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, &title_, |
| 386 &title_brand_link_range_); | 362 &title_brand_link_range_); |
| 387 } | 363 } |
| 388 | 364 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 414 return metrics_util::NO_UPDATE_SUBMISSION; | 390 return metrics_util::NO_UPDATE_SUBMISSION; |
| 415 } | 391 } |
| 416 if (state_ != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) | 392 if (state_ != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) |
| 417 return metrics_util::NO_UPDATE_SUBMISSION; | 393 return metrics_util::NO_UPDATE_SUBMISSION; |
| 418 if (password_overridden_) | 394 if (password_overridden_) |
| 419 return update_events[3][behavior]; | 395 return update_events[3][behavior]; |
| 420 if (ShouldShowMultipleAccountUpdateUI()) | 396 if (ShouldShowMultipleAccountUpdateUI()) |
| 421 return update_events[2][behavior]; | 397 return update_events[2][behavior]; |
| 422 return update_events[1][behavior]; | 398 return update_events[1][behavior]; |
| 423 } | 399 } |
| OLD | NEW |