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

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

Issue 2374913002: [USS] Show USS counters in about:sync page (Closed)
Patch Set: For IOS Created 4 years, 3 months 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/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) {}

Powered by Google App Engine
This is Rietveld 408576698