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

Unified Diff: chrome/browser/sync/profile_sync_service.cc

Issue 1315063008: Sync: Remove NonBlockingDataTypeManager and any ProfileSyncService code related to it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | components/sync_driver.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/profile_sync_service.cc
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index d3251aa830bfa451896697d09e0998d92eded5f6..7e3e2600020a7ddf9503c0dd6074b386c0a96649 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -437,38 +437,15 @@ void ProfileSyncService::UnregisterAuthNotifications() {
void ProfileSyncService::RegisterDataTypeController(
sync_driver::DataTypeController* data_type_controller) {
- DCHECK_EQ(
- directory_data_type_controllers_.count(data_type_controller->type()),
- 0U);
- DCHECK(!GetRegisteredNonBlockingDataTypes().Has(
- data_type_controller->type()));
- directory_data_type_controllers_[data_type_controller->type()] =
- data_type_controller;
-}
-
-void ProfileSyncService::RegisterNonBlockingType(syncer::ModelType type) {
- DCHECK_EQ(directory_data_type_controllers_.count(type), 0U)
- << "Duplicate registration of type " << ModelTypeToString(type);
-
- // TODO(rlarocque): Set the enable flag properly when crbug.com/368834 is
- // fixed and we have some way of telling whether or not this type should be
- // enabled.
- non_blocking_data_type_manager_.RegisterType(type, false);
-}
-
-void ProfileSyncService::InitializeNonBlockingType(
- syncer::ModelType type,
- const scoped_refptr<base::SequencedTaskRunner>& task_runner,
- const base::WeakPtr<syncer_v2::ModelTypeProcessorImpl>& type_processor) {
- non_blocking_data_type_manager_.InitializeType(
- type, task_runner, type_processor);
+ DCHECK_EQ(data_type_controllers_.count(data_type_controller->type()), 0U);
+ data_type_controllers_[data_type_controller->type()] = data_type_controller;
}
bool ProfileSyncService::IsDataTypeControllerRunning(
syncer::ModelType type) const {
DataTypeController::TypeMap::const_iterator iter =
- directory_data_type_controllers_.find(type);
- if (iter == directory_data_type_controllers_.end()) {
+ data_type_controllers_.find(type);
+ if (iter == data_type_controllers_.end()) {
return false;
}
return iter->second->state() == DataTypeController::RUNNING;
@@ -501,10 +478,9 @@ ProfileSyncService::GetLocalDeviceInfoProvider() const {
void ProfileSyncService::GetDataTypeControllerStates(
DataTypeController::StateMap* state_map) const {
- for (DataTypeController::TypeMap::const_iterator iter =
- directory_data_type_controllers_.begin();
- iter != directory_data_type_controllers_.end();
- ++iter)
+ for (DataTypeController::TypeMap::const_iterator iter =
+ data_type_controllers_.begin();
+ iter != data_type_controllers_.end(); ++iter)
(*state_map)[iter->first] = iter->second.get()->state();
}
@@ -863,8 +839,6 @@ void ProfileSyncService::ShutdownImpl(syncer::ShutdownReason reason) {
RemoveClientFromServer();
}
- non_blocking_data_type_manager_.DisconnectSyncBackend();
-
// First, we spin down the backend to stop change processing as soon as
// possible.
base::Time shutdown_start_time = base::Time::Now();
@@ -875,14 +849,14 @@ void ProfileSyncService::ShutdownImpl(syncer::ShutdownReason reason) {
// change from a native model. In that case, it will get applied to the sync
// database (which doesn't get destroyed until we destroy the backend below)
// as an unsynced change. That will be persisted, and committed on restart.
- if (directory_data_type_manager_) {
- if (directory_data_type_manager_->state() != DataTypeManager::STOPPED) {
+ if (data_type_manager_) {
+ if (data_type_manager_->state() != DataTypeManager::STOPPED) {
// When aborting as part of shutdown, we should expect an aborted sync
// configure result, else we'll dcheck when we try to read the sync error.
expect_sync_configuration_aborted_ = true;
- directory_data_type_manager_->Stop();
+ data_type_manager_->Stop();
}
- directory_data_type_manager_.reset();
+ data_type_manager_.reset();
}
// Shutdown the migrator before the backend to ensure it doesn't pull a null
@@ -987,9 +961,8 @@ void ProfileSyncService::ClearStaleErrors() {
ClearUnrecoverableError();
last_actionable_error_ = SyncProtocolError();
// Clear the data type errors as well.
- if (directory_data_type_manager_.get())
- directory_data_type_manager_->ResetDataTypeErrors();
-
+ if (data_type_manager_.get())
+ data_type_manager_->ResetDataTypeErrors();
}
void ProfileSyncService::ClearUnrecoverableError() {
@@ -1037,7 +1010,7 @@ void ProfileSyncService::OnUnrecoverableErrorImpl(
void ProfileSyncService::ReenableDatatype(syncer::ModelType type) {
if (!backend_initialized_)
return;
- directory_data_type_manager_->ReenableType(type);
+ data_type_manager_->ReenableType(type);
}
void ProfileSyncService::UpdateBackendInitUMA(bool success) {
@@ -1075,9 +1048,6 @@ void ProfileSyncService::PostBackendInitialization() {
backend_->RequestBufferedProtocolEventsAndEnableForwarding();
}
- non_blocking_data_type_manager_.ConnectSyncBackend(
- backend_->GetSyncContextProxy());
-
if (type_debug_info_observers_.might_have_observers()) {
backend_->EnableDirectoryTypeDebugInfoForwarding();
}
@@ -1155,9 +1125,6 @@ void ProfileSyncService::OnBackendInitialized(
// Initialize local device info.
local_device_->Initialize(cache_guid, signin_scoped_device_id);
- DVLOG(1) << "Setting preferred types for non-blocking DTM";
- non_blocking_data_type_manager_.SetPreferredTypes(GetPreferredDataTypes());
-
if (backend_mode_ == BACKUP || backend_mode_ == ROLLBACK)
ConfigureDataTypeManager();
else
@@ -1298,16 +1265,14 @@ void ProfileSyncService::OnPassphraseRequired(
<< syncer::PassphraseRequiredReasonToString(reason);
passphrase_required_reason_ = reason;
- const syncer::ModelTypeSet types = GetPreferredDirectoryDataTypes();
- if (directory_data_type_manager_) {
+ // TODO(stanisc): http://crbug.com/351005: Does this support USS types?
+ const syncer::ModelTypeSet types = GetPreferredDataTypes();
+ if (data_type_manager_) {
// Reconfigure without the encrypted types (excluded implicitly via the
// failed datatypes handler).
- directory_data_type_manager_->Configure(types,
- syncer::CONFIGURE_REASON_CRYPTO);
+ data_type_manager_->Configure(types, syncer::CONFIGURE_REASON_CRYPTO);
}
- // TODO(rlarocque): Support non-blocking types. http://crbug.com/351005.
-
// Notify observers that the passphrase status may have changed.
NotifyObservers();
}
@@ -1328,15 +1293,13 @@ void ProfileSyncService::OnPassphraseAccepted() {
// Make sure the data types that depend on the passphrase are started at
// this time.
- const syncer::ModelTypeSet types = GetPreferredDirectoryDataTypes();
- if (directory_data_type_manager_) {
+ // TODO(stanisc): http://crbug.com/351005: Does this support USS types?
+ const syncer::ModelTypeSet types = GetPreferredDataTypes();
+ if (data_type_manager_) {
// Re-enable any encrypted types if necessary.
- directory_data_type_manager_->Configure(types,
- syncer::CONFIGURE_REASON_CRYPTO);
+ data_type_manager_->Configure(types, syncer::CONFIGURE_REASON_CRYPTO);
}
- // TODO(rlarocque): Support non-blocking types. http://crbug.com/351005.
-
NotifyObservers();
}
@@ -1368,7 +1331,7 @@ void ProfileSyncService::OnEncryptionComplete() {
void ProfileSyncService::OnMigrationNeededForTypes(
syncer::ModelTypeSet types) {
DCHECK(backend_initialized_);
- DCHECK(directory_data_type_manager_.get());
+ DCHECK(data_type_manager_.get());
// Migrator must be valid, because we don't sync until it is created and this
// callback originates from a sync cycle.
@@ -1455,14 +1418,13 @@ void ProfileSyncService::OnLocalSetPassphraseEncryption(
void ProfileSyncService::BeginConfigureCatchUpBeforeClear() {
DCHECK_EQ(backend_mode_, SYNC);
- DCHECK(directory_data_type_manager_);
+ DCHECK(data_type_manager_);
DCHECK(!saved_nigori_state_);
saved_nigori_state_ =
sync_prefs_.GetSavedNigoriStateForPassphraseEncryptionTransition().Pass();
const syncer::ModelTypeSet types = GetActiveDataTypes();
catch_up_configure_in_progress_ = true;
- directory_data_type_manager_->Configure(types,
- syncer::CONFIGURE_REASON_CATCH_UP);
+ data_type_manager_->Configure(types, syncer::CONFIGURE_REASON_CATCH_UP);
}
void ProfileSyncService::ClearAndRestartSyncForPassphraseEncryption() {
@@ -1620,10 +1582,8 @@ ProfileSyncService::SyncStatusSummary
return ROLLBACK_USER_DATA;
} else if (backend_.get() && !HasSyncSetupCompleted()) {
return SETUP_INCOMPLETE;
- } else if (
- backend_.get() && HasSyncSetupCompleted() &&
- directory_data_type_manager_.get() &&
- directory_data_type_manager_->state() == DataTypeManager::STOPPED) {
+ } else if (backend_ && HasSyncSetupCompleted() && data_type_manager_ &&
+ data_type_manager_->state() == DataTypeManager::STOPPED) {
return DATATYPES_NOT_INITIALIZED;
} else if (IsSyncActive()) {
return INITIALIZED;
@@ -1707,9 +1667,8 @@ bool ProfileSyncService::IsSyncAllowed() const {
}
bool ProfileSyncService::IsSyncActive() const {
- return backend_initialized_ && backend_mode_ == SYNC &&
- directory_data_type_manager_ &&
- directory_data_type_manager_->state() != DataTypeManager::STOPPED;
+ return backend_initialized_ && backend_mode_ == SYNC && data_type_manager_ &&
+ data_type_manager_->state() != DataTypeManager::STOPPED;
}
bool ProfileSyncService::IsSignedIn() const {
@@ -1726,8 +1685,8 @@ ProfileSyncService::BackendMode ProfileSyncService::backend_mode() const {
}
bool ProfileSyncService::ConfigurationDone() const {
- return directory_data_type_manager_ &&
- directory_data_type_manager_->state() == DataTypeManager::CONFIGURED;
+ return data_type_manager_ &&
+ data_type_manager_->state() == DataTypeManager::CONFIGURED;
}
bool ProfileSyncService::waiting_for_auth() const {
@@ -1847,8 +1806,8 @@ void ProfileSyncService::OnUserChoseDatatypes(
UpdateSelectedTypesHistogram(sync_everything, chosen_types);
sync_prefs_.SetKeepEverythingSynced(sync_everything);
- if (directory_data_type_manager_.get())
- directory_data_type_manager_->ResetDataTypeErrors();
+ if (data_type_manager_)
+ data_type_manager_->ResetDataTypeErrors();
ChangePreferredDataTypes(chosen_types);
}
@@ -1862,10 +1821,6 @@ void ProfileSyncService::ChangePreferredDataTypes(
// Now reconfigure the DTM.
ReconfigureDatatypeManager();
-
- // TODO(rlarocque): Reconfigure the NonBlockingDataTypeManager, too. Blocked
- // on crbug.com/368834. Until that bug is fixed, it's difficult to tell
- // which types should be enabled and when.
}
syncer::ModelTypeSet ProfileSyncService::GetActiveDataTypes() const {
@@ -1886,23 +1841,6 @@ syncer::ModelTypeSet ProfileSyncService::GetPreferredDataTypes() const {
return Union(preferred_types, enforced_types);
}
-syncer::ModelTypeSet
-ProfileSyncService::GetPreferredDirectoryDataTypes() const {
- const syncer::ModelTypeSet registered_directory_types =
- GetRegisteredDirectoryDataTypes();
- const syncer::ModelTypeSet preferred_types =
- sync_prefs_.GetPreferredDataTypes(registered_directory_types);
- const syncer::ModelTypeSet enforced_types =
- Intersection(GetDataTypesFromPreferenceProviders(),
- registered_directory_types);
- return Union(preferred_types, enforced_types);
-}
-
-syncer::ModelTypeSet
-ProfileSyncService::GetPreferredNonBlockingDataTypes() const {
- return sync_prefs_.GetPreferredDataTypes(GetRegisteredNonBlockingDataTypes());
-}
-
syncer::ModelTypeSet ProfileSyncService::GetForcedDataTypes() const {
// TODO(treib,zea): When SyncPrefs also implements SyncTypePreferenceProvider,
// we'll need another way to distinguish user-choosable types from
@@ -1911,28 +1849,17 @@ syncer::ModelTypeSet ProfileSyncService::GetForcedDataTypes() const {
}
syncer::ModelTypeSet ProfileSyncService::GetRegisteredDataTypes() const {
- return Union(GetRegisteredDirectoryDataTypes(),
- GetRegisteredNonBlockingDataTypes());
-}
-
-syncer::ModelTypeSet
-ProfileSyncService::GetRegisteredDirectoryDataTypes() const {
syncer::ModelTypeSet registered_types;
- // The directory_data_type_controllers_ are determined by command-line flags;
+ // The data_type_controllers_ are determined by command-line flags;
// that's effectively what controls the values returned here.
for (DataTypeController::TypeMap::const_iterator it =
- directory_data_type_controllers_.begin();
- it != directory_data_type_controllers_.end(); ++it) {
+ data_type_controllers_.begin();
+ it != data_type_controllers_.end(); ++it) {
registered_types.Put(it->first);
}
return registered_types;
}
-syncer::ModelTypeSet
-ProfileSyncService::GetRegisteredNonBlockingDataTypes() const {
- return non_blocking_data_type_manager_.GetRegisteredTypes();
-}
-
bool ProfileSyncService::IsUsingSecondaryPassphrase() const {
syncer::PassphraseType passphrase_type = GetPassphraseType();
return passphrase_type == syncer::FROZEN_IMPLICIT_PASSPHRASE ||
@@ -1962,22 +1889,18 @@ void ProfileSyncService::ConfigureDataTypeManager() {
return;
bool restart = false;
- if (!directory_data_type_manager_) {
+ if (!data_type_manager_) {
restart = true;
- directory_data_type_manager_.reset(
- factory_->CreateDataTypeManager(debug_info_listener_,
- &directory_data_type_controllers_,
- this,
- backend_.get(),
- this));
+ data_type_manager_.reset(factory_->CreateDataTypeManager(
+ debug_info_listener_, &data_type_controllers_, this, backend_.get(),
+ this));
// We create the migrator at the same time.
- migrator_.reset(
- new browser_sync::BackendMigrator(
- profile_->GetDebugName(), GetUserShare(),
- this, directory_data_type_manager_.get(),
- base::Bind(&ProfileSyncService::StartSyncingWithServer,
- base::Unretained(this))));
+ migrator_.reset(new browser_sync::BackendMigrator(
+ profile_->GetDebugName(), GetUserShare(), this,
+ data_type_manager_.get(),
+ base::Bind(&ProfileSyncService::StartSyncingWithServer,
+ base::Unretained(this))));
}
syncer::ModelTypeSet types;
@@ -1986,7 +1909,7 @@ void ProfileSyncService::ConfigureDataTypeManager() {
types = syncer::BackupTypes();
reason = syncer::CONFIGURE_REASON_BACKUP_ROLLBACK;
} else {
- types = GetPreferredDirectoryDataTypes();
+ types = GetPreferredDataTypes();
if (!HasSyncSetupCompleted()) {
reason = syncer::CONFIGURE_REASON_NEW_CLIENT;
} else if (restart) {
@@ -2002,7 +1925,7 @@ void ProfileSyncService::ConfigureDataTypeManager() {
}
}
- directory_data_type_manager_->Configure(types, reason);
+ data_type_manager_->Configure(types, reason);
}
syncer::UserShare* ProfileSyncService::GetUserShare() const {
@@ -2117,9 +2040,6 @@ base::Value* ProfileSyncService::GetTypeStatusMap() const {
} else if (throttled_types.Has(type)) {
type_status->SetString("status", "warning");
type_status->SetString("value", "Throttled");
- } else if (GetRegisteredNonBlockingDataTypes().Has(type)) {
- type_status->SetString("status", "ok");
- type_status->SetString("value", "Non-Blocking");
} else if (active_types.Has(type)) {
type_status->SetString("status", "ok");
type_status->SetString("value", "Active: " +
@@ -2455,24 +2375,24 @@ void GetAllNodesRequestHelper::OnReceivedNodesForTypes(
void ProfileSyncService::GetAllNodes(
const base::Callback<void(scoped_ptr<base::ListValue>)>& callback) {
- ModelTypeSet directory_types = GetRegisteredDirectoryDataTypes();
- directory_types.PutAll(syncer::ControlTypes());
+ // TODO(stanisc): crbug.com/328606: Make this work for USS datatypes.
+ ModelTypeSet all_types = GetRegisteredDataTypes();
+ all_types.PutAll(syncer::ControlTypes());
scoped_refptr<GetAllNodesRequestHelper> helper =
- new GetAllNodesRequestHelper(directory_types, callback);
+ new GetAllNodesRequestHelper(all_types, callback);
if (!backend_initialized_) {
// If there's no backend available to fulfill the request, handle it here.
ScopedVector<base::ListValue> empty_results;
std::vector<ModelType> type_vector;
- for (ModelTypeSet::Iterator it = directory_types.First();
- it.Good(); it.Inc()) {
+ for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) {
type_vector.push_back(it.Get());
empty_results.push_back(new base::ListValue());
}
helper->OnReceivedNodesForTypes(type_vector, empty_results.Pass());
} else {
backend_->GetAllNodesForTypes(
- directory_types,
+ all_types,
base::Bind(&GetAllNodesRequestHelper::OnReceivedNodesForTypes, helper));
}
}
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | components/sync_driver.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698