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; |
} |