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

Unified Diff: components/sync/driver/model_type_controller.cc

Issue 2508263003: [sync] skeleton implementation of AutocompleteSyncBridge (Closed)
Patch Set: Max's comments; merged chrome_sync_client Created 4 years, 1 month 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/model_type_controller.cc
diff --git a/components/sync/driver/model_type_controller.cc b/components/sync/driver/model_type_controller.cc
index 313c8c4d5b3ba5a97f6ce1fca7230ed79ba061df..7b506b81059e606af1caa421ebd83549146b6f46 100644
--- a/components/sync/driver/model_type_controller.cc
+++ b/components/sync/driver/model_type_controller.cc
@@ -26,6 +26,43 @@
namespace syncer {
+namespace {
+
+void CallOnSyncStartingHelper(
+ SyncClient* sync_client,
+ ModelType type,
+ std::unique_ptr<DataTypeErrorHandler> error_handler,
+ ModelTypeChangeProcessor::StartCallback callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ if (bridge) {
+ bridge->OnSyncStarting(std::move(error_handler), callback);
+ }
+}
+
+void CallGetAllNodesHelper(SyncClient* sync_client,
+ ModelType type,
+ DataTypeController::AllNodesCallback callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ if (bridge) {
+ ModelTypeDebugInfo::GetAllNodes(bridge, callback);
+ }
+}
+
+void CallGetStatusCountersHelper(
+ SyncClient* sync_client,
+ ModelType type,
+ const DataTypeController::StatusCountersCallback& callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ if (bridge) {
+ ModelTypeDebugInfo::GetStatusCounters(bridge, callback);
+ }
+}
+
+} // namespace
+
ModelTypeController::ModelTypeController(
ModelType type,
const base::Closure& dump_stack,
@@ -69,26 +106,21 @@ void ModelTypeController::LoadModels(
// Start the type processor on the model thread.
model_thread_->PostTask(
- FROM_HERE, base::Bind(&ModelTypeSyncBridge::OnSyncStarting,
- sync_client_->GetSyncBridgeForModelType(type()),
+ FROM_HERE, base::Bind(&CallOnSyncStartingHelper, sync_client_, type(),
base::Passed(CreateErrorHandler()), callback));
}
void ModelTypeController::GetAllNodes(const AllNodesCallback& callback) {
- base::WeakPtr<ModelTypeSyncBridge> bridge =
- sync_client_->GetSyncBridgeForModelType(type());
- model_thread_->PostTask(FROM_HERE,
- base::Bind(&ModelTypeDebugInfo::GetAllNodes, bridge,
- BindToCurrentThread(callback)));
+ model_thread_->PostTask(
+ FROM_HERE, base::Bind(&CallGetAllNodesHelper, sync_client_, type(),
+ BindToCurrentThread(callback)));
}
void ModelTypeController::GetStatusCounters(
const StatusCountersCallback& callback) {
- base::WeakPtr<ModelTypeSyncBridge> bridge =
- sync_client_->GetSyncBridgeForModelType(type());
model_thread_->PostTask(
FROM_HERE,
- base::Bind(&ModelTypeDebugInfo::GetStatusCounters, bridge, callback));
+ base::Bind(&CallGetStatusCountersHelper, sync_client_, type(), callback));
}
void ModelTypeController::LoadModelsDone(ConfigureResult result,
« no previous file with comments | « components/browser_sync/profile_sync_components_factory_impl.cc ('k') | components/sync/driver/sync_driver_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698