Chromium Code Reviews| Index: chrome/browser/ui/browser.cc |
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
| index 777e9a9b42300b47d4ae87bd77b12142817a46a9..25aac22b89c1adc28d820572768fc42ae0822a79 100644 |
| --- a/chrome/browser/ui/browser.cc |
| +++ b/chrome/browser/ui/browser.cc |
| @@ -19,6 +19,7 @@ |
| #include "base/metrics/field_trial.h" |
| #include "base/metrics/histogram.h" |
| #include "base/path_service.h" |
| +#include "base/process_info.h" |
| #include "base/string_number_conversions.h" |
| #include "base/string_util.h" |
| #include "base/stringprintf.h" |
| @@ -152,6 +153,7 @@ |
| #include "chrome/common/extensions/extension_constants.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/profiling.h" |
| +#include "chrome/common/startup_metric_utils.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/common/web_apps.h" |
| #include "content/public/browser/color_chooser.h" |
| @@ -1202,6 +1204,25 @@ void Browser::OnWindowDidShow() { |
| return; |
| window_has_shown_ = true; |
| +// CurrentProcessInfo::CreationTime() is currently only implemented on Mac and |
| +// Windows. |
| +#if defined(OS_MACOSX) || defined(OS_WIN) |
| + // Measure the latency from startup till the first browser window becomes |
| + // visible. |
| + static bool isFirstBrowserWindow = true; |
|
sky
2012/07/25 15:51:48
is_first_browser_window
jeremy
2012/07/26 12:57:26
Done.
|
| + if (isFirstBrowserWindow && !StartupMetricUtils::WasNonBrowserUIDisplayed()) { |
| + isFirstBrowserWindow = false; |
| + const base::Time* process_creation_time = |
| + base::CurrentProcessInfo::CreationTime(); |
| + |
| + if (process_creation_time) { |
| + UMA_HISTOGRAM_LONG_TIMES( |
| + "Startup.BrowserWindowDisplay", |
| + base::Time::Now() - *process_creation_time); |
| + } |
| + } |
| +#endif // OS_MACOSX || OS_WIN |
| + |
| // Nothing to do for non-tabbed windows. |
| if (!is_type_tabbed()) |
| return; |