Commit 54eb51e9 authored by Marc Treib's avatar Marc Treib Committed by Commit Bot

chrome://sync-internals: Allow both RequestStop(KEEP_DATA) and RequestStop(CLEAR_DATA)

Additionaly, when RequestStart is triggered from sync-internals, also
set first setup compelete to true (since a previous
RequestStop(CLEAR_DATA) might have cleared it).

(though this should help with investigating bugs like 890361 or 885211)

Bug: none
Change-Id: Ie670ee055f177304a824b29d7e625d06c67a6b59
Reviewed-on: https://chromium-review.googlesource.com/1251423
Commit-Queue: Marc Treib <treib@chromium.org>
Reviewed-by: default avatarMikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595442}
parent e46aa311
......@@ -151,8 +151,15 @@ void SyncInternalsMessageHandler::RegisterMessages() {
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
syncer::sync_ui_util::kRequestStop,
base::BindRepeating(&SyncInternalsMessageHandler::HandleRequestStop,
syncer::sync_ui_util::kRequestStopKeepData,
base::BindRepeating(
&SyncInternalsMessageHandler::HandleRequestStopKeepData,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
syncer::sync_ui_util::kRequestStopClearData,
base::BindRepeating(
&SyncInternalsMessageHandler::HandleRequestStopClearData,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
......@@ -308,9 +315,24 @@ void SyncInternalsMessageHandler::HandleRequestStart(
return;
service->RequestStart();
// If the service was previously stopped with CLEAR_DATA, then the
// "first-setup-complete" bit was also cleared, and now the service wouldn't
// fully start up. So set that too.
service->SetFirstSetupComplete();
}
void SyncInternalsMessageHandler::HandleRequestStopKeepData(
const base::ListValue* args) {
DCHECK_EQ(0U, args->GetSize());
SyncService* service = GetSyncService();
if (!service)
return;
service->RequestStop(SyncService::KEEP_DATA);
}
void SyncInternalsMessageHandler::HandleRequestStop(
void SyncInternalsMessageHandler::HandleRequestStopClearData(
const base::ListValue* args) {
DCHECK_EQ(0U, args->GetSize());
......
......@@ -74,8 +74,11 @@ class SyncInternalsMessageHandler : public content::WebUIMessageHandler,
// Handler for requestStart message.
void HandleRequestStart(const base::ListValue* args);
// Handler for requestStop message.
void HandleRequestStop(const base::ListValue* args);
// Handler for requestStopKeepData message.
void HandleRequestStopKeepData(const base::ListValue* args);
// Handler for requestStopClearData message.
void HandleRequestStopClearData(const base::ListValue* args);
// Handler for triggerRefresh message.
void HandleTriggerRefresh(const base::ListValue* args);
......
......@@ -54,7 +54,8 @@ const char kRequestIncludeSpecificsInitialState[] =
"requestIncludeSpecificsInitialState";
const char kRequestListOfTypes[] = "requestListOfTypes";
const char kRequestStart[] = "requestStart";
const char kRequestStop[] = "requestStop";
const char kRequestStopKeepData[] = "requestStopKeepData";
const char kRequestStopClearData[] = "requestStopClearData";
const char kRequestUpdatedAboutInfo[] = "requestUpdatedAboutInfo";
const char kRequestUserEventsVisibility[] = "requestUserEventsVisibility";
const char kSetIncludeSpecifics[] = "setIncludeSpecifics";
......
......@@ -50,7 +50,8 @@ extern const char kRegisterForPerTypeCounters[];
extern const char kRequestIncludeSpecificsInitialState[];
extern const char kRequestListOfTypes[];
extern const char kRequestStart[];
extern const char kRequestStop[];
extern const char kRequestStopKeepData[];
extern const char kRequestStopClearData[];
extern const char kRequestUpdatedAboutInfo[];
extern const char kRequestUserEventsVisibility[];
extern const char kSetIncludeSpecifics[];
......
......@@ -27,7 +27,8 @@
<div id="request-start-stop-wrapper" jsskip="true">
<button id="request-start">Request Start</button>
<button id="request-stop">Request Stop</button>
<button id="request-stop-keep-data">Stop Sync (Keep Data)</button>
<button id="request-stop-clear-data">Disable Sync (Clear Data)</button>
</div>
<div id="traffic-event-container-wrapper" jsskip="true">
......
......@@ -226,8 +226,11 @@ cr.define('chrome.sync.about_tab', function() {
$('request-start').addEventListener('click', function(event) {
chrome.sync.requestStart();
});
$('request-stop').addEventListener('click', function(event) {
chrome.sync.requestStop();
$('request-stop-keep-data').addEventListener('click', function(event) {
chrome.sync.requestStopKeepData();
});
$('request-stop-clear-data').addEventListener('click', function(event) {
chrome.sync.requestStopClearData();
});
// Register to receive a stream of event notifications.
......
......@@ -121,10 +121,17 @@ cr.define('chrome.sync', function() {
};
/**
* Triggers a RequestStop call on the SyncService.
* Triggers a RequestStop(KEEP_DATA) call on the SyncService.
*/
var requestStop = function() {
chrome.send('requestStop');
var requestStopKeepData = function() {
chrome.send('requestStopKeepData');
};
/**
* Triggers a RequestStop(CLEAR_DATA) call on the SyncService.
*/
var requestStopClearData = function() {
chrome.send('requestStopClearData');
};
/**
......@@ -185,7 +192,8 @@ cr.define('chrome.sync', function() {
setIncludeSpecifics: setIncludeSpecifics,
writeUserEvent: writeUserEvent,
requestStart: requestStart,
requestStop: requestStop,
requestStopKeepData: requestStopKeepData,
requestStopClearData: requestStopClearData,
triggerRefresh: triggerRefresh,
};
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment