Reduce plugin_metrics_provider_ usage in MetricsService
This CL eliminates MetricsService's call to
PluginMetricsProvider::RecordPluginChanges (replaced by a new API on
MetricsProvider). It additionally adds a
MetricsServicesManager::OnPluginLoadingError() API and has the plugin observer
call that API rather than calling MetricsService directly. This change will
enable easily moving MetricsService::LogPluginLoadingError() to
ChromeMetricsServiceClient once the latter is the class that keeps a weak
pointer to the plugin metrics provider.
BUG=375776
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=274403
Review URL: https://codereview.chromium.org/308433004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275404 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_services_manager.h b/chrome/browser/metrics/metrics_services_manager.h
index 6e16b162..1d771772 100644
--- a/chrome/browser/metrics/metrics_services_manager.h
+++ b/chrome/browser/metrics/metrics_services_manager.h
@@ -13,6 +13,10 @@
class MetricsService;
class PrefService;
+namespace base {
+class FilePath;
+}
+
namespace metrics {
class MetricsStateManager;
}
@@ -43,6 +47,9 @@
// Returns the VariationsService, creating it if it hasn't been created yet.
chrome_variations::VariationsService* GetVariationsService();
+ // Should be called when a plugin loading error occurs.
+ void OnPluginLoadingError(const base::FilePath& plugin_path);
+
private:
metrics::MetricsStateManager* GetMetricsStateManager();