Index: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h |
diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h |
index 91b904d77375f5a13d43d063a1b58a60ae874ed0..7b8d19ff5ef62d17f5cb132fb3056364f53b294e 100644 |
--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h |
+++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h |
@@ -9,6 +9,7 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/scoped_ptr.h" |
#include "chrome/browser/chrome_browser_main_extra_parts.h" |
+#include "chrome/browser/metrics/first_web_contents_profiler.h" |
#include "ui/gfx/display_observer.h" |
class ChromeBrowserMainParts; |
@@ -17,8 +18,10 @@ namespace chrome { |
void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts); |
} |
-class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts, |
- public gfx::DisplayObserver { |
+class ChromeBrowserMainExtraPartsMetrics |
+ : public ChromeBrowserMainExtraParts, |
+ public gfx::DisplayObserver, |
+ public FirstWebContentsProfilerDelegate { |
public: |
ChromeBrowserMainExtraPartsMetrics(); |
~ChromeBrowserMainExtraPartsMetrics() override; |
@@ -40,6 +43,9 @@ class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts, |
virtual void OnDisplayMetricsChanged(const gfx::Display& display, |
uint32_t changed_metrics) override; |
+ // FirstWebContentsProfilerDelegate overrides. |
+ void ProfilerFinishedCollectingMetrics() override; |
+ |
// If the number of displays has changed, emit a UMA metric. |
void EmitDisplaysChangedMetric(); |
@@ -50,6 +56,9 @@ class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts, |
// screen. |
bool is_screen_observer_; |
+ // Measures start up performance of the first active web contents. |
+ scoped_ptr<FirstWebContentsProfiler> first_web_contents_profiler_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsMetrics); |
}; |