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

Unified Diff: components/sync/driver/directory_data_type_controller.h

Issue 2641523004: [Sync] Make directory types registration explicit in ModelTypeRegistry (Closed)
Patch Set: Address comments Created 3 years, 11 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: components/sync/driver/directory_data_type_controller.h
diff --git a/components/sync/driver/directory_data_type_controller.h b/components/sync/driver/directory_data_type_controller.h
index b4b2777894bfe0a1917aba93752286f1a84be48e..d05bddc569b914cb67f4690b81554d9a0591b456 100644
--- a/components/sync/driver/directory_data_type_controller.h
+++ b/components/sync/driver/directory_data_type_controller.h
@@ -23,12 +23,13 @@ class DirectoryDataTypeController : public DataTypeController {
// DataTypeController implementation.
bool ShouldLoadModelBeforeConfigure() const override;
- void GetAllNodes(const AllNodesCallback& callback) override;
- void GetStatusCounters(const StatusCountersCallback& callback) override;
- // Directory based data types don't need to register with backend.
- // ModelTypeRegistry will create all necessary objects in
- // SetEnabledDirectoryTypes based on routing info.
+ // Directory types need to register with sync engine before LoadModels because
+ // downloading initial data happens in parallel with LoadModels.
+ void BeforeLoadModels(ModelTypeConfigurer* configurer) override;
+
+ // Directory based data types register with backend before LoadModels in
+ // BeforeLoadModels. No need to do anything in RegisterWithBackend.
void RegisterWithBackend(base::Callback<void(bool)> set_downloaded,
ModelTypeConfigurer* configurer) override;
@@ -46,6 +47,9 @@ class DirectoryDataTypeController : public DataTypeController {
// See ModelTypeConfigurer::DeactivateDataType for more details.
void DeactivateDataType(ModelTypeConfigurer* configurer) override;
+ void GetAllNodes(const AllNodesCallback& callback) override;
+ void GetStatusCounters(const StatusCountersCallback& callback) override;
+
// Returns a ListValue representing all nodes for a specified type by querying
// the directory.
static std::unique_ptr<base::ListValue> GetAllNodesForTypeFromDirectory(
« no previous file with comments | « components/sync/driver/data_type_manager_impl_unittest.cc ('k') | components/sync/driver/directory_data_type_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698