<!DOCTYPE html> <html> <head> <meta charset="utf-8" > <title>window.performance.timing in document navigation</title> <link rel="author" title="Google" href="http://www.google.com/" /> <link rel="help" href="http://www.w3.org/TR/navigation-timing/#sec-navigation-timing-interface"/> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/common/performance-timeline-utils.js"></script> <script src="resources/webperftestharness.js"></script> </head> <body> <h1>Description</h1> <p>This test validates that all of the window.performance.timing attributes remain unchanged after an in document navigation (URL fragment change).</p> <div id="log"></div> <script> setup({explicit_done: true}); // explicitly test the namespace before we start testing test_namespace('timing'); var timing; function check_timing_not_changed() { for (var i = 0; i < timingAttributes.length; ++i) { var property = timingAttributes[i]; test_equals(timing[property], initial_timing[property], property + " is the same after in document navigation."); } done(); } var initial_timing = {}; function save_timing_after_load() { for (var i = 0; i < timingAttributes.length; ++i) { var property = timingAttributes[i]; initial_timing[property] = timing[property]; } window.location.href = "#1"; step_timeout(check_timing_not_changed, 0); } function load_handler() { if (performanceNamespace === undefined) { // avoid script errors done(); return; } timing = performanceNamespace.timing; window.removeEventListener("load", load_handler); step_timeout(save_timing_after_load, 0); } window.addEventListener("load", load_handler, false); </script> </body> </html>