| <!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#anchor1"></iframe> |
| <iframe src="resources/frame-with-autofocus-element.html#non-existent-anchor"></iframe> |
| |
| <script> |
| 'use strict'; |
| |
| promise_test(async () => { |
| await waitForLoad(window); |
| await waitUntilStableAutofocusState(); |
| assert_equals(document.activeElement, document.body, |
| 'Autofocus elements in iframes should not be focused.'); |
| |
| let input = document.createElement('input'); |
| input.autofocus = true; |
| document.body.appendChild(input); |
| await waitUntilStableAutofocusState(); |
| assert_equals(document.activeElement, input); |
| }, 'Autofocus elements in iframed documents with URL fragments should be skipped.'); |
| |
| promise_test(async () => { |
| let w = window.open('resources/frame-with-autofocus-element.html#xpointer(//body)'); |
| await waitForLoad(w); |
| await waitUntilStableAutofocusState(w); |
| assert_equals(w.document.activeElement, w.document.body); |
| w.close(); |
| }, 'Autofocus elements in top-level browsing context\'s documents with URI fragments should be skipped.'); |
| </script> |