| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <script src="../../../resources/testharness.js"></script> | |
| 3 <script src="../../../resources/testharnessreport.js"></script> | |
| 4 <script> | |
| 5 | |
| 6 async_test(function (t) { | |
| 7 var observer = new PerformanceObserver( | |
| 8 t.step_func(function (entryList) { | |
| 9 var entries = entryList.getEntries(); | |
| 10 assert_equals(entries.length, 1, | |
| 11 "there should be only one navigation timing instance"); | |
| 12 assert_true("transferSize" in entries[0], | |
| 13 "expected attribute: transferSize"); | |
| 14 assert_true("encodedBodySize" in entries[0], | |
| 15 "expected attribute: encodedBodySize"); | |
| 16 assert_true("decodedBodySize" in entries[0], | |
| 17 "expected attribute: decodedBodySize"); | |
| 18 assert_true("redirectCount" in entries[0], | |
| 19 "expected attribute: workerStart"); | |
| 20 assert_true("workerStart" in entries[0], | |
| 21 "expected attribute: redirectCount"); | |
| 22 assert_equals(entries[0].entryType, "navigation", | |
| 23 "entryType expected to be: navigation"); | |
| 24 assert_equals(entries[0].name, "document", | |
| 25 "name expected to be: document"); | |
| 26 assert_equals(entries[0].startTime, 0, | |
| 27 "startTime expected to be: 0"); | |
| 28 assert_equals(entries[0].duration, entries[0].loadEventEnd, | |
| 29 "expected duration to be equal to loadEventEnd"); | |
| 30 assert_true(entries[0].startTime <= entries[0].redirectStart, | |
| 31 "expected startTime to be no greater than redirectStart"); | |
| 32 assert_true(entries[0].unloadEventStart <= entries[0].unloadEventEnd
, | |
| 33 "expected unloadEventStart to be no greater than unloadEventEnd"
); | |
| 34 assert_true(entries[0].redirectStart <= entries[0].redirectEnd, | |
| 35 "expected redirectStart to be no greater than redirectEnd"); | |
| 36 assert_true(entries[0].redirectEnd <= entries[0].fetchStart, | |
| 37 "expected redirectEnd to be no greater than fetchStart"); | |
| 38 assert_true(entries[0].fetchStart <= entries[0].domainLookupStart, | |
| 39 "expected fetchStart to be no greater than domainLookupStart"); | |
| 40 assert_true(entries[0].domainLookupStart <= entries[0].domainLookupE
nd, | |
| 41 "expected domainLookupStart to be no greater than domainLookupEn
d"); | |
| 42 assert_true(entries[0].domainLookupEnd <= entries[0].connectStart, | |
| 43 "expected domainLookupEnd to be no greater than connectStart"); | |
| 44 assert_true(entries[0].secureConnectionStart <= entries[0].connectEn
d, | |
| 45 "expected secureConnectionStart to be no greater than connectEnd
"); | |
| 46 assert_true(entries[0].connectEnd <= entries[0].requestStart, | |
| 47 "expected connectEnd to be no greater than requestStart"); | |
| 48 assert_true(entries[0].requestStart <= entries[0].responseStart, | |
| 49 "expected requestStart to be no greater than responseStart"); | |
| 50 assert_true(entries[0].responseStart <= entries[0].responseEnd, | |
| 51 "expected responseStart to be no greater than responseEnd"); | |
| 52 assert_true(entries[0].responseEnd <= entries[0].domInteractive, | |
| 53 "expected responseEnd to be no greater than domInteractive"); | |
| 54 assert_true(entries[0].domInteractive <= entries[0].domContentLoaded
EventStart, | |
| 55 "expected domInteractive to be no greater than domContentLoadedE
ventStart"); | |
| 56 assert_true(entries[0].domContentLoadedEventStart <= entries[0].domC
ontentLoadedEventEnd, | |
| 57 "expected domContentLoadedEventStart to be no greater than domCo
ntentLoadedEventEnd"); | |
| 58 assert_true(entries[0].domContentLoadedEventEnd <= entries[0].domCom
plete, | |
| 59 "expected domContentLoadedEventEnd to be no greater than domComp
lete"); | |
| 60 assert_true(entries[0].domComplete <= entries[0].loadEventStart, | |
| 61 "expected domComplete to be no greater than loadEventStart"); | |
| 62 assert_true(entries[0].loadEventStart <= entries[0].loadEventEnd, | |
| 63 "expected loadEventStart to be no greater than loadEventEnd"); | |
| 64 observer.disconnect(); | |
| 65 t.done(); | |
| 66 }) | |
| 67 ); | |
| 68 observer.observe({entryTypes: ["navigation"]}); | |
| 69 | |
| 70 }, "Performance navigation timing entries are observable"); | |
| 71 | |
| 72 </script> | |
| OLD | NEW |