| Index: chrome/browser/sync/glue/sync_backend_registrar.cc
|
| diff --git a/chrome/browser/sync/glue/sync_backend_registrar.cc b/chrome/browser/sync/glue/sync_backend_registrar.cc
|
| index 45da9afb4d0499617db01308b41a54a78b3f59fd..96a2d7e79cd16ba18010faf90f7b4a1e4eb1d6fd 100644
|
| --- a/chrome/browser/sync/glue/sync_backend_registrar.cc
|
| +++ b/chrome/browser/sync/glue/sync_backend_registrar.cc
|
| @@ -32,6 +32,8 @@ bool IsOnThreadForGroup(csync::ModelSafeGroup group) {
|
| switch (group) {
|
| case csync::GROUP_PASSIVE:
|
| return false;
|
| + case csync::GROUP_CONTROL:
|
| + return false;
|
| case csync::GROUP_UI:
|
| return BrowserThread::CurrentlyOn(BrowserThread::UI);
|
| case csync::GROUP_DB:
|
| @@ -68,6 +70,7 @@ SyncBackendRegistrar::SyncBackendRegistrar(
|
| workers_[csync::GROUP_FILE] = new FileModelWorker();
|
| workers_[csync::GROUP_UI] = ui_worker_;
|
| workers_[csync::GROUP_PASSIVE] = new csync::PassiveModelWorker(sync_loop_);
|
| + workers_[csync::GROUP_CONTROL] = new csync::PassiveModelWorker(sync_loop_);
|
|
|
| // Any datatypes that we want the syncer to pull down must be in the
|
| // routing_info map. We set them to group passive, meaning that
|
| @@ -75,7 +78,11 @@ SyncBackendRegistrar::SyncBackendRegistrar(
|
| // models.
|
| for (syncable::ModelTypeSet::Iterator it = initial_types.First();
|
| it.Good(); it.Inc()) {
|
| - routing_info_[it.Get()] = csync::GROUP_PASSIVE;
|
| + if (IsInternalType(it.Get())) {
|
| + routing_info_[it.Get()] = csync::GROUP_CONTROL;
|
| + } else {
|
| + routing_info_[it.Get()] = csync::GROUP_PASSIVE;
|
| + }
|
| }
|
|
|
| HistoryService* history_service = profile->GetHistoryService(
|
| @@ -133,7 +140,11 @@ syncable::ModelTypeSet SyncBackendRegistrar::ConfigureDataTypes(
|
| // Add a newly specified data type as csync::GROUP_PASSIVE into the
|
| // routing_info, if it does not already exist.
|
| if (routing_info_.count(it.Get()) == 0) {
|
| - routing_info_[it.Get()] = csync::GROUP_PASSIVE;
|
| + if (IsInternalType(it.Get())) {
|
| + routing_info_[it.Get()] = csync::GROUP_CONTROL;
|
| + } else {
|
| + routing_info_[it.Get()] = csync::GROUP_PASSIVE;
|
| + }
|
| newly_added_types.Put(it.Get());
|
| }
|
| }
|
|
|