| Index: third_party/WebKit/LayoutTests/http/tests/performance-timing/test-navigation-timing2-attributes-exist.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/performance-timing/test-navigation-timing2-attributes-exist.html b/third_party/WebKit/LayoutTests/http/tests/performance-timing/test-navigation-timing2-attributes-exist.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..29efe660a7aa4f6769c0104ebabe4e2f565f3cda
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/performance-timing/test-navigation-timing2-attributes-exist.html
|
| @@ -0,0 +1,72 @@
|
| +<!DOCTYPE html>
|
| +<script src="../../../resources/testharness.js"></script>
|
| +<script src="../../../resources/testharnessreport.js"></script>
|
| +<script>
|
| +
|
| +async_test(function (t) {
|
| + var observer = new PerformanceObserver(
|
| + t.step_func(function (entryList) {
|
| + var entries = entryList.getEntries();
|
| + assert_equals(entries.length, 1,
|
| + "there should be only one navigation timing instance");
|
| + assert_true("transferSize" in entries[0],
|
| + "expected attribute: transferSize");
|
| + assert_true("encodedBodySize" in entries[0],
|
| + "expected attribute: encodedBodySize");
|
| + assert_true("decodedBodySize" in entries[0],
|
| + "expected attribute: decodedBodySize");
|
| + assert_true("redirectCount" in entries[0],
|
| + "expected attribute: workerStart");
|
| + assert_true("workerStart" in entries[0],
|
| + "expected attribute: redirectCount");
|
| + assert_equals(entries[0].entryType, "navigation",
|
| + "entryType expected to be: navigation");
|
| + assert_equals(entries[0].name, "document",
|
| + "name expected to be: document");
|
| + assert_equals(entries[0].startTime, 0,
|
| + "startTime expected to be: 0");
|
| + assert_equals(entries[0].duration, entries[0].loadEventEnd,
|
| + "expected duration to be equal to loadEventEnd");
|
| + assert_true(entries[0].startTime <= entries[0].redirectStart,
|
| + "expected startTime to be no greater than redirectStart");
|
| + assert_true(entries[0].unloadEventStart <= entries[0].unloadEventEnd,
|
| + "expected unloadEventStart to be no greater than unloadEventEnd");
|
| + assert_true(entries[0].redirectStart <= entries[0].redirectEnd,
|
| + "expected redirectStart to be no greater than redirectEnd");
|
| + assert_true(entries[0].redirectEnd <= entries[0].fetchStart,
|
| + "expected redirectEnd to be no greater than fetchStart");
|
| + assert_true(entries[0].fetchStart <= entries[0].domainLookupStart,
|
| + "expected fetchStart to be no greater than domainLookupStart");
|
| + assert_true(entries[0].domainLookupStart <= entries[0].domainLookupEnd,
|
| + "expected domainLookupStart to be no greater than domainLookupEnd");
|
| + assert_true(entries[0].domainLookupEnd <= entries[0].connectStart,
|
| + "expected domainLookupEnd to be no greater than connectStart");
|
| + assert_true(entries[0].secureConnectionStart <= entries[0].connectEnd,
|
| + "expected secureConnectionStart to be no greater than connectEnd");
|
| + assert_true(entries[0].connectEnd <= entries[0].requestStart,
|
| + "expected connectEnd to be no greater than requestStart");
|
| + assert_true(entries[0].requestStart <= entries[0].responseStart,
|
| + "expected requestStart to be no greater than responseStart");
|
| + assert_true(entries[0].responseStart <= entries[0].responseEnd,
|
| + "expected responseStart to be no greater than responseEnd");
|
| + assert_true(entries[0].responseEnd <= entries[0].domInteractive,
|
| + "expected responseEnd to be no greater than domInteractive");
|
| + assert_true(entries[0].domInteractive <= entries[0].domContentLoadedEventStart,
|
| + "expected domInteractive to be no greater than domContentLoadedEventStart");
|
| + assert_true(entries[0].domContentLoadedEventStart <= entries[0].domContentLoadedEventEnd,
|
| + "expected domContentLoadedEventStart to be no greater than domContentLoadedEventEnd");
|
| + assert_true(entries[0].domContentLoadedEventEnd <= entries[0].domComplete,
|
| + "expected domContentLoadedEventEnd to be no greater than domComplete");
|
| + assert_true(entries[0].domComplete <= entries[0].loadEventStart,
|
| + "expected domComplete to be no greater than loadEventStart");
|
| + assert_true(entries[0].loadEventStart <= entries[0].loadEventEnd,
|
| + "expected loadEventStart to be no greater than loadEventEnd");
|
| + observer.disconnect();
|
| + t.done();
|
| + })
|
| + );
|
| + observer.observe({entryTypes: ["navigation"]});
|
| +
|
| +}, "Performance navigation timing entries are observable");
|
| +
|
| +</script>
|
|
|