| OLD | NEW |
| 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 <script src="resources/shadow-dom.js"></script> | 5 <script src="resources/shadow-dom.js"></script> |
| 6 </head> | 6 </head> |
| 7 <body> | 7 <body> |
| 8 <div id="console"> | 8 <div id="console"> |
| 9 </div> | 9 </div> |
| 10 <script> | 10 <script> |
| 11 description("This tests the blur() on on shadow host should work when a shadow h
ost contains a focused element in its shadow DOM subtrees property (bug 81102)")
; | 11 description("This tests the blur() on on shadow host should work when a shadow h
ost contains a focused element in its shadow DOM subtrees property (bug 81102)")
; |
| 12 | 12 |
| 13 if (!window.internals) | 13 if (!window.internals) |
| 14 debug('This test runs on DRT only'); | 14 debug('This test runs on DRT only'); |
| 15 | 15 |
| 16 document.body.appendChild( | 16 document.body.appendChild( |
| 17 createDOM('div', {'id':'shadowHostA'}, | 17 createDOM('div', {'id':'shadowHostA'}, |
| 18 createShadowRoot( | 18 createShadowRoot( |
| 19 createDOM('p', {'id':'childInTreeOne', 'tabindex':'1'}), | 19 createDOM('p', {'id':'childInTreeOne', 'tabindex':'1'}), |
| 20 createDOM('div', {'id':'shadowHostB'}, | 20 createDOM('div', {'id':'shadowHostB'}, |
| 21 createShadowRoot( | 21 createShadowRoot( |
| 22 createDOM('p', {'id':'childInTreeTwo', 'tabindex':'2'}))))))
; | 22 createDOM('p', {'id':'childInTreeTwo', 'tabindex':'2'}))))))
; |
| 23 | 23 |
| 24 document.body.appendChild( | 24 document.body.appendChild( |
| 25 createDOM('div', {'id':'shadowHostC'}, | 25 createDOM('div', {'id':'shadowHostC'}, |
| 26 createShadowRoot( | 26 createShadowRoot( |
| 27 createDOM('p', {'id':'childInTreeThree', 'tabindex':'3'}))) | 27 createDOM('p', {'id':'childInTreeThree', 'tabindex':'3'}))) |
| 28 ); | 28 ); |
| 29 | 29 |
| 30 getNodeInTreeOfTrees('shadowHostA').onblur = function() { debug("shadowHostA onb
lur called!"); } | 30 getNodeInComposedTree('shadowHostA').onblur = function() { debug("shadowHostA on
blur called!"); } |
| 31 getNodeInTreeOfTrees('shadowHostA/shadowHostB').onblur = function() { debug("sha
dowHostB onblur called!"); } | 31 getNodeInComposedTree('shadowHostA/shadowHostB').onblur = function() { debug("sh
adowHostB onblur called!"); } |
| 32 | 32 |
| 33 // childInTreeOne foucsed - shadowHostA blurred | 33 // childInTreeOne foucsed - shadowHostA blurred |
| 34 evalAndLog("getNodeInTreeOfTrees('shadowHostA/childInTreeOne').focus()"); | 34 evalAndLog("getNodeInComposedTree('shadowHostA/childInTreeOne').focus()"); |
| 35 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); | 35 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); |
| 36 evalAndLog("getNodeInTreeOfTrees('shadowHostA').blur();"); | 36 evalAndLog("getNodeInComposedTree('shadowHostA').blur();"); |
| 37 shouldBe("document.activeElement", "document.body"); | 37 shouldBe("document.activeElement", "document.body"); |
| 38 shouldBe("getNodeInTreeOfTrees('shadowHostA/').activeElement", "null"); | 38 shouldBe("getNodeInComposedTree('shadowHostA/').activeElement", "null"); |
| 39 shouldBe("getNodeInTreeOfTrees('shadowHostA/shadowHostB/').activeElement", "null
"); | 39 shouldBe("getNodeInComposedTree('shadowHostA/shadowHostB/').activeElement", "nul
l"); |
| 40 shouldBe("getNodeInTreeOfTrees('shadowHostC/').activeElement", "null"); | 40 shouldBe("getNodeInComposedTree('shadowHostC/').activeElement", "null"); |
| 41 | 41 |
| 42 // childInTreeTwo foucsed - shadowHostB blurred | 42 // childInTreeTwo foucsed - shadowHostB blurred |
| 43 evalAndLog("getNodeInTreeOfTrees('shadowHostA/shadowHostB/childInTreeTwo').focus
()"); | 43 evalAndLog("getNodeInComposedTree('shadowHostA/shadowHostB/childInTreeTwo').focu
s()"); |
| 44 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); | 44 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); |
| 45 evalAndLog("getNodeInTreeOfTrees('shadowHostA/shadowHostB').blur();"); | 45 evalAndLog("getNodeInComposedTree('shadowHostA/shadowHostB').blur();"); |
| 46 shouldBe("document.activeElement", "document.body"); | 46 shouldBe("document.activeElement", "document.body"); |
| 47 shouldBe("getNodeInTreeOfTrees('shadowHostA/').activeElement", "null"); | 47 shouldBe("getNodeInComposedTree('shadowHostA/').activeElement", "null"); |
| 48 shouldBe("getNodeInTreeOfTrees('shadowHostA/shadowHostB/').activeElement", "null
"); | 48 shouldBe("getNodeInComposedTree('shadowHostA/shadowHostB/').activeElement", "nul
l"); |
| 49 shouldBe("getNodeInTreeOfTrees('shadowHostC/').activeElement", "null"); | 49 shouldBe("getNodeInComposedTree('shadowHostC/').activeElement", "null"); |
| 50 | 50 |
| 51 // childInTreeTwo foucsed - shadowHostA blurred | 51 // childInTreeTwo foucsed - shadowHostA blurred |
| 52 evalAndLog("getNodeInTreeOfTrees('shadowHostA/shadowHostB/childInTreeTwo').focus
()"); | 52 evalAndLog("getNodeInComposedTree('shadowHostA/shadowHostB/childInTreeTwo').focu
s()"); |
| 53 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); | 53 shouldBeEqualToString("document.activeElement.id", "shadowHostA"); |
| 54 evalAndLog("getNodeInTreeOfTrees('shadowHostA').blur();"); | 54 evalAndLog("getNodeInComposedTree('shadowHostA').blur();"); |
| 55 shouldBe("document.activeElement", "document.body"); | 55 shouldBe("document.activeElement", "document.body"); |
| 56 shouldBe("getNodeInTreeOfTrees('shadowHostA/').activeElement", "null"); | 56 shouldBe("getNodeInComposedTree('shadowHostA/').activeElement", "null"); |
| 57 shouldBe("getNodeInTreeOfTrees('shadowHostA/shadowHostB/').activeElement", "null
"); | 57 shouldBe("getNodeInComposedTree('shadowHostA/shadowHostB/').activeElement", "nul
l"); |
| 58 shouldBe("getNodeInTreeOfTrees('shadowHostC/').activeElement", "null"); | 58 shouldBe("getNodeInComposedTree('shadowHostC/').activeElement", "null"); |
| 59 | 59 |
| 60 // childInTreeThree foucsed - shadowHostA blurred | 60 // childInTreeThree foucsed - shadowHostA blurred |
| 61 evalAndLog("getNodeInTreeOfTrees('shadowHostC/childInTreeThree').focus()"); | 61 evalAndLog("getNodeInComposedTree('shadowHostC/childInTreeThree').focus()"); |
| 62 shouldBeEqualToString("document.activeElement.id", "shadowHostC"); | 62 shouldBeEqualToString("document.activeElement.id", "shadowHostC"); |
| 63 evalAndLog("getNodeInTreeOfTrees('shadowHostA').blur();"); | 63 evalAndLog("getNodeInComposedTree('shadowHostA').blur();"); |
| 64 shouldBeEqualToString("document.activeElement.id", "shadowHostC"); | 64 shouldBeEqualToString("document.activeElement.id", "shadowHostC"); |
| 65 shouldBe("getNodeInTreeOfTrees('shadowHostA/').activeElement", "null"); | 65 shouldBe("getNodeInComposedTree('shadowHostA/').activeElement", "null"); |
| 66 shouldBe("getNodeInTreeOfTrees('shadowHostA/shadowHostB/').activeElement", "null
"); | 66 shouldBe("getNodeInComposedTree('shadowHostA/shadowHostB/').activeElement", "nul
l"); |
| 67 shouldBeEqualToString("getNodeInTreeOfTrees('shadowHostC/').activeElement.id", "
childInTreeThree"); | 67 shouldBeEqualToString("getNodeInComposedTree('shadowHostC/').activeElement.id",
"childInTreeThree"); |
| 68 | 68 |
| 69 var successfullyParsed = true; | 69 var successfullyParsed = true; |
| 70 </script> | 70 </script> |
| 71 </body> | 71 </body> |
| 72 </html> | 72 </html> |
| OLD | NEW |