<!doctype html>
<meta charset="utf-8">
<title>iframe.focus() with same-as-top intermediate frame middle</title>
<iframe src="http://{{hosts[alt][www]}}:{{ports[http][0]}}/focus/support/iframe-focus-with-same-as-top-intermediate-frame-inner.html"></iframe>
<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.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
* https://bugzilla.mozilla.org/show_bug.cgi?id=1675484
*
* Fires in Blink in the iframe.focus() case but not in
* the iframe.contentWindow.focus() case.
*/
// iframe.onfocus = function() {
// log += "middlefocus;";
// }
</script>