blob: 857ad2e7485c3f67c8a3e9ddefe184f04fd018cb [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<iframe id="frame" src="//{{hosts[alt][]}}:{{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 + "//{{hosts[alt][]}}:{{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>