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 |