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

Unified Diff: chrome/browser/ui/webui/options/reset_profile_settings_handler.cc

Issue 2236663002: Add origin of settings reset request to feedback reports. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move cct hash definition to options::ResetProfileSettingsHandler Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
diff --git a/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc b/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
index 88dd43e3fc7b2876c15337f2d9789cbea972450e..be1785898b26ff80b3a6bb5f5aab249c0a44280a 100644
--- a/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
+++ b/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
@@ -36,6 +36,33 @@
namespace options {
+namespace {
+
+reset_report::ChromeResetReport::ResetRequestOrigin
+ResetRequestOriginFromString(const std::string& reset_request_origin) {
+ static const char kOriginUserClick[] = "userclick";
+ static const char kOriginTriggeredReset[] = "triggeredreset";
+
+ if (reset_request_origin ==
+ ResetProfileSettingsHandler::kCctResetSettingsHash) {
+ return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_CCT;
+ }
+ if (reset_request_origin == kOriginUserClick)
+ return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_USER_CLICK;
+ if (reset_request_origin == kOriginTriggeredReset) {
+ return reset_report::ChromeResetReport::
+ RESET_REQUEST_ORIGIN_TRIGGERED_RESET;
+ }
+ if (!reset_request_origin.empty())
+ NOTREACHED();
+
+ return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_UNKNOWN;
+}
+
+} // namespace
+
+const char ResetProfileSettingsHandler::kCctResetSettingsHash[] = "cct";
+
ResetProfileSettingsHandler::ResetProfileSettingsHandler() {
google_brand::GetBrand(&brandcode_);
}
@@ -127,23 +154,25 @@ void ResetProfileSettingsHandler::RegisterMessages() {
void ResetProfileSettingsHandler::HandleResetProfileSettings(
const base::ListValue* value) {
bool send_settings = false;
- bool success = value->GetBoolean(0, &send_settings);
+ std::string reset_request_origin;
+ bool success = value->GetBoolean(0, &send_settings) &&
+ value->GetString(1, &reset_request_origin);
DCHECK(success);
DCHECK(brandcode_.empty() || config_fetcher_);
if (config_fetcher_ && config_fetcher_->IsActive()) {
// Reset once the prefs are fetched.
config_fetcher_->SetCallback(
- base::Bind(&ResetProfileSettingsHandler::ResetProfile,
- Unretained(this),
- send_settings));
+ base::Bind(&ResetProfileSettingsHandler::ResetProfile, Unretained(this),
+ send_settings, reset_request_origin));
} else {
- ResetProfile(send_settings);
+ ResetProfile(send_settings, reset_request_origin);
}
}
void ResetProfileSettingsHandler::OnResetProfileSettingsDone(
- bool send_feedback) {
+ bool send_feedback,
+ const std::string& reset_request_origin) {
web_ui()->CallJavascriptFunctionUnsafe(
"ResetProfileSettingsOverlay.doneResetting");
if (send_feedback && setting_snapshot_) {
@@ -154,8 +183,11 @@ void ResetProfileSettingsHandler::OnResetProfileSettingsDone(
setting_snapshot_->Subtract(current_snapshot);
std::unique_ptr<reset_report::ChromeResetReport> report_proto =
SerializeSettingsReportToProto(*setting_snapshot_, difference);
- if (report_proto)
+ if (report_proto) {
+ report_proto->set_reset_request_origin(
+ ResetRequestOriginFromString(reset_request_origin));
SendSettingsFeedbackProto(*report_proto, profile);
+ }
}
}
setting_snapshot_.reset();
@@ -192,7 +224,9 @@ void ResetProfileSettingsHandler::OnSettingsFetched() {
// The master prefs is fetched. We are waiting for user pressing 'Reset'.
}
-void ResetProfileSettingsHandler::ResetProfile(bool send_settings) {
+void ResetProfileSettingsHandler::ResetProfile(
+ bool send_settings,
+ const std::string& reset_request_origin) {
DCHECK(resetter_);
DCHECK(!resetter_->IsActive());
@@ -212,7 +246,7 @@ void ResetProfileSettingsHandler::ResetProfile(bool send_settings) {
resetter_->Reset(
ProfileResetter::ALL, std::move(default_settings),
base::Bind(&ResetProfileSettingsHandler::OnResetProfileSettingsDone,
- AsWeakPtr(), send_settings));
+ AsWeakPtr(), send_settings, reset_request_origin));
content::RecordAction(base::UserMetricsAction("ResetProfile"));
UMA_HISTOGRAM_BOOLEAN("ProfileReset.SendFeedback", send_settings);
}

Powered by Google App Engine
This is Rietveld 408576698