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 |