blob: 18010460734bf1d9961e12eb3ddafc98b442a1f5 [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/shadow-dom.js"></script>
<div id="targets">
<div>Non-shadow</div>
<div>
<template>Shadow</template>
</div>
<div>
<template>
<div>
<template>Multi-level</template>
</div>
</template>
</div>
<details></details>
</div>
<script>
convertTemplatesToShadowRootsWithin(targets);
for (var i = 0; i < targets.children.length; ++i) {
var target = targets.children[i];
test(function () {
testCaretRangeFromPoint(target);
}, target.tagName);
}
function testCaretRangeFromPoint(target) {
var x = target.offsetLeft;
var y = target.offsetTop + target.offsetHeight / 2;
for (var offsetX = 2; offsetX >= -2; --offsetX) {
var range = document.caretRangeFromPoint(x + offsetX, y);
assert_true(isInDocumentTree(range.startContainer), "isInDocumentTree(startContainer) when offsetX=" + offsetX);
assert_true(isInDocumentTree(range.endContainer), "isInDocumentTree(endContainer) when offsetX=" + offsetX);
}
}
function isInDocumentTree(node) {
return rootNode(node) === document;
}
function rootNode(node) {
for (;;) {
var parent = node.parentNode;
if (!parent)
return node;
node = parent;
}
}
if (window.testRunner)
targets.style.display = "none";
</script>