| Index: components/sync/driver/directory_data_type_controller.cc
|
| diff --git a/components/sync/driver/directory_data_type_controller.cc b/components/sync/driver/directory_data_type_controller.cc
|
| index 62a1720ab5ecb0ba115c70a1d80ecd9cfdfd4ac8..cae851d7a70e45fc82fc1d5121887e509f9a2d81 100644
|
| --- a/components/sync/driver/directory_data_type_controller.cc
|
| +++ b/components/sync/driver/directory_data_type_controller.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "components/sync/driver/directory_data_type_controller.h"
|
|
|
| +#include "base/memory/ptr_util.h"
|
| +#include "base/threading/thread_task_runner_handle.h"
|
| #include "components/sync/core/user_share.h"
|
| #include "components/sync/driver/backend_data_type_configurer.h"
|
| #include "components/sync/driver/sync_service.h"
|
| @@ -33,6 +35,23 @@ void DirectoryDataTypeController::GetAllNodes(
|
| callback.Run(type(), std::move(node_list));
|
| }
|
|
|
| +void DirectoryDataTypeController::GetStatusCounters(
|
| + const StatusCountersCallback& callback) {
|
| + std::vector<int> num_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
|
| + std::vector<int> num_to_delete_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
|
| + sync_client_->GetSyncService()
|
| + ->GetUserShare()
|
| + ->directory->CollectMetaHandleCounts(&num_entries_by_type,
|
| + &num_to_delete_entries_by_type);
|
| + std::unique_ptr<syncer::StatusCounters> counters =
|
| + base::MakeUnique<syncer::StatusCounters>();
|
| + counters->num_entries_and_tombstones = num_entries_by_type[type()];
|
| + counters->num_entries =
|
| + num_entries_by_type[type()] - num_to_delete_entries_by_type[type()];
|
| + base::ThreadTaskRunnerHandle::Get()->PostTask(
|
| + FROM_HERE, base::Bind(callback, type(), base::Passed(&counters)));
|
| +};
|
| +
|
| void DirectoryDataTypeController::RegisterWithBackend(
|
| BackendDataTypeConfigurer* configurer) {}
|
|
|
|
|