85 lines
No EOL
3.1 KiB
HTML
85 lines
No EOL
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Navigation Timing 2 WPT</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
setup({ single_test: true });
|
|
var reload_frame;
|
|
|
|
// Array of navigation timing entries dependent on Document Load Timing.
|
|
var navTimingAttributes = [
|
|
'fetchStart',
|
|
'loadEventEnd',
|
|
'loadEventStart',
|
|
'redirectCount',
|
|
'redirectEnd',
|
|
'redirectStart',
|
|
'responseEnd',
|
|
'unloadEventEnd',
|
|
'unloadEventStart',
|
|
];
|
|
|
|
// Function to run the test when the page loads.
|
|
function onload_test() {
|
|
reload_frame = document.getElementById("frameContext");
|
|
reload_frame.onload = function() {
|
|
step_timeout(do_test, 0);
|
|
}
|
|
step_timeout(reload_the_frame, 0);
|
|
}
|
|
|
|
/*
|
|
Function to reload the iframe and observe values for navigation timing entries:
|
|
redirectStart, redirectEnd and redirectCount dependent on Document Load Timing.
|
|
*/
|
|
function reload_the_frame() {
|
|
reload_frame.contentWindow.location.href =
|
|
"/common/redirect.py?location=/navigation-timing/resources/blank-page-green.html";
|
|
}
|
|
|
|
/*
|
|
Function to obtain navigation timing entries and,
|
|
check if the values are greater than 0.
|
|
*/
|
|
function do_test() {
|
|
var nav_frame = document.getElementById("frameContext").contentWindow;
|
|
var pnt1 = nav_frame.performance.getEntriesByType("navigation")[0];
|
|
for (i in navTimingAttributes) {
|
|
assert_greater_than(pnt1[navTimingAttributes[i]], 0,
|
|
`Expected navigation timing entries: ${navTimingAttributes[i]} greater than 0`);
|
|
}
|
|
step_timeout(remove, 0);
|
|
done(); // Avoids scripting errors
|
|
}
|
|
|
|
/*
|
|
Function to remove the iframe from the parent body and,
|
|
check if the navigation timing entries of detached iframe are 0.
|
|
*/
|
|
function remove() {
|
|
var nav_frame = document.getElementById("frameContext").contentWindow;
|
|
var pnt1 = nav_frame.performance.getEntriesByType("navigation")[0];
|
|
document.body.removeChild(document.getElementById("frameContext"));
|
|
for (i in navTimingAttributes) {
|
|
assert_equals(pnt1[navTimingAttributes[i]], 0,
|
|
`${navTimingAttributes[i]} dependent on Document Load Timing: returns 0`);
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="onload_test();">
|
|
<h1>Description</h1>
|
|
<p>This test observes values of navigation timing entries,</p>
|
|
<p>dependent on Document Load Timing for a detached iframe.</p>
|
|
<br />
|
|
<p>This page should be loaded with a green background frame below,</p>
|
|
<p>which disappears after the iframe is detached.</p>
|
|
<br />
|
|
<iframe id="frameContext"
|
|
src="/navigation-timing/resources/blank-page-green.html"
|
|
style="width: 250px; height: 250px;"></iframe>
|
|
</body>
|
|
</html> |