OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../../resources/js-test.js"></script> | 2 <script src="../../../resources/js-test.js"></script> |
3 <script src="resources/shadow-dom.js"></script> | 3 <script src="resources/shadow-dom.js"></script> |
4 <body> | 4 <body> |
5 <pre id="console"></pre> | 5 <pre id="console"></pre> |
6 <input id="defaultFocus"> | 6 <input id="defaultFocus"> |
7 <div id="sandbox"></div> | 7 <div id="sandbox"></div> |
8 </body> | 8 </body> |
9 <script> | 9 <script> |
10 description('Click inside focusable shadow host should focus the host.'); | 10 description('Click inside focusable shadow host should focus the host.'); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 function checkInnermostActiveElement(id) { | 42 function checkInnermostActiveElement(id) { |
43 if (isInnermostActiveElement(id)) | 43 if (isInnermostActiveElement(id)) |
44 debug('PASS innermost active element is ' + id); | 44 debug('PASS innermost active element is ' + id); |
45 } | 45 } |
46 | 46 |
47 function runTest() { | 47 function runTest() { |
48 var sandbox = document.querySelector('#sandbox'); | 48 var sandbox = document.querySelector('#sandbox'); |
49 prepareDOMTree(sandbox, false); | 49 prepareDOMTree(sandbox, false); |
50 resetFocus(); | 50 resetFocus(); |
51 | 51 |
52 host = getNodeInTreeOfTrees('shadowHost'); | 52 host = getNodeInComposedTree('shadowHost'); |
53 innerDiv = getNodeInTreeOfTrees('shadowHost/innerDiv'); | 53 innerDiv = getNodeInComposedTree('shadowHost/innerDiv'); |
54 inputA = getNodeInTreeOfTrees('shadowHost/inputA'); | 54 inputA = getNodeInComposedTree('shadowHost/inputA'); |
55 inputB = getNodeInTreeOfTrees('shadowHost/inputB'); | 55 inputB = getNodeInComposedTree('shadowHost/inputB'); |
56 | 56 |
57 debug('click on inner div should focus shadow host'); | 57 debug('click on inner div should focus shadow host'); |
58 clickOn(innerDiv); | 58 clickOn(innerDiv); |
59 checkInnermostActiveElement('shadowHost'); | 59 checkInnermostActiveElement('shadowHost'); |
60 | 60 |
61 inputA.focus(); | 61 inputA.focus(); |
62 checkInnermostActiveElement('shadowHost/inputA'); | 62 checkInnermostActiveElement('shadowHost/inputA'); |
63 clickOn(innerDiv); | 63 clickOn(innerDiv); |
64 checkInnermostActiveElement('shadowHost'); | 64 checkInnermostActiveElement('shadowHost'); |
65 | 65 |
66 inputB.focus(); | 66 inputB.focus(); |
67 clickOn(innerDiv); | 67 clickOn(innerDiv); |
68 checkInnermostActiveElement('shadowHost'); | 68 checkInnermostActiveElement('shadowHost'); |
69 | 69 |
70 debug('click on inner div should focus inner focusable (with delegatesFocus
= true)'); | 70 debug('click on inner div should focus inner focusable (with delegatesFocus
= true)'); |
71 prepareDOMTree(sandbox, true); | 71 prepareDOMTree(sandbox, true); |
72 resetFocus(); | 72 resetFocus(); |
73 | 73 |
74 host = getNodeInTreeOfTrees('shadowHost'); | 74 host = getNodeInComposedTree('shadowHost'); |
75 innerDiv = getNodeInTreeOfTrees('shadowHost/innerDiv'); | 75 innerDiv = getNodeInComposedTree('shadowHost/innerDiv'); |
76 inputA = getNodeInTreeOfTrees('shadowHost/inputA'); | 76 inputA = getNodeInComposedTree('shadowHost/inputA'); |
77 inputB = getNodeInTreeOfTrees('shadowHost/inputB'); | 77 inputB = getNodeInComposedTree('shadowHost/inputB'); |
78 | 78 |
79 inputA.value = 'wonderful'; // len = 9 | 79 inputA.value = 'wonderful'; // len = 9 |
80 inputB.value = 'beautiful'; | 80 inputB.value = 'beautiful'; |
81 | 81 |
82 clickOn(innerDiv); | 82 clickOn(innerDiv); |
83 checkInnermostActiveElement('shadowHost/inputA'); | 83 checkInnermostActiveElement('shadowHost/inputA'); |
84 | 84 |
85 // If focus slides from shadow host, all the content will be selected. | 85 // If focus slides from shadow host, all the content will be selected. |
86 shouldBe('inputA.selectionStart', '0'); | 86 shouldBe('inputA.selectionStart', '0'); |
87 shouldBe('inputA.selectionEnd', '9'); | 87 shouldBe('inputA.selectionEnd', '9'); |
(...skipping 15 matching lines...) Expand all Loading... |
103 clickOn(inputB); | 103 clickOn(inputB); |
104 checkInnermostActiveElement('shadowHost/inputB'); | 104 checkInnermostActiveElement('shadowHost/inputB'); |
105 clickOn(innerDiv); | 105 clickOn(innerDiv); |
106 checkInnermostActiveElement('shadowHost/inputB'); | 106 checkInnermostActiveElement('shadowHost/inputB'); |
107 shouldBe('inputB.selectionStart', '1'); | 107 shouldBe('inputB.selectionStart', '1'); |
108 shouldBe('inputB.selectionEnd', '1'); | 108 shouldBe('inputB.selectionEnd', '1'); |
109 } | 109 } |
110 | 110 |
111 runTest(); | 111 runTest(); |
112 </script> | 112 </script> |
OLD | NEW |