OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <script src="../resources/testharness.js"></script> | |
3 <script src="../resources/testharnessreport.js"></script> | |
4 <script src="resources/shadow-dom.js"></script> | |
5 <div id="targets"> | |
6 <div>Non-shadow</div> | |
7 | |
8 <div> | |
9 <template>Shadow</template> | |
10 </div> | |
11 | |
12 <div> | |
13 <template> | |
14 <div> | |
15 <template>Multi-level</template> | |
16 </div> | |
17 </template> | |
18 </div> | |
19 | |
20 <details></details> | |
21 </div> | |
22 <script> | |
23 convertTemplatesToShadowRootsWithin(targets); | |
24 | |
25 for (var i = 0; i < targets.children.length; ++i) { | |
26 var target = targets.children[i]; | |
27 test(function () { | |
28 testCaretRangeFromPoint(target); | |
29 }, target.tagName); | |
30 } | |
31 | |
32 function testCaretRangeFromPoint(target) { | |
33 var x = target.offsetLeft; | |
34 var y = target.offsetTop + target.offsetHeight / 2; | |
35 for (var offsetX = 2; offsetX >= -2; --offsetX) { | |
36 var range = document.caretRangeFromPoint(x + offsetX, y); | |
37 assert_true(isInDocumentTree(range.startContainer), "isInDocumentTree(st
artContainer) when offsetX=" + offsetX); | |
38 assert_true(isInDocumentTree(range.endContainer), "isInDocumentTree(endC
ontainer) when offsetX=" + offsetX); | |
39 } | |
40 } | |
41 | |
42 function isInDocumentTree(node) { | |
43 return rootNode(node) === document; | |
44 } | |
45 | |
46 function rootNode(node) { | |
47 for (;;) { | |
48 var parent = node.parentNode; | |
49 if (!parent) | |
50 return node; | |
51 node = parent; | |
52 } | |
53 } | |
54 | |
55 if (window.testRunner) | |
56 targets.style.display = "none"; | |
57 </script> | |
OLD | NEW |