| 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 |