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

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

Issue 2374913002: [USS] Show USS counters in about:sync page (Closed)
Patch Set: remove unique_ptr and rebase Created 4 years, 2 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..b80875478227e0d1c15d8406d6a7c29f1350ce65 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,26 @@ 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);
+ syncer::StatusCounters counters;
+ 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()];
+
+ // do post here even already on UI thread, because need to send real counters
pavely 2016/10/03 21:40:14 I attempted to rewrite this comment: We post callb
Gang Wu 2016/10/06 00:20:22 Done.
+ // for each data type after GetTypeStatusMap pass empty dictionary to UI.
+ // Otherwise UI will receive real counters first, then empty data.
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::Bind(callback, type(), counters));
+};
+
void DirectoryDataTypeController::RegisterWithBackend(
BackendDataTypeConfigurer* configurer) {}

Powered by Google App Engine
This is Rietveld 408576698