blob: fbd7bc3b6e21ee39478c8a63780bb673dafe96a4 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<iframe id="frame" src="//{{domains[www]}}:{{ports[http][1]}}/resource-timing/resources/iframe-setdomain.sub.html"></iframe>
<script>
let opener = window.opener;
window.addEventListener("load", () => {
try {
let frameDoc = document.getElementById("frame").contentWindow.document;
opener.postMessage("FAIL - iframe document.domain was not set", "*");
return;
} catch(error) {
if (error.name != "SecurityError") {
opener.postMessage("FAIL - error is " + error.name, "*");
return;
}
let entry = performance.getEntriesByName(window.location.protocol + "//{{domains[www]}}:{{ports[http][1]}}/resource-timing/resources/iframe-setdomain.sub.html");
// To verify that setting 'document.domain' did not change the results of the timing allow check,
// verify that the following non-zero properties return their value.
["domainLookupStart", "domainLookupEnd", "connectStart", "connectEnd"].forEach(property => {
if (entry[property] == 0) {
opener.postMessage("FAIL - " + property + " is 0 but timing allow check should ignore document.domain", "*");
}
});
opener.postMessage("PASS", "*");
}
opener.postMessage("FAIL - unknown", "*");
});
</script>