| 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..72b58371cba0f044915683be0da0c7e16220f6f9 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,23 @@ Browser* FindBrowserForDialog() {
|
| return nullptr;
|
| }
|
|
|
| +// These values are used to send UMA information and are replicated in the
|
| +// histograms.xml file, so the order MUST NOT CHANGE.
|
| +enum PromptDialogResponseHistogramValue {
|
| + 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 +79,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 +94,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 +104,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 +113,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 +152,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;
|
| }
|
|
|
|
|