mirror of https://github.com/nodejs/node.git
54 lines
1.6 KiB
HTML
54 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body>
|
|
<script>
|
|
function numberOfDownloads(url) {
|
|
let absoluteURL = new URL(url, location.href).href;
|
|
return performance.getEntriesByName(absoluteURL).length;
|
|
}
|
|
|
|
function waitForSubFrameLoad() {
|
|
return new Promise((resolve) => {
|
|
window.subFrameLoaded = () => {
|
|
window.subFrameLoaded = null;
|
|
resolve();
|
|
};
|
|
});
|
|
}
|
|
|
|
function runTest(type) {
|
|
performance.clearResourceTimings();
|
|
let elem = document.createElement(type);
|
|
if (type === 'object')
|
|
elem.data = 'resources/self_navigation.html?' + type;
|
|
else
|
|
elem.src = 'resources/self_navigation.html?' + type;
|
|
document.body.appendChild(elem);
|
|
return waitForSubFrameLoad().then(() => {
|
|
let resources = performance.getEntriesByType('resource');
|
|
assert_equals(numberOfDownloads('resources/self_navigation.html?' + type), 1);
|
|
assert_equals(numberOfDownloads('resources/notify_parent.html?redirected'), 0);
|
|
document.body.removeChild(elem);
|
|
});
|
|
}
|
|
|
|
promise_test(
|
|
() => runTest('iframe'),
|
|
"Subsequent <iframe> navigations don't appear in the resource-timing buffer.");
|
|
|
|
promise_test(
|
|
() => runTest('frame'),
|
|
"Subsequent <frame> navigations don't appear in the resource-timing buffer.");
|
|
|
|
promise_test(
|
|
() => runTest('embed'),
|
|
"Subsequent <embed> navigations don't appear in the resource-timing buffer.");
|
|
|
|
promise_test(
|
|
() => runTest('object'),
|
|
"Subsequent <object> navigations don't appear in the resource-timing buffer.");
|
|
|
|
</script>
|
|
</body>
|