| <!doctype html> |
| <meta charset="utf-8"> |
| <title>iframe.focus() with different-site intermediate frame middle</title> |
| <iframe src="http://{{hosts[][www]}}:{{ports[http][0]}}/focus/support/iframe-focus-with-different-site-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 + ";"; |
| setTimeout(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> |