Split screen info metrics out of GpuMetricsProvider

GpuMetricsProvider has two functions:
(1) Provide GPU metrics (dependent on //content)
(2) Provide screen info metrics (independent of //content)

This CL splits (2) into ScreenInfoMetricsProvider so that the iOS port
can depend cleanly on it.

BUG=527718
TBR=halliwell, jochen

Review URL: https://codereview.chromium.org/1380953004

Cr-Commit-Position: refs/heads/master@{#353510}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 36990e6..b85eb2d5 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -133,6 +133,7 @@
     "//components/metrics:net",
     "//components/metrics:profiler",
     "//components/metrics/proto:proto",
+    "//components/metrics:ui",
     "//components/mime_util",
     "//components/navigation_metrics",
     "//components/network_time",
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
index 67dec95..cb43094bb 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -40,6 +40,7 @@
 #include "components/metrics/profiler/profiler_metrics_provider.h"
 #include "components/metrics/profiler/tracking_synchronizer.h"
 #include "components/metrics/stability_metrics_helper.h"
+#include "components/metrics/ui/screen_info_metrics_provider.h"
 #include "components/metrics/url_constants.h"
 #include "components/omnibox/browser/omnibox_metrics_provider.h"
 #include "components/variations/variations_associated_data.h"
@@ -321,6 +322,9 @@
           g_browser_process->local_state())));
   metrics_service_->RegisterMetricsProvider(
       scoped_ptr<metrics::MetricsProvider>(new metrics::GPUMetricsProvider));
+  metrics_service_->RegisterMetricsProvider(
+      scoped_ptr<metrics::MetricsProvider>(
+          new metrics::ScreenInfoMetricsProvider));
 
   drive_metrics_provider_ = new metrics::DriveMetricsProvider(
       content::BrowserThread::GetMessageLoopProxyForThread(