Chromium Code Reviews| Index: chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.cc |
| diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.cc |
| index 7624e64ee5bbe98e32827cdd6dd7e7b2b97762b8..e746ed04d5060cf5027204f7e2cbd647e0a7f690 100644 |
| --- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.cc |
| +++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_dialog_controller_impl_win.h" |
| +#include "base/metrics/histogram_macros.h" |
| +#include "chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/browser/ui/browser_dialogs.h" |
| #include "chrome/browser/ui/browser_finder.h" |
| @@ -40,6 +42,21 @@ Browser* FindBrowserForDialog() { |
| return nullptr; |
| } |
| +enum PromptDialogResponseHistogramValue { |
|
csharp
2017/07/07 17:32:51
Please add a comment saying this much match the en
ftirelo
2017/07/07 20:27:53
Done.
|
| + PROMPT_DIALOG_RESPONSE_ACCEPTED = 0, |
| + PROMPT_DIALOG_RESPONSE_DETAILS = 1, |
| + PROMPT_DIALOG_RESPONSE_CANCELLED = 2, |
| + PROMPT_DIALOG_RESPONSE_DISMISSED = 3, |
| + |
| + PROMPT_DIALOG_RESPONSE_MAX, |
| +}; |
| + |
| +void RecordPromptDialogResponseHistogram( |
| + PromptDialogResponseHistogramValue value) { |
| + UMA_HISTOGRAM_ENUMERATION("SoftwareReporter.PromptDialogResponse", value, |
| + PROMPT_DIALOG_RESPONSE_MAX); |
| +} |
| + |
| } // namespace |
| ChromeCleanerDialogControllerImpl::ChromeCleanerDialogControllerImpl( |
| @@ -60,6 +77,9 @@ void ChromeCleanerDialogControllerImpl::DialogShown() {} |
| void ChromeCleanerDialogControllerImpl::Accept(bool logs_enabled) { |
| DCHECK(browser_); |
| + RecordPromptDialogResponseHistogram(PROMPT_DIALOG_RESPONSE_ACCEPTED); |
| + RecordCleanupStartedHistogram(CLEANUP_STARTED_FROM_PROMPT_DIALOG); |
| + |
| cleaner_controller_->ReplyWithUserResponse( |
| browser_->profile(), |
| logs_enabled |
| @@ -72,6 +92,8 @@ void ChromeCleanerDialogControllerImpl::Accept(bool logs_enabled) { |
| void ChromeCleanerDialogControllerImpl::Cancel() { |
| DCHECK(browser_); |
| + RecordPromptDialogResponseHistogram(PROMPT_DIALOG_RESPONSE_CANCELLED); |
| + |
| cleaner_controller_->ReplyWithUserResponse( |
| browser_->profile(), ChromeCleanerController::UserResponse::kDenied); |
| OnInteractionDone(); |
| @@ -80,6 +102,8 @@ void ChromeCleanerDialogControllerImpl::Cancel() { |
| void ChromeCleanerDialogControllerImpl::Close() { |
| DCHECK(browser_); |
| + RecordPromptDialogResponseHistogram(PROMPT_DIALOG_RESPONSE_DISMISSED); |
| + |
| cleaner_controller_->ReplyWithUserResponse( |
| browser_->profile(), ChromeCleanerController::UserResponse::kDismissed); |
| OnInteractionDone(); |
| @@ -87,6 +111,8 @@ void ChromeCleanerDialogControllerImpl::Close() { |
| void ChromeCleanerDialogControllerImpl::DetailsButtonClicked( |
| bool logs_enabled) { |
| + RecordPromptDialogResponseHistogram(PROMPT_DIALOG_RESPONSE_DETAILS); |
| + |
| cleaner_controller_->SetLogsEnabled(logs_enabled); |
| OpenSettingsPage(browser_); |
| OnInteractionDone(); |
| @@ -124,11 +150,14 @@ void ChromeCleanerDialogControllerImpl::OnInfected( |
| // TODO(alito): Register with chrome::BrowserListObserver to get notified |
| // later if a suitable browser window becomes available to show the |
| // prompt. http://crbug.com/734677 |
| + RecordPromptNotShownWithReasonHistogram( |
| + NO_PROMPT_REASON_BROWSER_NOT_AVAILABLE); |
| OnInteractionDone(); |
| return; |
| } |
| chrome::ShowChromeCleanerPrompt(browser_, this); |
| + RecordPromptShownHistogram(); |
| dialog_shown_ = true; |
| } |