Chromium Code Reviews| 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 d26b0893a509b71f7b8bb72772d6912a4d106d31..1c1c88f7cc4c62cfa4b95cb6733ecdd1a49b2879 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,31 @@ |
| namespace options { |
| +namespace { |
| + |
| +reset_report::ChromeResetReport::ResetRequestOrigin |
| +ResetRequestOriginFromString(const std::string& reset_request_origin) { |
| + static const char kOriginUserClick[] = "userClick"; |
| + static const char kOriginCct[] = "CCT"; |
| + static const char kOriginTriggeredReset[] = "triggeredReset"; |
| + |
| + if (reset_request_origin == kOriginUserClick) |
| + return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_USER_CLICK; |
| + if (reset_request_origin == kOriginCct) |
| + return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_CCT; |
| + if (reset_request_origin == kOriginTriggeredReset) |
|
Dan Beam
2016/08/19 02:06:41
nit: curlies
alito
2016/08/20 03:01:25
Done.
|
| + return reset_report::ChromeResetReport:: |
| + RESET_REQUEST_ORIGIN_TRIGGERED_RESET; |
| + if (reset_request_origin.empty()) |
| + return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_UNKNOWN; |
| + |
| + NOTREACHED() << "Unknown reset request origin string: '" |
| + << reset_request_origin << "'"; |
|
Dan Beam
2016/08/19 02:06:41
nit: I'd remove the string literal and just leave
alito
2016/08/20 03:01:25
Done.
|
| + return reset_report::ChromeResetReport::RESET_REQUEST_ORIGIN_UNKNOWN; |
| +} |
| + |
| +} // namespace |
| + |
| ResetProfileSettingsHandler::ResetProfileSettingsHandler() { |
| google_brand::GetBrand(&brandcode_); |
| } |
| @@ -127,23 +152,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 +181,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 +222,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 +244,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); |
| } |