summaryrefslogtreecommitdiffstats
path: root/components/sync_driver/data_type_manager_impl.h
diff options
context:
space:
mode:
authorzea <zea@chromium.org>2014-09-02 11:30:33 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-02 18:36:44 +0000
commitfe2ae5fbf23243039bdc94f8f8672bc371f5339f (patch)
treee6fab663dfc01928e8a7ebf26a0626645e40936e /components/sync_driver/data_type_manager_impl.h
parentbf2cd357fc230d28ccb9708097cc8a16aebe3e71 (diff)
downloadchromium_src-fe2ae5fbf23243039bdc94f8f8672bc371f5339f.zip
chromium_src-fe2ae5fbf23243039bdc94f8f8672bc371f5339f.tar.gz
chromium_src-fe2ae5fbf23243039bdc94f8f8672bc371f5339f.tar.bz2
[Sync] Move DataTypeStatusTable ownership into DataTypeManager.
The DataTypeManager now maintains its own status table, which it posts a copy of on each configuration completion. This makes testing configuration results easier as we can now just check the type status table, and makes the DTM more self contained. To make this work a HistoryDeleteDirectives datatype controller was added to encapsulate the encryption dependency the type has. Additionally, the PSS is now able to tell the DTM to reset type errors (e.g. when the user is attempting to re-configure with or without certain types). BUG=368834 Review URL: https://codereview.chromium.org/523043005 Cr-Commit-Position: refs/heads/master@{#292962}
Diffstat (limited to 'components/sync_driver/data_type_manager_impl.h')
-rw-r--r--components/sync_driver/data_type_manager_impl.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/components/sync_driver/data_type_manager_impl.h b/components/sync_driver/data_type_manager_impl.h
index abd7fbc..7d0b101 100644
--- a/components/sync_driver/data_type_manager_impl.h
+++ b/components/sync_driver/data_type_manager_impl.h
@@ -30,7 +30,6 @@ namespace sync_driver {
class DataTypeController;
class DataTypeEncryptionHandler;
class DataTypeManagerObserver;
-class DataTypeStatusTable;
// List of data types grouped by priority and ordered from high priority to
// low priority.
@@ -46,14 +45,14 @@ class DataTypeManagerImpl : public DataTypeManager,
const DataTypeController::TypeMap* controllers,
const DataTypeEncryptionHandler* encryption_handler,
BackendDataTypeConfigurer* configurer,
- DataTypeManagerObserver* observer,
- DataTypeStatusTable* data_type_status_table);
+ DataTypeManagerObserver* observer);
virtual ~DataTypeManagerImpl();
// DataTypeManager interface.
virtual void Configure(syncer::ModelTypeSet desired_types,
syncer::ConfigureReason reason) OVERRIDE;
virtual void ReenableType(syncer::ModelType type) OVERRIDE;
+ virtual void ResetDataTypeErrors() OVERRIDE;
// Needed only for backend migration.
virtual void PurgeForMigration(
@@ -163,7 +162,7 @@ class DataTypeManagerImpl : public DataTypeManager,
// For querying failed data types (having unrecoverable error) when
// configuring backend.
- DataTypeStatusTable* data_type_status_table_;
+ DataTypeStatusTable data_type_status_table_;
// Types waiting to be downloaded.
TypeSetPriorityList download_types_queue_;