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

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

Issue 2644543002: Add counter for number of page loads where doc.write blocking triggers. (Closed)
Patch Set: switch to UMA_HISTOGRAM_BOOLEAN. Created 3 years, 11 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 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 "base/files/scoped_temp_dir.h" 5 #include "base/files/scoped_temp_dir.h"
6 #include "base/macros.h" 6 #include "base/macros.h"
7 #include "base/test/histogram_tester.h" 7 #include "base/test/histogram_tester.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" 9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
10 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob server.h" 10 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob server.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWrite) { 222 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWrite) {
223 ASSERT_TRUE(embedded_test_server()->Start()); 223 ASSERT_TRUE(embedded_test_server()->Start());
224 224
225 ui_test_utils::NavigateToURL(browser(), 225 ui_test_utils::NavigateToURL(browser(),
226 embedded_test_server()->GetURL("/title1.html")); 226 embedded_test_server()->GetURL("/title1.html"));
227 NavigateToUntrackedUrl(); 227 NavigateToUntrackedUrl();
228 histogram_tester_.ExpectTotalCount( 228 histogram_tester_.ExpectTotalCount(
229 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 0); 229 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 0);
230 histogram_tester_.ExpectTotalCount( 230 histogram_tester_.ExpectTotalCount(
231 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 231 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
232 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0);
232 } 233 }
233 234
234 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteBlock) { 235 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteBlock) {
235 ASSERT_TRUE(embedded_test_server()->Start()); 236 ASSERT_TRUE(embedded_test_server()->Start());
236 237
237 ui_test_utils::NavigateToURL( 238 ui_test_utils::NavigateToURL(
238 browser(), embedded_test_server()->GetURL( 239 browser(), embedded_test_server()->GetURL(
239 "/page_load_metrics/document_write_script_block.html")); 240 "/page_load_metrics/document_write_script_block.html"));
240 NavigateToUntrackedUrl(); 241 NavigateToUntrackedUrl();
241 242
242 histogram_tester_.ExpectTotalCount( 243 histogram_tester_.ExpectTotalCount(
243 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 244 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
245 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 1);
244 } 246 }
245 247
246 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteReload) { 248 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteReload) {
247 ASSERT_TRUE(embedded_test_server()->Start()); 249 ASSERT_TRUE(embedded_test_server()->Start());
248 250
249 ui_test_utils::NavigateToURL( 251 ui_test_utils::NavigateToURL(
250 browser(), embedded_test_server()->GetURL( 252 browser(), embedded_test_server()->GetURL(
251 "/page_load_metrics/document_write_script_block.html")); 253 "/page_load_metrics/document_write_script_block.html"));
252 254
253 // Reload should not log the histogram as the script is not blocked. 255 // Reload should not log the histogram as the script is not blocked.
254 ui_test_utils::NavigateToURL( 256 ui_test_utils::NavigateToURL(
255 browser(), embedded_test_server()->GetURL( 257 browser(), embedded_test_server()->GetURL(
256 "/page_load_metrics/document_write_script_block.html")); 258 "/page_load_metrics/document_write_script_block.html"));
257 259
258 ui_test_utils::NavigateToURL( 260 ui_test_utils::NavigateToURL(
259 browser(), embedded_test_server()->GetURL( 261 browser(), embedded_test_server()->GetURL(
260 "/page_load_metrics/document_write_script_block.html")); 262 "/page_load_metrics/document_write_script_block.html"));
261 263
262 histogram_tester_.ExpectTotalCount( 264 histogram_tester_.ExpectTotalCount(
263 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 265 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
264 266
265 NavigateToUntrackedUrl(); 267 NavigateToUntrackedUrl();
266 268
267 histogram_tester_.ExpectTotalCount( 269 histogram_tester_.ExpectTotalCount(
268 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 270 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
269 271
270 histogram_tester_.ExpectTotalCount( 272 histogram_tester_.ExpectTotalCount(
271 internal::kHistogramDocWriteBlockReloadCount, 2); 273 internal::kHistogramDocWriteBlockReloadCount, 2);
274 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 1);
272 } 275 }
273 276
274 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteAsync) { 277 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteAsync) {
275 ASSERT_TRUE(embedded_test_server()->Start()); 278 ASSERT_TRUE(embedded_test_server()->Start());
276 279
277 ui_test_utils::NavigateToURL( 280 ui_test_utils::NavigateToURL(
278 browser(), embedded_test_server()->GetURL( 281 browser(), embedded_test_server()->GetURL(
279 "/page_load_metrics/document_write_script_async.html")); 282 "/page_load_metrics/document_write_script_async.html"));
280 NavigateToUntrackedUrl(); 283 NavigateToUntrackedUrl();
281 284
282 histogram_tester_.ExpectTotalCount( 285 histogram_tester_.ExpectTotalCount(
283 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 286 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
287 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0);
284 } 288 }
285 289
286 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteSameDomain) { 290 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteSameDomain) {
287 ASSERT_TRUE(embedded_test_server()->Start()); 291 ASSERT_TRUE(embedded_test_server()->Start());
288 292
289 ui_test_utils::NavigateToURL( 293 ui_test_utils::NavigateToURL(
290 browser(), embedded_test_server()->GetURL( 294 browser(), embedded_test_server()->GetURL(
291 "/page_load_metrics/document_write_external_script.html")); 295 "/page_load_metrics/document_write_external_script.html"));
292 NavigateToUntrackedUrl(); 296 NavigateToUntrackedUrl();
293 297
294 histogram_tester_.ExpectTotalCount( 298 histogram_tester_.ExpectTotalCount(
295 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 299 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
300 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0);
296 } 301 }
297 302
298 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWriteScript) { 303 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWriteScript) {
299 ASSERT_TRUE(embedded_test_server()->Start()); 304 ASSERT_TRUE(embedded_test_server()->Start());
300 305
301 ui_test_utils::NavigateToURL( 306 ui_test_utils::NavigateToURL(
302 browser(), embedded_test_server()->GetURL( 307 browser(), embedded_test_server()->GetURL(
303 "/page_load_metrics/document_write_no_script.html")); 308 "/page_load_metrics/document_write_no_script.html"));
304 NavigateToUntrackedUrl(); 309 NavigateToUntrackedUrl();
305 310
306 histogram_tester_.ExpectTotalCount( 311 histogram_tester_.ExpectTotalCount(
307 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 312 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
313 histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0);
308 } 314 }
309 315
310 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, BadXhtml) { 316 IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, BadXhtml) {
311 ASSERT_TRUE(embedded_test_server()->Start()); 317 ASSERT_TRUE(embedded_test_server()->Start());
312 318
313 // When an XHTML page contains invalid XML, it causes a paint of the error 319 // When an XHTML page contains invalid XML, it causes a paint of the error
314 // message without a layout. Page load metrics currently treats this as an 320 // message without a layout. Page load metrics currently treats this as an
315 // error. Eventually, we'll fix this by special casing the handling of 321 // error. Eventually, we'll fix this by special casing the handling of
316 // documents with non-well-formed XML on the blink side. See crbug.com/627607 322 // documents with non-well-formed XML on the blink side. See crbug.com/627607
317 // for more. 323 // for more.
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 ui_test_utils::NavigateToURL(browser(), embedded_test_server()->GetURL( 564 ui_test_utils::NavigateToURL(browser(), embedded_test_server()->GetURL(
559 "/page_load_metrics/large.html")); 565 "/page_load_metrics/large.html"));
560 NavigateToUntrackedUrl(); 566 NavigateToUntrackedUrl();
561 567
562 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1); 568 histogram_tester_.ExpectTotalCount(internal::kHistogramTotalBytes, 1);
563 569
564 // Verify that there is a single sample recorded in the 10kB bucket (the size 570 // Verify that there is a single sample recorded in the 10kB bucket (the size
565 // of the main HTML response). 571 // of the main HTML response).
566 histogram_tester_.ExpectBucketCount(internal::kHistogramTotalBytes, 10, 1); 572 histogram_tester_.ExpectBucketCount(internal::kHistogramTotalBytes, 10, 1);
567 } 573 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698