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

Unified Diff: chrome/browser/sync/engine/sync_scheduler.cc

Issue 7281017: [Sync] Add RequestCleanupDisabledTypes() method to SyncManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 6 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/sync/engine/sync_scheduler.cc
diff --git a/chrome/browser/sync/engine/sync_scheduler.cc b/chrome/browser/sync/engine/sync_scheduler.cc
index f87d83a003bf2140eb7f83d9a0fa98e624e4f4d3..da39e737fb36bdec1bcb228c295da8987a6257e3 100644
--- a/chrome/browser/sync/engine/sync_scheduler.cc
+++ b/chrome/browser/sync/engine/sync_scheduler.cc
@@ -75,6 +75,7 @@ const char* SyncScheduler::SyncSessionJob::GetPurposeString(
ENUM_CASE(NUDGE);
ENUM_CASE(CLEAR_USER_DATA);
ENUM_CASE(CONFIGURATION);
+ ENUM_CASE(CLEANUP_DISABLED_TYPES);
}
NOTREACHED();
return "";
@@ -391,6 +392,13 @@ void SyncScheduler::ScheduleClearUserData() {
&SyncScheduler::ScheduleClearUserDataImpl));
}
+void SyncScheduler::ScheduleDisabledTypesCleanup() {
+ DCHECK_EQ(MessageLoop::current(), sync_loop_);
+ PostTask(FROM_HERE, "ScheduleDisabledTypesCleanup",
+ method_factory_.NewRunnableMethod(
+ &SyncScheduler::ScheduleDisabledTypesCleanupImpl));
+}
+
void SyncScheduler::ScheduleNudge(
const TimeDelta& delay,
NudgeSource source, const ModelTypeBitSet& types,
@@ -430,13 +438,24 @@ void SyncScheduler::ScheduleNudgeWithPayloads(
void SyncScheduler::ScheduleClearUserDataImpl() {
DCHECK_EQ(MessageLoop::current(), sync_loop_);
- SyncSession* session = new SyncSession(session_context_.get(), this,
- SyncSourceInfo(), ModelSafeRoutingInfo(),
- std::vector<ModelSafeWorker*>());
+ SyncSession* session =
+ new SyncSession(session_context_.get(), this,
+ SyncSourceInfo(), ModelSafeRoutingInfo(),
+ std::vector<ModelSafeWorker*>());
ScheduleSyncSessionJob(TimeDelta::FromSeconds(0),
SyncSessionJob::CLEAR_USER_DATA, session, FROM_HERE);
}
+void SyncScheduler::ScheduleDisabledTypesCleanupImpl() {
+ DCHECK_EQ(MessageLoop::current(), sync_loop_);
+ SyncSession* session =
+ new SyncSession(session_context_.get(), this,
+ SyncSourceInfo(), ModelSafeRoutingInfo(),
+ std::vector<ModelSafeWorker*>());
+ ScheduleSyncSessionJob(TimeDelta::FromSeconds(0),
+ SyncSessionJob::CLEANUP_DISABLED_TYPES, session, FROM_HERE);
+}
+
void SyncScheduler::ScheduleNudgeImpl(
const TimeDelta& delay,
GetUpdatesCallerInfo::GetUpdatesSource source,
@@ -631,7 +650,6 @@ void SyncScheduler::SetSyncerStepsForPurpose(
SyncSessionJob::SyncSessionJobPurpose purpose,
SyncerStep* start, SyncerStep* end) {
DCHECK_EQ(MessageLoop::current(), sync_loop_);
- *end = SYNCER_END;
switch (purpose) {
case SyncSessionJob::CONFIGURATION:
*start = DOWNLOAD_UPDATES;
@@ -639,13 +657,22 @@ void SyncScheduler::SetSyncerStepsForPurpose(
return;
case SyncSessionJob::CLEAR_USER_DATA:
*start = CLEAR_PRIVATE_DATA;
+ *end = CLEAR_PRIVATE_DATA;
+ return;
+ case SyncSessionJob::CLEANUP_DISABLED_TYPES:
+ *start = CLEANUP_DISABLED_TYPES;
+ *end = CLEANUP_DISABLED_TYPES;
return;
case SyncSessionJob::NUDGE:
case SyncSessionJob::POLL:
*start = SYNCER_BEGIN;
+ *end = SYNCER_END;
return;
default:
NOTREACHED();
+ *start = SYNCER_END;
+ *end = SYNCER_END;
+ return;
}
}
@@ -677,7 +704,7 @@ void SyncScheduler::DoSyncSessionJob(const SyncSessionJob& job) {
SVLOG(2) << "DoSyncSessionJob with "
<< SyncSessionJob::GetPurposeString(job.purpose) << " job";
- SyncerStep begin(SYNCER_BEGIN);
+ SyncerStep begin(SYNCER_END);
SyncerStep end(SYNCER_END);
SetSyncerStepsForPurpose(job.purpose, &begin, &end);

Powered by Google App Engine
This is Rietveld 408576698