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

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

Issue 2508263003: [sync] skeleton implementation of AutocompleteSyncBridge (Closed)
Patch Set: [sync] skeleton implementation of autocomplete_sync_bridge 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..0cb29e00bbd2f07a5f2112587815dc5d0638da39 100644
--- a/components/sync/driver/model_type_controller.cc
+++ b/components/sync/driver/model_type_controller.cc
@@ -26,6 +26,36 @@
namespace syncer {
+namespace {
maxbogue 2016/11/18 22:22:36 line below
Patrick Noland 2016/11/22 18:51:05 Done.
+static void CallOnSyncStartingHelper(
maxbogue 2016/11/18 22:22:36 static here and on the other two is actually redun
Patrick Noland 2016/11/22 18:51:05 Done.
+ SyncClient* sync_client,
+ ModelType type,
+ std::unique_ptr<DataTypeErrorHandler> error_handler,
+ ModelTypeChangeProcessor::StartCallback callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ bridge->OnSyncStarting(std::move(error_handler), callback);
pavely 2016/11/21 22:54:19 You need to explicitly check if bridge is still va
Patrick Noland 2016/11/22 18:51:05 Done.
+}
+
+static void CallGetAllNodesHelper(
+ SyncClient* sync_client,
+ ModelType type,
+ DataTypeController::AllNodesCallback callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ ModelTypeDebugInfo::GetAllNodes(bridge, callback);
+}
+
+static void CallGetStatusCountersHelper(
+ SyncClient* sync_client,
+ ModelType type,
+ const DataTypeController::StatusCountersCallback& callback) {
+ base::WeakPtr<ModelTypeSyncBridge> bridge =
+ sync_client->GetSyncBridgeForModelType(type);
+ ModelTypeDebugInfo::GetStatusCounters(bridge, callback);
+}
+} // namespace
maxbogue 2016/11/18 22:22:36 line above
Patrick Noland 2016/11/22 18:51:05 Done.
+
ModelTypeController::ModelTypeController(
ModelType type,
const base::Closure& dump_stack,
@@ -69,26 +99,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));
pavely 2016/11/21 22:54:19 Unrelated to your change... Do we need BindToCurre
Patrick Noland 2016/11/22 18:51:05 As far as I can tell, yes. Done.
}
void ModelTypeController::LoadModelsDone(ConfigureResult result,

Powered by Google App Engine
This is Rietveld 408576698