| 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 "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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |