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

Unified Diff: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm

Issue 2653693004: UKM Sync Observer (Closed)
Patch Set: Suppress recording and fix tests Created 3 years, 10 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: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
index 7cbd896b6c2e829fbe680c5f6d32d8d2a23ce2a1..8ea21f626c50e73a4c69b18a0b20ddc40766dcda 100644
--- a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
+++ b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
@@ -20,6 +20,7 @@
#include "base/rand_util.h"
#include "base/strings/string16.h"
#include "base/threading/platform_thread.h"
+#include "components/browser_sync/profile_sync_service.h"
#include "components/crash/core/common/crash_keys.h"
#include "components/history/core/browser/history_service.h"
#include "components/keyed_service/core/service_access_type.h"
@@ -54,6 +55,7 @@
#include "ios/chrome/browser/metrics/ios_chrome_stability_metrics_provider.h"
#include "ios/chrome/browser/metrics/mobile_session_shutdown_metrics_provider.h"
#include "ios/chrome/browser/signin/ios_chrome_signin_status_metrics_provider_delegate.h"
+#include "ios/chrome/browser/sync/ios_chrome_profile_sync_service_factory.h"
#include "ios/chrome/browser/sync/ios_chrome_sync_client.h"
#include "ios/chrome/browser/tab_parenting_global_observer.h"
#include "ios/chrome/browser/tabs/tab_model_list.h"
@@ -327,16 +329,20 @@ void IOSChromeMetricsServiceClient::RegisterForNotifications() {
->GetChromeBrowserStateManager()
->GetLoadedBrowserStates();
for (ios::ChromeBrowserState* browser_state : loaded_browser_states) {
- RegisterForHistoryDeletions(browser_state);
+ RegisterForBrowserStateEvents(browser_state);
}
}
-void IOSChromeMetricsServiceClient::RegisterForHistoryDeletions(
+void IOSChromeMetricsServiceClient::RegisterForBrowserStateEvents(
ios::ChromeBrowserState* browser_state) {
history::HistoryService* history_service =
ios::HistoryServiceFactory::GetForBrowserState(
browser_state, ServiceAccessType::IMPLICIT_ACCESS);
ObserveServiceForDeletions(history_service);
+ browser_sync::ProfileSyncService* sync =
+ IOSChromeProfileSyncServiceFactory::GetInstance()->GetForBrowserState(
+ browser_state);
+ ObserveServiceForSyncDisables(static_cast<syncer::SyncService*>(sync));
}
void IOSChromeMetricsServiceClient::OnTabParented(web::WebState* web_state) {
@@ -357,3 +363,14 @@ void IOSChromeMetricsServiceClient::OnHistoryDeleted() {
if (ukm_service_)
ukm_service_->Purge();
}
+
+void IOSChromeMetricsServiceClient::OnSyncPrefsChanged(bool must_purge) {
+ if (ukm_service_) {
+ if (must_purge) {
+ ukm_service_->Purge();
+ ukm_service_->ResetClientId();
+ }
+ if (update_running_services_)
+ update_running_services_.Run();
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698