Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(211)

Side by Side Diff: chrome/browser/ui/webui/settings/chrome_cleanup_handler.cc

Issue 2973873002: Primary histograms for InBrowserCleanerUI experiment (Closed)
Patch Set: Code reviews Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2017 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/webui/settings/chrome_cleanup_handler.h" 5 #include "chrome/browser/ui/webui/settings/chrome_cleanup_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/feature_list.h" 10 #include "base/feature_list.h"
11 #include "base/metrics/histogram_macros.h"
11 #include "base/synchronization/lock.h" 12 #include "base/synchronization/lock.h"
12 #include "base/values.h" 13 #include "base/values.h"
13 #include "chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.h" 14 #include "chrome/browser/safe_browsing/chrome_cleaner/srt_field_trial_win.h"
14 #include "chrome/grit/generated_resources.h" 15 #include "chrome/grit/generated_resources.h"
15 #include "content/public/browser/web_contents.h" 16 #include "content/public/browser/web_contents.h"
16 #include "content/public/browser/web_ui.h" 17 #include "content/public/browser/web_ui.h"
17 #include "ui/base/l10n/l10n_util.h" 18 #include "ui/base/l10n/l10n_util.h"
18 19
19 using safe_browsing::ChromeCleanerController; 20 using safe_browsing::ChromeCleanerController;
20 21
(...skipping 25 matching lines...) Expand all
46 return "user_declined_cleanup"; 47 return "user_declined_cleanup";
47 case ChromeCleanerController::IdleReason::kCleaningFailed: 48 case ChromeCleanerController::IdleReason::kCleaningFailed:
48 return "cleaning_failed"; 49 return "cleaning_failed";
49 case ChromeCleanerController::IdleReason::kCleaningSucceeded: 50 case ChromeCleanerController::IdleReason::kCleaningSucceeded:
50 return "cleaning_succeeded"; 51 return "cleaning_succeeded";
51 } 52 }
52 NOTREACHED(); 53 NOTREACHED();
53 return ""; 54 return "";
54 } 55 }
55 56
57 enum CleanupCardHistogramValue {
csharp 2017/07/07 20:53:33 nit: Add a comment about how this needs to match u
ftirelo 2017/07/07 21:22:08 Done.
58 CLEANUP_CARD_SHOWN = 0,
59
60 CLEANUP_CARD_MAX,
61 };
62
56 } // namespace 63 } // namespace
57 64
58 ChromeCleanupHandler::ChromeCleanupHandler(Profile* profile) 65 ChromeCleanupHandler::ChromeCleanupHandler(Profile* profile)
59 : controller_(ChromeCleanerController::GetInstance()), profile_(profile) {} 66 : controller_(ChromeCleanerController::GetInstance()), profile_(profile) {}
60 67
61 ChromeCleanupHandler::~ChromeCleanupHandler() { 68 ChromeCleanupHandler::~ChromeCleanupHandler() {
62 controller_->RemoveObserver(this); 69 controller_->RemoveObserver(this);
63 } 70 }
64 71
65 void ChromeCleanupHandler::RegisterMessages() { 72 void ChromeCleanupHandler::RegisterMessages() {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 } 133 }
127 134
128 void ChromeCleanupHandler::HandleRegisterChromeCleanerObserver( 135 void ChromeCleanupHandler::HandleRegisterChromeCleanerObserver(
129 const base::ListValue* args) { 136 const base::ListValue* args) {
130 DCHECK_EQ(0U, args->GetSize()); 137 DCHECK_EQ(0U, args->GetSize());
131 // The Polymer element should never be attached if the feature is 138 // The Polymer element should never be attached if the feature is
132 // disabled. 139 // disabled.
133 DCHECK( 140 DCHECK(
134 base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature)); 141 base::FeatureList::IsEnabled(safe_browsing::kInBrowserCleanerUIFeature));
135 142
143 UMA_HISTOGRAM_ENUMERATION("SoftwareReporter.CleanupCard", CLEANUP_CARD_SHOWN,
144 CLEANUP_CARD_MAX);
136 AllowJavascript(); 145 AllowJavascript();
137 } 146 }
138 147
139 void ChromeCleanupHandler::HandleRestartComputer(const base::ListValue* args) { 148 void ChromeCleanupHandler::HandleRestartComputer(const base::ListValue* args) {
140 DCHECK_EQ(0U, args->GetSize()); 149 DCHECK_EQ(0U, args->GetSize());
141 150
142 CallJavascriptFunction("cr.webUIListenerCallback", 151 CallJavascriptFunction("cr.webUIListenerCallback",
143 base::Value("chrome-cleanup-on-dismiss")); 152 base::Value("chrome-cleanup-on-dismiss"));
144 // TODO(proberge): Show a prompt to reboot the system. 153 // TODO(proberge): Show a prompt to reboot the system.
145 } 154 }
146 155
147 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) { 156 void ChromeCleanupHandler::HandleStartCleanup(const base::ListValue* args) {
148 DCHECK_EQ(0U, args->GetSize()); 157 DCHECK_EQ(0U, args->GetSize());
149 158
159 safe_browsing::RecordCleanupStartedHistogram(
160 safe_browsing::CLEANUP_STARTED_FROM_PROMPT_IN_SETTINGS);
150 controller_->ReplyWithUserResponse( 161 controller_->ReplyWithUserResponse(
151 // TODO(proberge): Send kAcceptedWithLogs or kAcceptedWithoutLogs based on 162 // TODO(proberge): Send kAcceptedWithLogs or kAcceptedWithoutLogs based on
152 // the state of a logs upload permissions checkbox. 163 // the state of a logs upload permissions checkbox.
153 profile_, ChromeCleanerController::UserResponse::kAcceptedWithoutLogs); 164 profile_, ChromeCleanerController::UserResponse::kAcceptedWithoutLogs);
154 } 165 }
155 166
156 } // namespace settings 167 } // namespace settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698