Index: components/startup_metric_utils/startup_metric_utils.cc |
diff --git a/components/startup_metric_utils/startup_metric_utils.cc b/components/startup_metric_utils/startup_metric_utils.cc |
index f9576878d3fa3348a997f392bcfa36e24dd36d7e..a526d79842a4619fbabc23d8cfbafa93a6112a70 100644 |
--- a/components/startup_metric_utils/startup_metric_utils.cc |
+++ b/components/startup_metric_utils/startup_metric_utils.cc |
@@ -445,6 +445,34 @@ void RecordFirstWebContentsNonEmptyPaint(const base::Time& time) { |
g_process_creation_time.Get(), time); |
} |
+void RecordFirstWebContentsMainNavigationStart(const base::Time& time) { |
+ static bool is_first_call = true; |
+ if (!is_first_call || time.is_null()) |
+ return; |
+ is_first_call = false; |
+ if (WasNonBrowserUIDisplayed() || g_process_creation_time.Get().is_null()) |
+ return; |
+ |
+ UMA_HISTOGRAM_AND_TRACE_WITH_STARTUP_TEMPERATURE( |
+ UMA_HISTOGRAM_LONG_TIMES_100, |
+ "Startup.FirstWebContents.MainNavigationStart", |
+ g_process_creation_time.Get(), time); |
+} |
+ |
+void RecordFirstWebContentsMainNavigationFinished(const base::Time& time) { |
+ static bool is_first_call = true; |
+ if (!is_first_call || time.is_null()) |
+ return; |
+ is_first_call = false; |
+ if (WasNonBrowserUIDisplayed() || g_process_creation_time.Get().is_null()) |
+ return; |
+ |
+ UMA_HISTOGRAM_AND_TRACE_WITH_STARTUP_TEMPERATURE( |
+ UMA_HISTOGRAM_LONG_TIMES_100, |
+ "Startup.FirstWebContents.MainNavigationFinished", |
+ g_process_creation_time.Get(), time); |
+} |
+ |
base::Time MainEntryPointTime() { |
return g_main_entry_point_time.Get(); |
} |