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) { |