%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<!doctype html> <html> <head> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> </head> <body> <script> test(() => { // Check Performance attributes. assert_equals(typeof(performance.toJSON), 'function'); const json = performance.toJSON(); assert_equals(typeof(json), 'object'); assert_equals(json.timeOrigin, performance.timeOrigin, 'performance.toJSON().timeOrigin should match performance.timeOrigin'); // Check PerformanceTiming toJSON. const jsonTiming = json.timing; const timing = performance.timing; assert_equals(typeof(timing.toJSON), 'function'); const timingJSON = timing.toJSON(); assert_equals(typeof(timingJSON), 'object'); // Check PerformanceTiming attributes, from both: // 1) |jsonTiming| from Performance. // 2) |timingJSON| from PerformanceTiming. const performanceTimingKeys = [ 'navigationStart', 'unloadEventStart', 'unloadEventEnd', 'redirectStart', 'redirectEnd', 'fetchStart', 'domainLookupStart', 'domainLookupEnd', 'connectStart', 'connectEnd', 'secureConnectionStart', 'requestStart', 'responseStart', 'responseEnd', 'domLoading', 'domInteractive', 'domContentLoadedEventStart', 'domContentLoadedEventEnd', 'domComplete', 'loadEventStart', 'loadEventEnd' ]; for (const key of performanceTimingKeys) { assert_equals(jsonTiming[key], timing[key], `performance.toJSON().timing.${key} should match performance.timing.${key}`); assert_equals(timingJSON[key], timing[key], `performance.timing.toJSON().${key} should match performance.timing.${key}`); } // Check PerformanceNavigation toJSON. const jsonNavigation = json.navigation; const navigation = performance.navigation; assert_equals(typeof(navigation.toJSON), 'function'); const navigationJSON = navigation.toJSON(); assert_equals(typeof(navigationJSON), 'object'); // Check PerformanceNavigation attributes, from both: // 1) |jsonNavigation| from Performance. // 2) |navigationJSON| from PerformanceNavigation. let performanceNavigationKeys = ['type', 'redirectCount']; for (const key of performanceNavigationKeys) { assert_equals(jsonNavigation[key], navigation[key], `performance.toJSON().navigation.${key} should match performance.navigation.${key}`); assert_equals(navigationJSON[key], navigation[key], `performance.navigation.toJSON().${key} should match performance.navigation.${key}`); } }, 'Test performance.toJSON()'); </script> </body> </html>