51 lines
1.4 KiB
HTML
51 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<title>Navigation Timing Transfert Size of Prefetched Page</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/utils.js"></script>
|
|
<script src="/common/dispatcher/dispatcher.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<script>
|
|
function add_iframe(url) {
|
|
return new Promise(resolve => {
|
|
const frame = document.createElement('iframe');
|
|
frame.src = url;
|
|
frame.addEventListener('load', () => {
|
|
resolve(frame);
|
|
}, { once: true });
|
|
document.body.appendChild(frame);
|
|
});
|
|
};
|
|
|
|
promise_test(async t => {
|
|
// Add an iframe
|
|
let iframe_url = 'resources/iframe-prefetch-transfer-size.html';
|
|
frame = await add_iframe(iframe_url)
|
|
|
|
// Prefetch a url as link element.
|
|
await frame.contentWindow.addLink();
|
|
|
|
// navigate to the prefetched url.
|
|
await new Promise(resolve => {
|
|
frame.addEventListener('load', () => {
|
|
resolve();
|
|
}, { once: true });
|
|
frame.contentWindow.navigateToPrefetchedUrl();
|
|
});
|
|
|
|
// Verify navigation timing transfer size is 0.;
|
|
let transferSize =
|
|
frame.contentWindow.performance.getEntriesByType('navigation')[0].transferSize;
|
|
|
|
assert_equals(transferSize, 0);
|
|
|
|
}, "Navigation timing transfer size for a prefetched navigation should be 0.");
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|