<!
DOCTYPE html>
<
html>
<
title>Makes sure that preloaded resources reduce connection
time to zero</
title>
<
meta name=
"timeout" content=
"long">
<
meta name=
"pac" content=
"/common/proxy-all.sub.pac">
<
script src=
"/common/utils.js"></
script>
<
script src=
"/resources/testharness.js"></
script>
<
script src=
"/resources/testharnessreport.js"></
script>
<
body>
<
script>
const FAKE_PORT = 30303;
promise_test(async t => {
const fake_remote_origin = `
http://${token()}.wpt:${FAKE_PORT}`;
const
link = document.createElement(
'link');
link.rel =
"preconnect";
link.href = fake_remote_origin;
document.
head.appendChild(
link);
await new Promise(r => t.step_timeout(r, 1000));
const url = `${fake_remote_origin}/images/smiley.png`;
const entryPromise = new Promise(resolve => {
new PerformanceObserver(list => {
const entries = list.getEntriesByName(url);
if (entries.length)
resolve(entries[0]);
}).observe({type:
"resource"});
});
const
img = document.createElement(
'img');
img.src = url;
document.
body.appendChild(
img);
const entry = await entryPromise;
assert_equals(entry.domainLookupStart, entry.domainLookupEnd);
assert_equals(entry.domainLookupStart, entry.connectStart);
assert_equals(entry.domainLookupStart, entry.connectEnd);
},
"Test that preconnect reduces connection time to zero");
</
script>
</
body>
</
html>