Migrate MetricsProviders to new Provide functions.

ProvideInitialStabilityMetrics and ProvideGeneralMetrics are migrated
to ProvidePreviousSessionData and ProvideCurrentSessionData.

HasInitialStabilityMetrics renamed to HasPreviousSessionData.

Providers which only use ProvideStabilityMetrics are left unchanged,
but ones which use it with the others are also updated.

TBR=olivierrobin,andrewhayden,vakh,mpearson,skym,msarda

Bug: 742508
Change-Id: I3885e508ced837d3ef71511361aad209fb72a904
Reviewed-on: https://chromium-review.googlesource.com/583566
Reviewed-by: Steven Holte <[email protected]>
Reviewed-by: Robert Kaplow <[email protected]>
Commit-Queue: Steven Holte <[email protected]>
Cr-Commit-Position: refs/heads/master@{#489517}
diff --git a/chrome/browser/metrics/android_metrics_provider.cc b/chrome/browser/metrics/android_metrics_provider.cc
index 79847f4..56d362b7 100644
--- a/chrome/browser/metrics/android_metrics_provider.cc
+++ b/chrome/browser/metrics/android_metrics_provider.cc
@@ -37,13 +37,14 @@
 AndroidMetricsProvider::~AndroidMetricsProvider() {
 }
 
-void AndroidMetricsProvider::ProvideStabilityMetrics(
-    metrics::SystemProfileProto* system_profile_proto) {
+void AndroidMetricsProvider::ProvidePreviousSessionData(
+    metrics::ChromeUserMetricsExtension* uma_proto) {
   ConvertStabilityPrefsToHistograms();
 }
 
-void AndroidMetricsProvider::ProvideGeneralMetrics(
+void AndroidMetricsProvider::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
+  ConvertStabilityPrefsToHistograms();
   UMA_HISTOGRAM_ENUMERATION(
       "CustomTabs.Visible",
       chrome::android::GetCustomTabsVisibleValue(),
diff --git a/chrome/browser/metrics/android_metrics_provider.h b/chrome/browser/metrics/android_metrics_provider.h
index bdab08a..0302af3f 100644
--- a/chrome/browser/metrics/android_metrics_provider.h
+++ b/chrome/browser/metrics/android_metrics_provider.h
@@ -24,9 +24,9 @@
   ~AndroidMetricsProvider() override;
 
   // metrics::MetricsProvider:
-  void ProvideStabilityMetrics(
-      metrics::SystemProfileProto* system_profile_proto) override;
-  void ProvideGeneralMetrics(
+  void ProvidePreviousSessionData(
+      metrics::ChromeUserMetricsExtension* uma_proto) override;
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
 
   // Called when the Activity that the user interacts with is swapped out.
diff --git a/chrome/browser/metrics/chromeos_metrics_provider.cc b/chrome/browser/metrics/chromeos_metrics_provider.cc
index 96630f3..09aaaba 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider.cc
+++ b/chrome/browser/metrics/chromeos_metrics_provider.cc
@@ -243,8 +243,14 @@
   }
 }
 
-void ChromeOSMetricsProvider::ProvideGeneralMetrics(
+void ChromeOSMetricsProvider::ProvidePreviousSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
+  ProvideStabilityMetrics(uma_proto->mutable_system_profile());
+}
+
+void ChromeOSMetricsProvider::ProvideCurrentSessionData(
+    metrics::ChromeUserMetricsExtension* uma_proto) {
+  ProvideStabilityMetrics(uma_proto->mutable_system_profile());
   std::vector<SampledProfile> sampled_profiles;
   if (perf_provider_.GetSampledProfiles(&sampled_profiles)) {
     for (auto& profile : sampled_profiles) {
diff --git a/chrome/browser/metrics/chromeos_metrics_provider.h b/chrome/browser/metrics/chromeos_metrics_provider.h
index 7e1aeaf..c61fc48 100644
--- a/chrome/browser/metrics/chromeos_metrics_provider.h
+++ b/chrome/browser/metrics/chromeos_metrics_provider.h
@@ -63,7 +63,9 @@
       metrics::SystemProfileProto* system_profile_proto) override;
   void ProvideStabilityMetrics(
       metrics::SystemProfileProto* system_profile_proto) override;
-  void ProvideGeneralMetrics(
+  void ProvidePreviousSessionData(
+      metrics::ChromeUserMetricsExtension* uma_proto) override;
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
 
  private:
diff --git a/chrome/browser/metrics/https_engagement_metrics_provider.cc b/chrome/browser/metrics/https_engagement_metrics_provider.cc
index 185d77e..31f10954 100644
--- a/chrome/browser/metrics/https_engagement_metrics_provider.cc
+++ b/chrome/browser/metrics/https_engagement_metrics_provider.cc
@@ -13,7 +13,7 @@
 
 HttpsEngagementMetricsProvider::~HttpsEngagementMetricsProvider() {}
 
-void HttpsEngagementMetricsProvider::ProvideGeneralMetrics(
+void HttpsEngagementMetricsProvider::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
   ProfileManager* profile_manager = g_browser_process->profile_manager();
   if (!profile_manager)
diff --git a/chrome/browser/metrics/https_engagement_metrics_provider.h b/chrome/browser/metrics/https_engagement_metrics_provider.h
index 730d975..d701f84 100644
--- a/chrome/browser/metrics/https_engagement_metrics_provider.h
+++ b/chrome/browser/metrics/https_engagement_metrics_provider.h
@@ -17,7 +17,7 @@
   ~HttpsEngagementMetricsProvider() override;
 
   // metrics:MetricsProvider:
-  void ProvideGeneralMetrics(
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
 };
 
diff --git a/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc b/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc
index 87e1782c..ed17e5a 100644
--- a/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc
+++ b/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc
@@ -154,7 +154,7 @@
   }
 
   void FakeUserMetricsUpload() {
-    metrics_provider_->ProvideGeneralMetrics(NULL);
+    metrics_provider_->ProvideCurrentSessionData(NULL);
   }
 
  protected:
diff --git a/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.cc b/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.cc
index 23dfccbc6..a528343 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.cc
+++ b/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.cc
@@ -13,11 +13,12 @@
 
 CertificateReportingMetricsProvider::~CertificateReportingMetricsProvider() {}
 
-void CertificateReportingMetricsProvider::ProvideGeneralMetrics(
+void CertificateReportingMetricsProvider::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* unused) {
-  // When ProvideGeneralMetrics is called, this class is being asked to provide
-  // metrics to the metrics service. It doesn't provide any metrics though,
-  // instead it tells CertificateReportingService to upload any pending reports.
+  // When ProvideCurrentSessionData is called, this class is being asked to
+  // provide metrics to the metrics service. It doesn't provide any metrics
+  // though, instead it tells CertificateReportingService to upload any pending
+  // reports.
   ProfileManager* profile_manager = g_browser_process->profile_manager();
   if (!profile_manager)
     return;
diff --git a/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h b/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h
index f22819e..4b0a5982 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h
+++ b/chrome/browser/safe_browsing/certificate_reporting_metrics_provider.h
@@ -21,7 +21,7 @@
   ~CertificateReportingMetricsProvider() override;
 
   // metrics:MetricsProvider:
-  void ProvideGeneralMetrics(
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* unused) override;
 };
 
diff --git a/chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.cc b/chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.cc
index 76ebab7..dca9427 100644
--- a/chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.cc
+++ b/chrome/browser/signin/chrome_signin_status_metrics_provider_delegate.cc
@@ -126,7 +126,7 @@
     owner()->UpdateSigninStatus(
         SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS);
   } else if (status == SigninStatusMetricsProviderBase::UNKNOWN_SIGNIN_STATUS) {
-    // If when function ProvideGeneralMetrics() is called, Chrome is
+    // If when function ProvideCurrentSessionData() is called, Chrome is
     // running in the background with no browser window opened, |signin_status_|
     // will be reset to |UNKNOWN_SIGNIN_STATUS|. Then this newly added browser
     // is the only opened browser/profile and its signin status represents
diff --git a/chrome/browser/signin/signin_status_metrics_provider_chromeos.cc b/chrome/browser/signin/signin_status_metrics_provider_chromeos.cc
index fc8856e..dce97a1f 100644
--- a/chrome/browser/signin/signin_status_metrics_provider_chromeos.cc
+++ b/chrome/browser/signin/signin_status_metrics_provider_chromeos.cc
@@ -31,7 +31,7 @@
 SigninStatusMetricsProviderChromeOS::~SigninStatusMetricsProviderChromeOS() {
 }
 
-void SigninStatusMetricsProviderChromeOS::ProvideGeneralMetrics(
+void SigninStatusMetricsProviderChromeOS::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
   // Compare the current logged-in status with the recorded one and compute
   // sign-in status that should be reported.
diff --git a/chrome/browser/signin/signin_status_metrics_provider_chromeos.h b/chrome/browser/signin/signin_status_metrics_provider_chromeos.h
index e9ff719..7012b14 100644
--- a/chrome/browser/signin/signin_status_metrics_provider_chromeos.h
+++ b/chrome/browser/signin/signin_status_metrics_provider_chromeos.h
@@ -22,7 +22,7 @@
   ~SigninStatusMetricsProviderChromeOS() override;
 
   // SigninStatusMetricsProviderBase:
-  void ProvideGeneralMetrics(
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
 
  private:
diff --git a/chrome/browser/translate/translate_ranker_metrics_provider.cc b/chrome/browser/translate/translate_ranker_metrics_provider.cc
index cefb656..8f73761 100644
--- a/chrome/browser/translate/translate_ranker_metrics_provider.cc
+++ b/chrome/browser/translate/translate_ranker_metrics_provider.cc
@@ -13,7 +13,7 @@
 
 namespace translate {
 
-void TranslateRankerMetricsProvider::ProvideGeneralMetrics(
+void TranslateRankerMetricsProvider::ProvideCurrentSessionData(
     metrics::ChromeUserMetricsExtension* uma_proto) {
   std::vector<Profile*> loaded_profiles =
       g_browser_process->profile_manager()->GetLoadedProfiles();
diff --git a/chrome/browser/translate/translate_ranker_metrics_provider.h b/chrome/browser/translate/translate_ranker_metrics_provider.h
index 65af105..4d38ee907 100644
--- a/chrome/browser/translate/translate_ranker_metrics_provider.h
+++ b/chrome/browser/translate/translate_ranker_metrics_provider.h
@@ -17,7 +17,7 @@
   ~TranslateRankerMetricsProvider() override {}
 
   // From metrics::MetricsProvider...
-  void ProvideGeneralMetrics(
+  void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
   void OnRecordingEnabled() override;
   void OnRecordingDisabled() override;