Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unfocusable.html

Issue 138183003: Revert of Make ancestors of modal <dialog> inert (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../../resources/js-test.js"></script> 4 <script src="../../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body id="body" tabindex="1"> 6 <body id="body" tabindex="1">
7 <dialog id="top-dialog" tabindex="1" style="width: 100px; top: 30px"><button id= "top-dialog-button">I get focus</button></dialog> 7 <dialog id="top-dialog" tabindex="1" style="width: 100px; top: 30px"><button id= "top-dialog-button">I get focus</button></dialog>
8 <dialog id="bottom-dialog" tabindex="-1" style="width: 100px; bottom: 30px"><but ton id="bottom-dialog-button">I don't get focus.</button></dialog> 8 <dialog id="bottom-dialog" tabindex="-1" style="width: 100px; bottom: 30px"><but ton id="bottom-dialog-button">I don't get focus.</button></dialog>
9 <div id="container"> 9 <div id="container">
10 <input id="text" type="text"> 10 <input id="text" type="text">
11 <input id="datetime" type="datetime"> 11 <input id="datetime" type="datetime">
12 <input id="color" type="color"> 12 <input id="color" type="color">
13 <select id="select"> 13 <select id="select">
14 <optgroup id="optgroup"> 14 <optgroup id="optgroup">
15 <option id="option">Option</option> 15 <option id="option">Option</option>
16 </optgroup> 16 </optgroup>
17 </select> 17 </select>
18 <div id="contenteditable-div" contenteditable>I'm editable</div> 18 <div id="contenteditable-div" contenteditable>I'm editable</div>
19 <span id="tabindex-span" tabindex="0">I'm tabindexed.</div> 19 <span id="tabindex-span" tabindex="0">I'm tabindexed.</div>
20 <embed id="embed" type="application/x-webkit-test-netscape" width=100 height =100></embed> 20 <embed id="embed" type="application/x-webkit-test-netscape" width=100 height =100></embed>
21 <a id="anchor" href="">Link</a> 21 <a id="anchor" href="">Link</a>
22 </div> 22 </div>
23 <script> 23 <script>
24 description('Test that inert nodes are not focusable. The test passses if only t he ' + 24 description('Test that inert nodes are not focusable. The test passses if only t he document body ' +
25 'topmost dialog and its button are focusable.'); 25 'and the topmost dialog and its button are focusable.');
26 26
27 function testFocus(element, expectFocus) { 27 function testFocus(element, expectFocus) {
28 focusedElement = null; 28 focusedElement = null;
29 element.addEventListener('focus', function() { focusedElement = element; }, false); 29 element.addEventListener('focus', function() { focusedElement = element; }, false);
30 element.focus(); 30 element.focus();
31 expected = expectFocus ? "true" : "false" 31 expected = expectFocus ? "true" : "false"
32 theElement = element; 32 theElement = element;
33 shouldBe('"' + element.id + '"; focusedElement === theElement', expected); 33 shouldBe('"' + element.id + '"; focusedElement === theElement', expected);
34 } 34 }
35 35
36 function testTree(element, expectFocus) { 36 function testTree(element, expectFocus) {
37 if (element.nodeType == Node.ELEMENT_NODE) 37 if (element.nodeType == Node.ELEMENT_NODE)
38 testFocus(element, expectFocus); 38 testFocus(element, expectFocus);
39 var childNodes = element.childNodes; 39 var childNodes = element.childNodes;
40 for (var i = 0; i < childNodes.length; i++) 40 for (var i = 0; i < childNodes.length; i++)
41 testTree(childNodes[i], expectFocus); 41 testTree(childNodes[i], expectFocus);
42 } 42 }
43 43
44 var bottomDialog = document.getElementById('bottom-dialog'); 44 var bottomDialog = document.getElementById('bottom-dialog');
45 bottomDialog.showModal(); 45 bottomDialog.showModal();
46 46
47 var topDialog = document.getElementById('top-dialog'); 47 var topDialog = document.getElementById('top-dialog');
48 topDialog.showModal(); 48 topDialog.showModal();
49 49
50 testFocus(document.body, false); 50 testFocus(document.body, true);
51 testTree(topDialog, true); 51 testTree(topDialog, true);
52 testTree(bottomDialog, false); 52 testTree(bottomDialog, false);
53 testTree(document.getElementById('container'), false); 53 testTree(document.getElementById('container'), false);
54 </script> 54 </script>
55 </body> 55 </body>
56 </html> 56 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698