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,9 +151,16 @@ void SyncInternalsMessageHandler::RegisterMessages() { ...@@ -151,9 +151,16 @@ void SyncInternalsMessageHandler::RegisterMessages() {
base::Unretained(this))); base::Unretained(this)));
web_ui()->RegisterMessageCallback( web_ui()->RegisterMessageCallback(
syncer::sync_ui_util::kRequestStop, syncer::sync_ui_util::kRequestStopKeepData,
base::BindRepeating(&SyncInternalsMessageHandler::HandleRequestStop, base::BindRepeating(
base::Unretained(this))); &SyncInternalsMessageHandler::HandleRequestStopKeepData,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
syncer::sync_ui_util::kRequestStopClearData,
base::BindRepeating(
&SyncInternalsMessageHandler::HandleRequestStopClearData,
base::Unretained(this)));
web_ui()->RegisterMessageCallback( web_ui()->RegisterMessageCallback(
syncer::sync_ui_util::kTriggerRefresh, syncer::sync_ui_util::kTriggerRefresh,
...@@ -308,9 +315,24 @@ void SyncInternalsMessageHandler::HandleRequestStart( ...@@ -308,9 +315,24 @@ void SyncInternalsMessageHandler::HandleRequestStart(
return; return;
service->RequestStart(); 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) { const base::ListValue* args) {
DCHECK_EQ(0U, args->GetSize()); DCHECK_EQ(0U, args->GetSize());
......
...@@ -74,8 +74,11 @@ class SyncInternalsMessageHandler : public content::WebUIMessageHandler, ...@@ -74,8 +74,11 @@ class SyncInternalsMessageHandler : public content::WebUIMessageHandler,
// Handler for requestStart message. // Handler for requestStart message.
void HandleRequestStart(const base::ListValue* args); void HandleRequestStart(const base::ListValue* args);
// Handler for requestStop message. // Handler for requestStopKeepData message.
void HandleRequestStop(const base::ListValue* args); void HandleRequestStopKeepData(const base::ListValue* args);
// Handler for requestStopClearData message.
void HandleRequestStopClearData(const base::ListValue* args);
// Handler for triggerRefresh message. // Handler for triggerRefresh message.
void HandleTriggerRefresh(const base::ListValue* args); void HandleTriggerRefresh(const base::ListValue* args);
......
...@@ -54,7 +54,8 @@ const char kRequestIncludeSpecificsInitialState[] = ...@@ -54,7 +54,8 @@ const char kRequestIncludeSpecificsInitialState[] =
"requestIncludeSpecificsInitialState"; "requestIncludeSpecificsInitialState";
const char kRequestListOfTypes[] = "requestListOfTypes"; const char kRequestListOfTypes[] = "requestListOfTypes";
const char kRequestStart[] = "requestStart"; const char kRequestStart[] = "requestStart";
const char kRequestStop[] = "requestStop"; const char kRequestStopKeepData[] = "requestStopKeepData";
const char kRequestStopClearData[] = "requestStopClearData";
const char kRequestUpdatedAboutInfo[] = "requestUpdatedAboutInfo"; const char kRequestUpdatedAboutInfo[] = "requestUpdatedAboutInfo";
const char kRequestUserEventsVisibility[] = "requestUserEventsVisibility"; const char kRequestUserEventsVisibility[] = "requestUserEventsVisibility";
const char kSetIncludeSpecifics[] = "setIncludeSpecifics"; const char kSetIncludeSpecifics[] = "setIncludeSpecifics";
......
...@@ -50,7 +50,8 @@ extern const char kRegisterForPerTypeCounters[]; ...@@ -50,7 +50,8 @@ extern const char kRegisterForPerTypeCounters[];
extern const char kRequestIncludeSpecificsInitialState[]; extern const char kRequestIncludeSpecificsInitialState[];
extern const char kRequestListOfTypes[]; extern const char kRequestListOfTypes[];
extern const char kRequestStart[]; extern const char kRequestStart[];
extern const char kRequestStop[]; extern const char kRequestStopKeepData[];
extern const char kRequestStopClearData[];
extern const char kRequestUpdatedAboutInfo[]; extern const char kRequestUpdatedAboutInfo[];
extern const char kRequestUserEventsVisibility[]; extern const char kRequestUserEventsVisibility[];
extern const char kSetIncludeSpecifics[]; extern const char kSetIncludeSpecifics[];
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
<div id="request-start-stop-wrapper" jsskip="true"> <div id="request-start-stop-wrapper" jsskip="true">
<button id="request-start">Request Start</button> <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>
<div id="traffic-event-container-wrapper" jsskip="true"> <div id="traffic-event-container-wrapper" jsskip="true">
......
...@@ -226,8 +226,11 @@ cr.define('chrome.sync.about_tab', function() { ...@@ -226,8 +226,11 @@ cr.define('chrome.sync.about_tab', function() {
$('request-start').addEventListener('click', function(event) { $('request-start').addEventListener('click', function(event) {
chrome.sync.requestStart(); chrome.sync.requestStart();
}); });
$('request-stop').addEventListener('click', function(event) { $('request-stop-keep-data').addEventListener('click', function(event) {
chrome.sync.requestStop(); chrome.sync.requestStopKeepData();
});
$('request-stop-clear-data').addEventListener('click', function(event) {
chrome.sync.requestStopClearData();
}); });
// Register to receive a stream of event notifications. // Register to receive a stream of event notifications.
......
...@@ -121,10 +121,17 @@ cr.define('chrome.sync', function() { ...@@ -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() { var requestStopKeepData = function() {
chrome.send('requestStop'); 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() { ...@@ -185,7 +192,8 @@ cr.define('chrome.sync', function() {
setIncludeSpecifics: setIncludeSpecifics, setIncludeSpecifics: setIncludeSpecifics,
writeUserEvent: writeUserEvent, writeUserEvent: writeUserEvent,
requestStart: requestStart, requestStart: requestStart,
requestStop: requestStop, requestStopKeepData: requestStopKeepData,
requestStopClearData: requestStopClearData,
triggerRefresh: triggerRefresh, 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