Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc

Issue 2152683004: Refactor PageLoadMetricsObserver completion callback policy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@relevantloads
Patch Set: fix metric Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "base/macros.h" 5 #include "base/macros.h"
6 #include "base/test/histogram_tester.h" 6 #include "base/test/histogram_tester.h"
7 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h" 7 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h"
8 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me trics_observer.h" 8 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me trics_observer.h"
9 #include "chrome/common/url_constants.h"
9 #include "chrome/test/base/in_process_browser_test.h" 10 #include "chrome/test/base/in_process_browser_test.h"
10 #include "chrome/test/base/ui_test_utils.h" 11 #include "chrome/test/base/ui_test_utils.h"
11 #include "net/test/embedded_test_server/embedded_test_server.h" 12 #include "net/test/embedded_test_server/embedded_test_server.h"
12 13
13 class MetricsWebContentsObserverBrowserTest : public InProcessBrowserTest { 14 class MetricsWebContentsObserverBrowserTest : public InProcessBrowserTest {
14 public: 15 public:
15 MetricsWebContentsObserverBrowserTest() {} 16 MetricsWebContentsObserverBrowserTest() {}
16 ~MetricsWebContentsObserverBrowserTest() override {} 17 ~MetricsWebContentsObserverBrowserTest() override {}
17 18
18 protected: 19 protected:
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 browser(), embedded_test_server()->GetURL("/title1.html#hash")); 56 browser(), embedded_test_server()->GetURL("/title1.html#hash"));
56 ui_test_utils::NavigateToURL(browser(), 57 ui_test_utils::NavigateToURL(browser(),
57 embedded_test_server()->GetURL("/title2.html")); 58 embedded_test_server()->GetURL("/title2.html"));
58 59
59 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1); 60 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1);
60 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1); 61 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1);
61 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1); 62 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1);
62 } 63 }
63 64
64 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, 65 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest,
66 SameUrlNavigation) {
67 ASSERT_TRUE(embedded_test_server()->Start());
68
69 ui_test_utils::NavigateToURL(browser(),
70 embedded_test_server()->GetURL("/title1.html"));
71 ui_test_utils::NavigateToURL(
72 browser(), embedded_test_server()->GetURL("/title1.html"));
73 ui_test_utils::NavigateToURL(browser(),
74 embedded_test_server()->GetURL("/title2.html"));
75
76 // We expect one histogram sample for each navigation to title1.html.
77 histogram_tester_.ExpectTotalCount(internal::kHistogramCommit, 2);
78 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 2);
79 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 2);
80 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 2);
81 }
82
83 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest,
84 NonHtmlMainResource) {
85 ASSERT_TRUE(embedded_test_server()->Start());
86
87 ui_test_utils::NavigateToURL(browser(),
88 embedded_test_server()->GetURL("/simple.svg"));
89 ui_test_utils::NavigateToURL(
90 browser(), embedded_test_server()->GetURL("/title1.html"));
91
92 histogram_tester_.ExpectTotalCount(internal::kHistogramCommit, 0);
93 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 0);
94 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 0);
95 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 0);
96 }
97
98 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest,
99 NonHttpOrHttpsUrl) {
100 ASSERT_TRUE(embedded_test_server()->Start());
101
102 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIVersionURL));
103 ui_test_utils::NavigateToURL(
104 browser(), embedded_test_server()->GetURL("/title1.html"));
105
106 histogram_tester_.ExpectTotalCount(internal::kHistogramCommit, 0);
107 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 0);
108 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 0);
109 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 0);
110 }
111
112 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest,
65 PreloadDocumentWrite) { 113 PreloadDocumentWrite) {
66 ASSERT_TRUE(embedded_test_server()->Start()); 114 ASSERT_TRUE(embedded_test_server()->Start());
67 115
68 ui_test_utils::NavigateToURL( 116 ui_test_utils::NavigateToURL(
69 browser(), embedded_test_server()->GetURL( 117 browser(), embedded_test_server()->GetURL(
70 "/page_load_metrics/document_write_external_script.html")); 118 "/page_load_metrics/document_write_external_script.html"));
71 ui_test_utils::NavigateToURL(browser(), 119 ui_test_utils::NavigateToURL(browser(),
72 embedded_test_server()->GetURL("/title2.html")); 120 embedded_test_server()->GetURL("/title2.html"));
73 121
74 histogram_tester_.ExpectTotalCount( 122 histogram_tester_.ExpectTotalCount(
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 embedded_test_server()->GetURL("/title2.html")); 189 embedded_test_server()->GetURL("/title2.html"));
142 190
143 histogram_tester_.ExpectTotalCount( 191 histogram_tester_.ExpectTotalCount(
144 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 192 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
145 193
146 histogram_tester_.ExpectTotalCount( 194 histogram_tester_.ExpectTotalCount(
147 internal::kHistogramDocWriteBlockReloadCount, 2); 195 internal::kHistogramDocWriteBlockReloadCount, 2);
148 } 196 }
149 197
150 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, 198 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest,
151 DocumentWriteASync) { 199 DocumentWriteAsync) {
152 ASSERT_TRUE(embedded_test_server()->Start()); 200 ASSERT_TRUE(embedded_test_server()->Start());
153 201
154 ui_test_utils::NavigateToURL( 202 ui_test_utils::NavigateToURL(
155 browser(), embedded_test_server()->GetURL( 203 browser(), embedded_test_server()->GetURL(
156 "/page_load_metrics/document_write_script_async.html")); 204 "/page_load_metrics/document_write_script_async.html"));
157 ui_test_utils::NavigateToURL(browser(), 205 ui_test_utils::NavigateToURL(browser(),
158 embedded_test_server()->GetURL("/title2.html")); 206 embedded_test_server()->GetURL("/title2.html"));
159 207
160 histogram_tester_.ExpectTotalCount( 208 histogram_tester_.ExpectTotalCount(
161 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 209 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
(...skipping 19 matching lines...) Expand all
181 229
182 ui_test_utils::NavigateToURL( 230 ui_test_utils::NavigateToURL(
183 browser(), embedded_test_server()->GetURL( 231 browser(), embedded_test_server()->GetURL(
184 "/page_load_metrics/document_write_no_script.html")); 232 "/page_load_metrics/document_write_no_script.html"));
185 ui_test_utils::NavigateToURL(browser(), 233 ui_test_utils::NavigateToURL(browser(),
186 embedded_test_server()->GetURL("/title2.html")); 234 embedded_test_server()->GetURL("/title2.html"));
187 235
188 histogram_tester_.ExpectTotalCount( 236 histogram_tester_.ExpectTotalCount(
189 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 237 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
190 } 238 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698