Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/utils.js"></script>
<iframe src="resources/frame-with-autofocus-element.html#top"></iframe>
<script>
'use strict';
promise_test(async () => {
await waitForLoad(window);
const iframe = document.querySelector('iframe');
await waitUntilStableAutofocusState();
assert_equals(document.activeElement, iframe,
'Autofocus elements in iframes should be focused.');
const doc = iframe.contentDocument;
assert_true(!doc.querySelector(':target'));
let input = document.createElement('input');
input.autofocus = true;
document.body.appendChild(input);
await waitUntilStableAutofocusState();
assert_not_equals(document.activeElement, input);
}, 'Autofocus elements in iframed documents with "top" fragments should work.');
promise_test(async () => {
let w = window.open('resources/frame-with-autofocus-element.html#top');
await waitForLoad(w);
await waitUntilStableAutofocusState(w);
assert_not_equals(w.document.activeElement, w.document.body);
w.close();
}, 'Autofocus elements in top-level browsing context\'s documents with "top" fragments should work.');
</script>