diff options
author | zea <zea@chromium.org> | 2014-09-02 11:30:33 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-02 18:36:44 +0000 |
commit | fe2ae5fbf23243039bdc94f8f8672bc371f5339f (patch) | |
tree | e6fab663dfc01928e8a7ebf26a0626645e40936e /components/sync_driver/data_type_manager_impl.h | |
parent | bf2cd357fc230d28ccb9708097cc8a16aebe3e71 (diff) | |
download | chromium_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.h | 7 |
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_; |