| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" | 5 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" |
| 6 | 6 |
| 7 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" | 7 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
| 8 | 8 |
| 9 using page_load_metrics::UserAbortType; | 9 using page_load_metrics::UserAbortType; |
| 10 | 10 |
| 11 namespace internal { | 11 namespace internal { |
| 12 | 12 |
| 13 const char kHistogramAbortClientRedirectBeforeCommit[] = |
| 14 "PageLoad.AbortTiming.ClientRedirect.BeforeCommit"; |
| 13 const char kHistogramAbortForwardBackBeforeCommit[] = | 15 const char kHistogramAbortForwardBackBeforeCommit[] = |
| 14 "PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"; | 16 "PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"; |
| 15 const char kHistogramAbortReloadBeforeCommit[] = | 17 const char kHistogramAbortReloadBeforeCommit[] = |
| 16 "PageLoad.AbortTiming.Reload.BeforeCommit"; | 18 "PageLoad.AbortTiming.Reload.BeforeCommit"; |
| 17 const char kHistogramAbortNewNavigationBeforeCommit[] = | 19 const char kHistogramAbortNewNavigationBeforeCommit[] = |
| 18 "PageLoad.AbortTiming.NewNavigation.BeforeCommit"; | 20 "PageLoad.AbortTiming.NewNavigation.BeforeCommit"; |
| 19 const char kHistogramAbortStopBeforeCommit[] = | 21 const char kHistogramAbortStopBeforeCommit[] = |
| 20 "PageLoad.AbortTiming.Stop.BeforeCommit"; | 22 "PageLoad.AbortTiming.Stop.BeforeCommit"; |
| 21 const char kHistogramAbortCloseBeforeCommit[] = | 23 const char kHistogramAbortCloseBeforeCommit[] = |
| 22 "PageLoad.AbortTiming.Close.BeforeCommit"; | 24 "PageLoad.AbortTiming.Close.BeforeCommit"; |
| 23 const char kHistogramAbortOtherBeforeCommit[] = | 25 const char kHistogramAbortOtherBeforeCommit[] = |
| 24 "PageLoad.AbortTiming.Other.BeforeCommit"; | 26 "PageLoad.AbortTiming.Other.BeforeCommit"; |
| 25 | 27 |
| 28 const char kHistogramAbortClientRedirectBeforePaint[] = |
| 29 "PageLoad.AbortTiming.ClientRedirect.AfterCommit.BeforePaint"; |
| 26 const char kHistogramAbortForwardBackBeforePaint[] = | 30 const char kHistogramAbortForwardBackBeforePaint[] = |
| 27 "PageLoad.AbortTiming.ForwardBackNavigation.AfterCommit.BeforePaint"; | 31 "PageLoad.AbortTiming.ForwardBackNavigation.AfterCommit.BeforePaint"; |
| 28 const char kHistogramAbortReloadBeforePaint[] = | 32 const char kHistogramAbortReloadBeforePaint[] = |
| 29 "PageLoad.AbortTiming.Reload.AfterCommit.BeforePaint"; | 33 "PageLoad.AbortTiming.Reload.AfterCommit.BeforePaint"; |
| 30 const char kHistogramAbortNewNavigationBeforePaint[] = | 34 const char kHistogramAbortNewNavigationBeforePaint[] = |
| 31 "PageLoad.AbortTiming.NewNavigation.AfterCommit.BeforePaint"; | 35 "PageLoad.AbortTiming.NewNavigation.AfterCommit.BeforePaint"; |
| 32 const char kHistogramAbortStopBeforePaint[] = | 36 const char kHistogramAbortStopBeforePaint[] = |
| 33 "PageLoad.AbortTiming.Stop.AfterCommit.BeforePaint"; | 37 "PageLoad.AbortTiming.Stop.AfterCommit.BeforePaint"; |
| 34 const char kHistogramAbortCloseBeforePaint[] = | 38 const char kHistogramAbortCloseBeforePaint[] = |
| 35 "PageLoad.AbortTiming.Close.AfterCommit.BeforePaint"; | 39 "PageLoad.AbortTiming.Close.AfterCommit.BeforePaint"; |
| 36 | 40 |
| 41 const char kHistogramAbortClientRedirectDuringParse[] = |
| 42 "PageLoad.AbortTiming.ClientRedirect.DuringParse"; |
| 37 const char kHistogramAbortForwardBackDuringParse[] = | 43 const char kHistogramAbortForwardBackDuringParse[] = |
| 38 "PageLoad.AbortTiming.ForwardBackNavigation.DuringParse"; | 44 "PageLoad.AbortTiming.ForwardBackNavigation.DuringParse"; |
| 39 const char kHistogramAbortReloadDuringParse[] = | 45 const char kHistogramAbortReloadDuringParse[] = |
| 40 "PageLoad.AbortTiming.Reload.DuringParse"; | 46 "PageLoad.AbortTiming.Reload.DuringParse"; |
| 41 const char kHistogramAbortNewNavigationDuringParse[] = | 47 const char kHistogramAbortNewNavigationDuringParse[] = |
| 42 "PageLoad.AbortTiming.NewNavigation.DuringParse"; | 48 "PageLoad.AbortTiming.NewNavigation.DuringParse"; |
| 43 const char kHistogramAbortStopDuringParse[] = | 49 const char kHistogramAbortStopDuringParse[] = |
| 44 "PageLoad.AbortTiming.Stop.DuringParse"; | 50 "PageLoad.AbortTiming.Stop.DuringParse"; |
| 45 const char kHistogramAbortCloseDuringParse[] = | 51 const char kHistogramAbortCloseDuringParse[] = |
| 46 "PageLoad.AbortTiming.Close.DuringParse"; | 52 "PageLoad.AbortTiming.Close.DuringParse"; |
| 47 | 53 |
| 48 } // namespace internal | 54 } // namespace internal |
| 49 | 55 |
| 50 namespace { | 56 namespace { |
| 51 | 57 |
| 52 void RecordAbortBeforeCommit(UserAbortType abort_type, | 58 void RecordAbortBeforeCommit(UserAbortType abort_type, |
| 53 base::TimeDelta time_to_abort) { | 59 base::TimeDelta time_to_abort) { |
| 54 switch (abort_type) { | 60 switch (abort_type) { |
| 55 case UserAbortType::ABORT_RELOAD: | 61 case UserAbortType::ABORT_RELOAD: |
| 56 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforeCommit, | 62 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforeCommit, |
| 57 time_to_abort); | 63 time_to_abort); |
| 58 return; | 64 return; |
| 59 case UserAbortType::ABORT_FORWARD_BACK: | 65 case UserAbortType::ABORT_FORWARD_BACK: |
| 60 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforeCommit, | 66 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforeCommit, |
| 61 time_to_abort); | 67 time_to_abort); |
| 62 return; | 68 return; |
| 69 case UserAbortType::ABORT_CLIENT_REDIRECT: |
| 70 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortClientRedirectBeforeCommit, |
| 71 time_to_abort); |
| 72 return; |
| 63 case UserAbortType::ABORT_NEW_NAVIGATION: | 73 case UserAbortType::ABORT_NEW_NAVIGATION: |
| 64 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforeCommit, | 74 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforeCommit, |
| 65 time_to_abort); | 75 time_to_abort); |
| 66 return; | 76 return; |
| 67 case UserAbortType::ABORT_STOP: | 77 case UserAbortType::ABORT_STOP: |
| 68 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforeCommit, | 78 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforeCommit, |
| 69 time_to_abort); | 79 time_to_abort); |
| 70 return; | 80 return; |
| 71 case UserAbortType::ABORT_CLOSE: | 81 case UserAbortType::ABORT_CLOSE: |
| 72 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseBeforeCommit, | 82 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseBeforeCommit, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 88 base::TimeDelta time_to_abort) { | 98 base::TimeDelta time_to_abort) { |
| 89 switch (abort_type) { | 99 switch (abort_type) { |
| 90 case UserAbortType::ABORT_RELOAD: | 100 case UserAbortType::ABORT_RELOAD: |
| 91 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforePaint, | 101 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforePaint, |
| 92 time_to_abort); | 102 time_to_abort); |
| 93 return; | 103 return; |
| 94 case UserAbortType::ABORT_FORWARD_BACK: | 104 case UserAbortType::ABORT_FORWARD_BACK: |
| 95 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforePaint, | 105 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforePaint, |
| 96 time_to_abort); | 106 time_to_abort); |
| 97 return; | 107 return; |
| 108 case UserAbortType::ABORT_CLIENT_REDIRECT: |
| 109 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortClientRedirectBeforePaint, |
| 110 time_to_abort); |
| 111 return; |
| 98 case UserAbortType::ABORT_NEW_NAVIGATION: | 112 case UserAbortType::ABORT_NEW_NAVIGATION: |
| 99 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforePaint, | 113 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforePaint, |
| 100 time_to_abort); | 114 time_to_abort); |
| 101 return; | 115 return; |
| 102 case UserAbortType::ABORT_STOP: | 116 case UserAbortType::ABORT_STOP: |
| 103 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforePaint, | 117 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforePaint, |
| 104 time_to_abort); | 118 time_to_abort); |
| 105 return; | 119 return; |
| 106 case UserAbortType::ABORT_CLOSE: | 120 case UserAbortType::ABORT_CLOSE: |
| 107 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseBeforePaint, | 121 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseBeforePaint, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 122 base::TimeDelta time_to_abort) { | 136 base::TimeDelta time_to_abort) { |
| 123 switch (abort_type) { | 137 switch (abort_type) { |
| 124 case UserAbortType::ABORT_RELOAD: | 138 case UserAbortType::ABORT_RELOAD: |
| 125 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadDuringParse, | 139 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadDuringParse, |
| 126 time_to_abort); | 140 time_to_abort); |
| 127 return; | 141 return; |
| 128 case UserAbortType::ABORT_FORWARD_BACK: | 142 case UserAbortType::ABORT_FORWARD_BACK: |
| 129 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackDuringParse, | 143 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackDuringParse, |
| 130 time_to_abort); | 144 time_to_abort); |
| 131 return; | 145 return; |
| 146 case UserAbortType::ABORT_CLIENT_REDIRECT: |
| 147 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortClientRedirectDuringParse, |
| 148 time_to_abort); |
| 149 return; |
| 132 case UserAbortType::ABORT_NEW_NAVIGATION: | 150 case UserAbortType::ABORT_NEW_NAVIGATION: |
| 133 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationDuringParse, | 151 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationDuringParse, |
| 134 time_to_abort); | 152 time_to_abort); |
| 135 return; | 153 return; |
| 136 case UserAbortType::ABORT_STOP: | 154 case UserAbortType::ABORT_STOP: |
| 137 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopDuringParse, | 155 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopDuringParse, |
| 138 time_to_abort); | 156 time_to_abort); |
| 139 return; | 157 return; |
| 140 case UserAbortType::ABORT_CLOSE: | 158 case UserAbortType::ABORT_CLOSE: |
| 141 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseDuringParse, | 159 PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortCloseDuringParse, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 | 218 |
| 201 void AbortsPageLoadMetricsObserver::OnFailedProvisionalLoad( | 219 void AbortsPageLoadMetricsObserver::OnFailedProvisionalLoad( |
| 202 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info, | 220 const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info, |
| 203 const page_load_metrics::PageLoadExtraInfo& extra_info) { | 221 const page_load_metrics::PageLoadExtraInfo& extra_info) { |
| 204 if (!ShouldTrackMetrics(extra_info)) | 222 if (!ShouldTrackMetrics(extra_info)) |
| 205 return; | 223 return; |
| 206 | 224 |
| 207 RecordAbortBeforeCommit(extra_info.abort_type, | 225 RecordAbortBeforeCommit(extra_info.abort_type, |
| 208 extra_info.time_to_abort.value()); | 226 extra_info.time_to_abort.value()); |
| 209 } | 227 } |
| OLD | NEW |