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

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

Issue 1911573003: MD Settings: Reset profile dialog, display settings in new tab. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits. Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/reset_settings_handler.h" 5 #include "chrome/browser/ui/webui/settings/reset_settings_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 return new ResetSettingsHandler(profile, allow_powerwash); 84 return new ResetSettingsHandler(profile, allow_powerwash);
85 } 85 }
86 86
87 void ResetSettingsHandler::RegisterMessages() { 87 void ResetSettingsHandler::RegisterMessages() {
88 web_ui()->RegisterMessageCallback("performResetProfileSettings", 88 web_ui()->RegisterMessageCallback("performResetProfileSettings",
89 base::Bind(&ResetSettingsHandler::HandleResetProfileSettings, 89 base::Bind(&ResetSettingsHandler::HandleResetProfileSettings,
90 base::Unretained(this))); 90 base::Unretained(this)));
91 web_ui()->RegisterMessageCallback("onShowResetProfileDialog", 91 web_ui()->RegisterMessageCallback("onShowResetProfileDialog",
92 base::Bind(&ResetSettingsHandler::OnShowResetProfileDialog, 92 base::Bind(&ResetSettingsHandler::OnShowResetProfileDialog,
93 base::Unretained(this))); 93 base::Unretained(this)));
94 web_ui()->RegisterMessageCallback("getReportedSettings",
95 base::Bind(&ResetSettingsHandler::HandleGetReportedSettings,
96 base::Unretained(this)));
94 web_ui()->RegisterMessageCallback("onHideResetProfileDialog", 97 web_ui()->RegisterMessageCallback("onHideResetProfileDialog",
95 base::Bind(&ResetSettingsHandler::OnHideResetProfileDialog, 98 base::Bind(&ResetSettingsHandler::OnHideResetProfileDialog,
96 base::Unretained(this))); 99 base::Unretained(this)));
97 web_ui()->RegisterMessageCallback("onHideResetProfileBanner", 100 web_ui()->RegisterMessageCallback("onHideResetProfileBanner",
98 base::Bind(&ResetSettingsHandler::OnHideResetProfileBanner, 101 base::Bind(&ResetSettingsHandler::OnHideResetProfileBanner,
99 base::Unretained(this))); 102 base::Unretained(this)));
100 #if defined(OS_CHROMEOS) 103 #if defined(OS_CHROMEOS)
101 web_ui()->RegisterMessageCallback( 104 web_ui()->RegisterMessageCallback(
102 "onPowerwashDialogShow", 105 "onPowerwashDialogShow",
103 base::Bind(&ResetSettingsHandler::OnShowPowerwashDialog, 106 base::Bind(&ResetSettingsHandler::OnShowPowerwashDialog,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 setting_snapshot_->Subtract(current_snapshot); 144 setting_snapshot_->Subtract(current_snapshot);
142 std::unique_ptr<reset_report::ChromeResetReport> report_proto = 145 std::unique_ptr<reset_report::ChromeResetReport> report_proto =
143 SerializeSettingsReportToProto(*setting_snapshot_, difference); 146 SerializeSettingsReportToProto(*setting_snapshot_, difference);
144 if (report_proto) 147 if (report_proto)
145 SendSettingsFeedbackProto(*report_proto, profile_); 148 SendSettingsFeedbackProto(*report_proto, profile_);
146 } 149 }
147 } 150 }
148 setting_snapshot_.reset(); 151 setting_snapshot_.reset();
149 } 152 }
150 153
154 void ResetSettingsHandler::HandleGetReportedSettings(
155 const base::ListValue* args) {
156 CHECK_EQ(1U, args->GetSize());
157 std::string callback_id;
158 CHECK(args->GetString(0, &callback_id));
159
160 setting_snapshot_->RequestShortcuts(base::Bind(
tommycli 2016/04/20 23:23:18 Since all two callers of ResettableSettingsSnapsho
dpapad 2016/04/21 00:27:10 Acknowledged.
161 &ResetSettingsHandler::OnGetReportedSettingsDone,
162 weak_ptr_factory_.GetWeakPtr(),
163 callback_id));
164 }
165
166 void ResetSettingsHandler::OnGetReportedSettingsDone(std::string callback_id) {
167 std::unique_ptr<base::ListValue> list =
168 GetReadableFeedbackForSnapshot(profile_, *setting_snapshot_);
169 ResolveJavascriptCallback(base::StringValue(callback_id), *list);
170 }
171
151 void ResetSettingsHandler::OnShowResetProfileDialog( 172 void ResetSettingsHandler::OnShowResetProfileDialog(
152 const base::ListValue* args) { 173 const base::ListValue* args) {
153 if (!GetResetter()->IsActive()) { 174 if (!GetResetter()->IsActive()) {
154 setting_snapshot_.reset(new ResettableSettingsSnapshot(profile_)); 175 setting_snapshot_.reset(new ResettableSettingsSnapshot(profile_));
155 setting_snapshot_->RequestShortcuts(base::Bind(
156 &ResetSettingsHandler::UpdateFeedbackUI,
157 weak_ptr_factory_.GetWeakPtr()));
158 UpdateFeedbackUI();
159 } 176 }
160 177
161 if (brandcode_.empty()) 178 if (brandcode_.empty())
162 return; 179 return;
163 config_fetcher_.reset(new BrandcodeConfigFetcher( 180 config_fetcher_.reset(new BrandcodeConfigFetcher(
164 base::Bind(&ResetSettingsHandler::OnSettingsFetched, 181 base::Bind(&ResetSettingsHandler::OnSettingsFetched,
165 base::Unretained(this)), 182 base::Unretained(this)),
166 GURL("https://tools.google.com/service/update2"), 183 GURL("https://tools.google.com/service/update2"),
167 brandcode_)); 184 brandcode_));
168 } 185 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 GetResetter()->Reset( 222 GetResetter()->Reset(
206 ProfileResetter::ALL, std::move(default_settings), 223 ProfileResetter::ALL, std::move(default_settings),
207 base::Bind(&ResetSettingsHandler::OnResetProfileSettingsDone, 224 base::Bind(&ResetSettingsHandler::OnResetProfileSettingsDone,
208 weak_ptr_factory_.GetWeakPtr(), 225 weak_ptr_factory_.GetWeakPtr(),
209 callback_id, 226 callback_id,
210 send_settings)); 227 send_settings));
211 content::RecordAction(base::UserMetricsAction("ResetProfile")); 228 content::RecordAction(base::UserMetricsAction("ResetProfile"));
212 UMA_HISTOGRAM_BOOLEAN("ProfileReset.SendFeedback", send_settings); 229 UMA_HISTOGRAM_BOOLEAN("ProfileReset.SendFeedback", send_settings);
213 } 230 }
214 231
215 void ResetSettingsHandler::UpdateFeedbackUI() {
216 if (!setting_snapshot_)
217 return;
218 std::unique_ptr<base::ListValue> list =
219 GetReadableFeedbackForSnapshot(profile_, *setting_snapshot_);
220 web_ui()->CallJavascriptFunction("cr.webUIListenerCallback",
221 base::StringValue("feedback-info-changed"),
222 *list.release());
223 }
224
225 ProfileResetter* ResetSettingsHandler::GetResetter() { 232 ProfileResetter* ResetSettingsHandler::GetResetter() {
226 if (!resetter_) 233 if (!resetter_)
227 resetter_.reset(new ProfileResetter(profile_)); 234 resetter_.reset(new ProfileResetter(profile_));
228 return resetter_.get(); 235 return resetter_.get();
229 } 236 }
230 237
231 #if defined(OS_CHROMEOS) 238 #if defined(OS_CHROMEOS)
232 void ResetSettingsHandler::OnShowPowerwashDialog( 239 void ResetSettingsHandler::OnShowPowerwashDialog(
233 const base::ListValue* args) { 240 const base::ListValue* args) {
234 UMA_HISTOGRAM_ENUMERATION( 241 UMA_HISTOGRAM_ENUMERATION(
(...skipping 11 matching lines...) Expand all
246 prefs->SetBoolean(prefs::kFactoryResetRequested, true); 253 prefs->SetBoolean(prefs::kFactoryResetRequested, true);
247 prefs->CommitPendingWrite(); 254 prefs->CommitPendingWrite();
248 255
249 // Perform sign out. Current chrome process will then terminate, new one will 256 // Perform sign out. Current chrome process will then terminate, new one will
250 // be launched (as if it was a restart). 257 // be launched (as if it was a restart).
251 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 258 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
252 } 259 }
253 #endif // defined(OS_CHROMEOS) 260 #endif // defined(OS_CHROMEOS)
254 261
255 } // namespace settings 262 } // namespace settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698