Chromium Code Reviews| Index: chrome/browser/ui/startup/default_browser_infobar_delegate.cc |
| diff --git a/chrome/browser/ui/startup/default_browser_infobar_delegate.cc b/chrome/browser/ui/startup/default_browser_infobar_delegate.cc |
| index b9175c728460200fdd5fb81a6dc20033b42f6610..c4cf33518e72681916f13b5f12e071b5e0851afa 100644 |
| --- a/chrome/browser/ui/startup/default_browser_infobar_delegate.cc |
| +++ b/chrome/browser/ui/startup/default_browser_infobar_delegate.cc |
| @@ -69,6 +69,8 @@ DefaultBrowserInfoBarDelegate::DefaultBrowserInfoBarDelegate(Profile* profile) |
| DefaultBrowserInfoBarDelegate::~DefaultBrowserInfoBarDelegate() { |
| if (!action_taken_) { |
| + content::RecordAction( |
| + base::UserMetricsAction("DefaultBrowserInfoBar_Ignore")); |
| UMA_HISTOGRAM_ENUMERATION("DefaultBrowser.InfoBar.UserInteraction", |
| IGNORE_INFO_BAR, |
| NUM_INFO_BAR_USER_INTERACTION_TYPES); |
| @@ -135,6 +137,9 @@ bool DefaultBrowserInfoBarDelegate::ShouldExpire( |
| void DefaultBrowserInfoBarDelegate::InfoBarDismissed() { |
| action_taken_ = true; |
| + // This can get reached in tests where profile_ is null. |
|
msw
2016/07/14 19:55:36
optional nit: // |profile_| may be null in tests.
|
| + if (profile_) |
| + chrome::DefaultBrowserPromptDeclined(profile_); |
| content::RecordAction( |
| base::UserMetricsAction("DefaultBrowserInfoBar_Dismiss")); |
| UMA_HISTOGRAM_ENUMERATION("DefaultBrowser.InfoBar.UserInteraction", |
| @@ -146,8 +151,13 @@ base::string16 DefaultBrowserInfoBarDelegate::GetMessageText() const { |
| return l10n_util::GetStringUTF16(IDS_DEFAULT_BROWSER_INFOBAR_SHORT_TEXT); |
| } |
| +int DefaultBrowserInfoBarDelegate::GetButtons() const { |
| + return BUTTON_OK; |
| +} |
| + |
| base::string16 DefaultBrowserInfoBarDelegate::GetButtonLabel( |
| InfoBarButton button) const { |
| + DCHECK_EQ(BUTTON_OK, button); |
| #if defined(OS_WIN) |
| // On Windows 10, the "OK" button opens the Windows Settings application, |
| // through which the user must make their default browser choice. |
| @@ -159,9 +169,7 @@ base::string16 DefaultBrowserInfoBarDelegate::GetButtonLabel( |
| const int kSetAsDefaultButtonMessageId = |
| IDS_DEFAULT_BROWSER_INFOBAR_OK_BUTTON_LABEL; |
| #endif |
| - return l10n_util::GetStringUTF16( |
| - button == BUTTON_OK ? kSetAsDefaultButtonMessageId |
| - : IDS_DEFAULT_BROWSER_INFOBAR_CANCEL_BUTTON_LABEL); |
| + return l10n_util::GetStringUTF16(kSetAsDefaultButtonMessageId); |
| } |
| // Setting an app as the default browser doesn't require elevation directly, but |
| @@ -198,19 +206,6 @@ bool DefaultBrowserInfoBarDelegate::Accept() { |
| return close_infobar; |
| } |
| -bool DefaultBrowserInfoBarDelegate::Cancel() { |
| - action_taken_ = true; |
| - // This can get reached in tests where profile_ is null. |
| - if (profile_) |
| - chrome::DefaultBrowserPromptDeclined(profile_); |
| - content::RecordAction( |
| - base::UserMetricsAction("DefaultBrowserInfoBar_Cancel")); |
| - UMA_HISTOGRAM_ENUMERATION("DefaultBrowser.InfoBar.UserInteraction", |
| - CANCEL_INFO_BAR, |
| - NUM_INFO_BAR_USER_INTERACTION_TYPES); |
| - return true; |
| -} |
| - |
| scoped_refptr<shell_integration::DefaultBrowserWorker> |
| DefaultBrowserInfoBarDelegate::CreateDefaultBrowserWorker( |
| const shell_integration::DefaultWebClientWorkerCallback& callback) { |