%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> <meta charset="utf-8" > <title>window.performance.now across frames</title> <link rel="author" title="Google" href="http://www.google.com/"> <link rel="help" href="http://www.w3.org/TR/hr-time/#sec-extenstions-performance-interface"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script type="text/javascript"> setup({explicit_done: true}); var setup_frame = async_test("Setup the frame"); function start_test() { setup_frame.step_timeout(function () { var iframe = document.createElement('iframe'); iframe.id = 'frameContext'; iframe.onload = finish_test; iframe.src = "resources/now_frame.html"; document.body.appendChild(iframe); setup_frame.done(); }, 1000); } function finish_test() { var childWindow = document.getElementById('frameContext').contentWindow; // Verify a positive number is returned for both the frame and parent. test(function() { assert_true(window.performance.now() > 0); }, 'parent performance.now() > 0'); test(function() { assert_true(childWindow.performance.now() > 0); }, 'child performance.now() > 0'); // Verify that the test properly created the child at least a second after the parent. test(function () { assert_true(childWindow.performance.timing.navigationStart > (window.performance.timing.navigationStart + 1000)); }, 'Child created at least 1 second after parent'); test(function () { var parentNow = window.performance.now(); var childNow = childWindow.performance.now(); var childParentSkew = Math.abs(childNow - parentNow); assert_true(childParentSkew > 1000, 'Child and parent\'s now()s have different bases (skewed more than 1 second)'); var childLoadTime = childWindow.performance.timing.loadEventStart - childWindow.performance.timing.navigationStart; assert_true(1000 > (childNow - childLoadTime), 'Child\'s now() is based on its document\'s navigationStart'); }, 'Child and parent time bases are correct'); done(); } </script> </head> <body onload="start_test()"> <h1>Description</h1> <p>This test validates the values of the window.performance.now() are based on the current document's navigationStart.</p> <div id="log"></div> </body> </html>