blob: faee16c27cca18a85e7619de4dc249ffdd648b67 [file] [log] [blame]
<!DOCTYPE html><!-- webkit-test-runner [ KeygenElementEnabled=true ] -->
<html>
<div>Tests for a crash due to adopting a DOM node when unfocusing. Test passes if it doesn't crash.</div>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
</script>
<div id="div1"></div>
<div id="div2">
<applet>
<iframe srcdoc="<iframe srcdoc=''>">
</iframe>
</applet>
<header id="header1">
<keygen id="keygen" autofocus>
</header>
</div>
<div id="logs"></div>
<script>
function assert_true(assert, text) {
const div = document.createElement("div");
if (assert)
div.textContent = "PASS: " + text;
else
div.textContent = "FAIL: " + text;
logs.append(div);
}
function doit() {
assert_true(document.activeElement == keygen, "Focused node should be keygen");
div1.outerHTML = header1.outerHTML;
assert_true(document.activeElement != keygen, "Focused node should no longer be keygen");
document.implementation.createDocument("", "", null).adoptNode(div2);
if (window.internals)
internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks();
if (window.testRunner)
testRunner.notifyDone();
}
window.onload = function() {
requestAnimationFrame(doit);
};
</script>
</html>