| Index: chrome/browser/ui/webui/sync_internals_message_handler.h
|
| diff --git a/chrome/browser/ui/webui/sync_internals_message_handler.h b/chrome/browser/ui/webui/sync_internals_message_handler.h
|
| index 833a4fcebc430760b55b8dd610b23a7711879d9f..e3e15127e557154b952f14f54bce014cb6d80876 100644
|
| --- a/chrome/browser/ui/webui/sync_internals_message_handler.h
|
| +++ b/chrome/browser/ui/webui/sync_internals_message_handler.h
|
| @@ -15,17 +15,18 @@
|
| #include "chrome/browser/sync/profile_sync_service_observer.h"
|
| #include "chrome/browser/sync/protocol_event_observer.h"
|
| #include "content/public/browser/web_ui_message_handler.h"
|
| +#include "sync/internal_api/public/sessions/type_debug_info_observer.h"
|
| #include "sync/js/js_controller.h"
|
| #include "sync/js/js_event_handler.h"
|
|
|
| class ProfileSyncService;
|
|
|
| // The implementation for the chrome://sync-internals page.
|
| -class SyncInternalsMessageHandler
|
| - : public content::WebUIMessageHandler,
|
| - public syncer::JsEventHandler,
|
| - public ProfileSyncServiceObserver,
|
| - public browser_sync::ProtocolEventObserver {
|
| +class SyncInternalsMessageHandler : public content::WebUIMessageHandler,
|
| + public syncer::JsEventHandler,
|
| + public ProfileSyncServiceObserver,
|
| + public browser_sync::ProtocolEventObserver,
|
| + public syncer::TypeDebugInfoObserver {
|
| public:
|
| SyncInternalsMessageHandler();
|
| virtual ~SyncInternalsMessageHandler();
|
| @@ -35,6 +36,9 @@ class SyncInternalsMessageHandler
|
| // Sets up observers to receive events and forward them to the UI.
|
| void HandleRegisterForEvents(const base::ListValue* args);
|
|
|
| + // Sets up observers to receive per-type counters and forward them to the UI.
|
| + void HandleRegisterForPerTypeCounters(const base::ListValue* args);
|
| +
|
| // Fires an event to send updated info back to the page.
|
| void HandleRequestUpdatedAboutInfo(const base::ListValue* args);
|
|
|
| @@ -58,6 +62,17 @@ class SyncInternalsMessageHandler
|
| // ProtocolEventObserver implementation.
|
| virtual void OnProtocolEvent(const syncer::ProtocolEvent& e) OVERRIDE;
|
|
|
| + // TypeDebugInfoObserver implementation.
|
| + virtual void OnCommitCountersUpdated(
|
| + syncer::ModelType type,
|
| + const syncer::CommitCounters& counters) OVERRIDE;
|
| + virtual void OnUpdateCountersUpdated(
|
| + syncer::ModelType type,
|
| + const syncer::UpdateCounters& counters) OVERRIDE;
|
| + virtual void OnStatusCountersUpdated(
|
| + syncer::ModelType type,
|
| + const syncer::StatusCounters& counters) OVERRIDE;
|
| +
|
| private:
|
| // Fetches updated aboutInfo and sends it to the page in the form of an
|
| // onAboutInfoUpdated event.
|
| @@ -70,6 +85,10 @@ class SyncInternalsMessageHandler
|
| // A flag used to prevent double-registration with ProfileSyncService.
|
| bool is_registered_;
|
|
|
| + // A flag used to prevent double-registration as TypeDebugInfoObserver with
|
| + // ProfileSyncService.
|
| + bool is_registered_for_counters_;
|
| +
|
| base::WeakPtrFactory<SyncInternalsMessageHandler> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SyncInternalsMessageHandler);
|
|
|