Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc |
| diff --git a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc |
| index f6c32ab15afad0d6e1cd05c11ea0a97440e92acc..6ae8b8a9e11692fe359d53c352bdc269977d4908 100644 |
| --- a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc |
| +++ b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc |
| @@ -51,20 +51,42 @@ const char kHistogramAbortStopDuringParse[] = |
| const char kHistogramAbortCloseDuringParse[] = |
| "PageLoad.AbortTiming.Close.DuringParse"; |
| +// These metrics should be temporary until we have landed on a one-size-fits-all |
| +// abort metric. |
| +const char kHistogramAbortNewNavigationUserInitiated[] = |
| + "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated"; |
| +const char kHistogramAbortForwardBackUserInitiated[] = |
| + "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated"; |
| +const char kHistogramAbortReloadUserInitiated[] = |
| + "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated"; |
| + |
| } // namespace internal |
| namespace { |
| +bool AbortUserInitiated(const page_load_metrics::PageLoadExtraInfo& info) { |
|
shivanisha
2016/08/11 19:23:01
isAbortUserInitiated instead of AbortUserInitiated
Charlie Harrison
2016/08/12 17:51:30
Done.
|
| + return info.abort_user_initiated && info.user_gesture; |
| +} |
| + |
| void RecordAbortBeforeCommit(UserAbortType abort_type, |
| + bool user_inititaed, |
|
shivanisha
2016/08/11 19:23:01
typo: spelling of initiated
Charlie Harrison
2016/08/12 17:51:30
oops :P
|
| base::TimeDelta time_to_abort) { |
| switch (abort_type) { |
| case UserAbortType::ABORT_RELOAD: |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforeCommit, |
| time_to_abort); |
| + if (user_inititaed) { |
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadUserInitiated, |
| + time_to_abort); |
| + } |
| return; |
| case UserAbortType::ABORT_FORWARD_BACK: |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforeCommit, |
| time_to_abort); |
| + if (user_inititaed) { |
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackUserInitiated, |
| + time_to_abort); |
| + } |
| return; |
| case UserAbortType::ABORT_CLIENT_REDIRECT: |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortClientRedirectBeforeCommit, |
| @@ -73,6 +95,10 @@ void RecordAbortBeforeCommit(UserAbortType abort_type, |
| case UserAbortType::ABORT_NEW_NAVIGATION: |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforeCommit, |
| time_to_abort); |
| + if (user_inititaed) { |
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationUserInitiated, |
| + time_to_abort); |
| + } |
| return; |
| case UserAbortType::ABORT_STOP: |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforeCommit, |
| @@ -222,6 +248,6 @@ void AbortsPageLoadMetricsObserver::OnFailedProvisionalLoad( |
| if (!ShouldTrackMetrics(extra_info)) |
| return; |
| - RecordAbortBeforeCommit(extra_info.abort_type, |
| + RecordAbortBeforeCommit(extra_info.abort_type, AbortUserInitiated(extra_info), |
| extra_info.time_to_abort.value()); |
| } |