| Index: chrome/browser/metrics/chrome_metrics_service_client.h
|
| diff --git a/chrome/browser/metrics/chrome_metrics_service_client.h b/chrome/browser/metrics/chrome_metrics_service_client.h
|
| index 3f6d57d332cdfd242793a50f4b4a6f63004987d3..bf7e3b6fe8c443ed77427e722ade8d98e34c970b 100644
|
| --- a/chrome/browser/metrics/chrome_metrics_service_client.h
|
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.h
|
| @@ -22,6 +22,7 @@
|
| #include "components/metrics/profiler/tracking_synchronizer_observer.h"
|
| #include "components/metrics/proto/system_profile.pb.h"
|
| #include "components/omnibox/browser/omnibox_event_global_tracker.h"
|
| +#include "components/ukm/observers/history_delete_observer.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "ppapi/features/features.h"
|
| @@ -30,6 +31,7 @@ class AntiVirusMetricsProvider;
|
| class ChromeOSMetricsProvider;
|
| class GoogleUpdateMetricsProviderWin;
|
| class PluginMetricsProvider;
|
| +class Profile;
|
| class PrefRegistrySimple;
|
|
|
| namespace browser_watcher {
|
| @@ -45,10 +47,10 @@ class ProfilerMetricsProvider;
|
|
|
| // ChromeMetricsServiceClient provides an implementation of MetricsServiceClient
|
| // that depends on chrome/.
|
| -class ChromeMetricsServiceClient
|
| - : public metrics::MetricsServiceClient,
|
| - public metrics::TrackingSynchronizerObserver,
|
| - public content::NotificationObserver {
|
| +class ChromeMetricsServiceClient : public metrics::MetricsServiceClient,
|
| + public metrics::TrackingSynchronizerObserver,
|
| + public content::NotificationObserver,
|
| + public ukm::HistoryDeleteObserver {
|
| public:
|
| ~ChromeMetricsServiceClient() override;
|
|
|
| @@ -61,6 +63,7 @@ class ChromeMetricsServiceClient
|
|
|
| // metrics::MetricsServiceClient:
|
| metrics::MetricsService* GetMetricsService() override;
|
| + ukm::UkmService* GetUkmService() override;
|
| void SetMetricsClientId(const std::string& client_id) override;
|
| int32_t GetProduct() override;
|
| std::string GetApplicationLocale() override;
|
| @@ -83,6 +86,9 @@ class ChromeMetricsServiceClient
|
| metrics::EnableMetricsDefault GetMetricsReportingDefaultState() override;
|
| bool IsUMACellularUploadLogicEnabled() override;
|
|
|
| + // ukm::HistoryDeleteObserver
|
| + void OnHistoryDeleted() override;
|
| +
|
| // Persistent browser metrics need to be persisted somewhere. This constant
|
| // provides a known string to be used for both the allocator's internal name
|
| // and for a file on disk (relative to chrome::DIR_USER_DATA) to which they
|
| @@ -129,6 +135,9 @@ class ChromeMetricsServiceClient
|
| // there was recent activity.
|
| void RegisterForNotifications();
|
|
|
| + // Call to listen for history deletions by the selected profile.
|
| + void RegisterForHistoryDeletions(Profile* profile);
|
| +
|
| // content::NotificationObserver:
|
| void Observe(int type,
|
| const content::NotificationSource& source,
|
| @@ -151,6 +160,9 @@ class ChromeMetricsServiceClient
|
| // The MetricsService that |this| is a client of.
|
| std::unique_ptr<metrics::MetricsService> metrics_service_;
|
|
|
| + // The UkmService that |this| is a client of.
|
| + std::unique_ptr<ukm::UkmService> ukm_service_;
|
| +
|
| content::NotificationRegistrar registrar_;
|
|
|
| #if defined(OS_CHROMEOS)
|
|
|