Source code

Revision control

Copy as Markdown

Other Tools

<!doctype html>
<meta charset="utf-8">
<title>iframe.contentWindow.focus() with same-as-top intermediate frame middle</title>
<script>
let iframe = document.getElementsByTagName("iframe")[0];
let log = "";
function getLog() {
return log;
}
window.onmessage = function(e) {
log += e.data;
if (e.data == "starttest;") {
log += "middleactivelement:" + document.activeElement.localName + ";";
log += "callfocus;";
iframe.contentWindow.focus();
log += "middleactivelement:" + document.activeElement.localName + ";";
parent.opener.step_timeout(function() {
log += "middletimer;middleactivelement:" + document.activeElement.localName + ";";
parent.postMessage(getLog(), "*");
}, 1500);
}
};
/*
* TODO: Get browsers to agree on this one.
*
* Does not fire in Firefox without Fission
*
* Fires in Blink in the iframe.focus() case but not in
* the iframe.contentWindow.focus() case.
*/
// iframe.onfocus = function() {
// log += "middlefocus;";
// }
</script>