Chromium Code Reviews| Index: components/sync/driver/non_blocking_data_type_controller.cc |
| diff --git a/components/sync/driver/non_blocking_data_type_controller.cc b/components/sync/driver/non_blocking_data_type_controller.cc |
| index a01905d7af7ca012dead37a7230d33d9192bc539..c28d4810298a3a30cf2e9e1afe9ea3a791192757 100644 |
| --- a/components/sync/driver/non_blocking_data_type_controller.cc |
| +++ b/components/sync/driver/non_blocking_data_type_controller.cc |
| @@ -91,6 +91,23 @@ void NonBlockingDataTypeController::GetAllNodes( |
| base::ThreadTaskRunnerHandle::Get(), callback)); |
| } |
| +void NonBlockingDataTypeController::GetStatusCounters( |
| + const StatusCountersCallback& callback) { |
| + base::WeakPtr<syncer_v2::ModelTypeService> service = |
| + sync_client_->GetModelTypeServiceForType(type()); |
| + // TODO(gangwu): Casting should happen "near" where the processor factory has |
| + // code that instantiates a new processor. |
| + syncer_v2::SharedModelTypeProcessor* processor = |
| + (syncer_v2::SharedModelTypeProcessor*)service->change_processor(); |
| + if (processor != nullptr) { |
| + RunOnModelThread( |
| + FROM_HERE, |
| + base::Bind(&syncer_v2::SharedModelTypeProcessor::GetStatusCounters, |
| + base::Unretained(processor), |
|
pavely
2016/10/03 21:40:14
Why is it safe to pass processor as Unretained poi
Gang Wu
2016/10/06 00:20:22
Done.
|
| + base::ThreadTaskRunnerHandle::Get(), callback)); |
| + } |
| +} |
| + |
| void NonBlockingDataTypeController::LoadModelsDone( |
| ConfigureResult result, |
| const syncer::SyncError& error) { |