Chromium Code Reviews| 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, |