| Index: chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc
|
| index 2c543d1e587876b547ccef17c03a7f2a2947ce03..b3c56c2af421738eb1284b67b569acec52bb012a 100644
|
| --- a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc
|
| @@ -71,6 +71,8 @@ const char kHistogramDocWriteBlockCount[] =
|
| "PageLoad.Clients.DocWrite.Block.Count";
|
| const char kHistogramDocWriteBlockReloadCount[] =
|
| "PageLoad.Clients.DocWrite.Block.ReloadCount";
|
| +const char kHistogramDocWriteBlockLoadingBehavior[] =
|
| + "PageLoad.Clients.DocWrite.Block.DocumentWriteLoadingBehavior";
|
|
|
| } // namespace internal
|
|
|
| @@ -113,6 +115,13 @@ void DocumentWritePageLoadMetricsObserver::OnParseStop(
|
| }
|
| }
|
|
|
| +void LogLoadingBehaviorMetrics(
|
| + DocumentWritePageLoadMetricsObserver::DocumentWriteLoadingBehavior behavior) {
|
| + UMA_HISTOGRAM_ENUMERATION(internal::kHistogramDocWriteBlockLoadingBehavior,
|
| + behavior,
|
| + DocumentWritePageLoadMetricsObserver::LOADING_BEHAVIOR_MAX);
|
| +}
|
| +
|
| void DocumentWritePageLoadMetricsObserver::OnLoadingBehaviorObserved(
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| if ((info.metadata.behavior_flags &
|
| @@ -123,14 +132,23 @@ void DocumentWritePageLoadMetricsObserver::OnLoadingBehaviorObserved(
|
| !(info.metadata.behavior_flags &
|
| blink::WebLoadingBehaviorFlag::WebLoadingBehaviorDocumentWriteBlock));
|
| UMA_HISTOGRAM_COUNTS(internal::kHistogramDocWriteBlockReloadCount, 1);
|
| + LogLoadingBehaviorMetrics(LOADING_BEHAVIOR_RELOAD);
|
| doc_write_block_reload_observed_ = true;
|
| }
|
| if ((info.metadata.behavior_flags &
|
| blink::WebLoadingBehaviorFlag::WebLoadingBehaviorDocumentWriteBlock) &&
|
| !doc_write_block_observed_) {
|
| UMA_HISTOGRAM_BOOLEAN(internal::kHistogramDocWriteBlockCount, true);
|
| + LogLoadingBehaviorMetrics(LOADING_BEHAVIOR_BLOCK);
|
| doc_write_block_observed_ = true;
|
| }
|
| + if ((info.metadata.behavior_flags &
|
| + blink::WebLoadingBehaviorFlag::
|
| + WebLoadingBehaviorDocumentWriteBlockDifferentScheme) &&
|
| + !doc_write_same_site_diff_scheme_) {
|
| + LogLoadingBehaviorMetrics(LOADING_BEHAVIOR_SAME_SITE_DIFF_SCHEME);
|
| + doc_write_same_site_diff_scheme_ = true;
|
| + }
|
| }
|
|
|
| void DocumentWritePageLoadMetricsObserver::
|
|
|