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..6cb74c56f3209e6292bb30a79de43b49a6ecfea3 100644 |
--- a/components/startup_metric_utils/startup_metric_utils.cc |
+++ b/components/startup_metric_utils/startup_metric_utils.cc |
@@ -445,6 +445,48 @@ 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 RecordFirstWebContentsMainNavigationFinishedFirst(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.MainNavigationFinishedFirst", |
+ g_process_creation_time.Get(), time); |
+} |
+ |
+void RecordFirstWebContentsMainNavigationFinishedAll(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.MainNavigationFinishedAll", |
+ g_process_creation_time.Get(), time); |
+} |
+ |
base::Time MainEntryPointTime() { |
return g_main_entry_point_time.Get(); |
} |