OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <body> | 2 <body> |
3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 <script src="../forms/resources/common.js"></script> | 5 <script src="../forms/resources/common.js"></script> |
6 <div id="log"></div> | 6 <div id="log"></div> |
7 <div id="container"></div> | 7 <div id="container"></div> |
8 <script> | 8 <script> |
9 if (!window.eventSender) | 9 if (!window.eventSender) |
10 document.body.textContent = 'This test requires window.eventSender.'; | 10 document.body.textContent = 'This test requires window.eventSender.'; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 testRunner.findString("dolor", []); | 85 testRunner.findString("dolor", []); |
86 eventSender.keyDown('\t'); | 86 eventSender.keyDown('\t'); |
87 assert_equals(document.activeElement.id, 'sit'); | 87 assert_equals(document.activeElement.id, 'sit'); |
88 testRunner.findString("Lorem", []); | 88 testRunner.findString("Lorem", []); |
89 eventSender.keyDown('\t'); | 89 eventSender.keyDown('\t'); |
90 assert_equals(document.activeElement.id, 'ipsum'); | 90 assert_equals(document.activeElement.id, 'ipsum'); |
91 testRunner.findString("amet", []); | 91 testRunner.findString("amet", []); |
92 eventSender.keyDown('\t', ['shiftKey']); | 92 eventSender.keyDown('\t', ['shiftKey']); |
93 assert_equals(document.activeElement.id, 'sit'); | 93 assert_equals(document.activeElement.id, 'sit'); |
94 }, 'Find text should update sequential focus navigation starting point.'); | 94 }, 'Find text should update sequential focus navigation starting point.'); |
| 95 |
| 96 var t = async_test('Cross-frame sequential focus navigation should clear per-doc
ument starting point.'); |
| 97 t.step(() => { |
| 98 var container = document.querySelector('#container'); |
| 99 container.innerHTML = '<iframe tabindex=0 srcdoc="<input id=inner1><input id
=inner2>"></iframe><input id=outer1>'; |
| 100 var iframe = container.firstChild; |
| 101 document.querySelector('#outer1').addEventListener('focus', () => { iframe.f
ocus() }, false); |
| 102 iframe.addEventListener('load', t.step_func(() => { |
| 103 var inner2 = iframe.contentDocument.querySelector('#inner2'); |
| 104 inner2.focus(); |
| 105 eventSender.keyDown('\t'); |
| 106 eventSender.keyDown('\t', ['shiftKey']); |
| 107 assert_equals(iframe.contentDocument.activeElement, inner2); |
| 108 t.done(); |
| 109 }), false); |
| 110 }); |
95 </script> | 111 </script> |
96 </body> | 112 </body> |
OLD | NEW |