blob: 63236687e164ef54708d76df1db1a30c9709d914 [file] [log] [blame]
<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
<title></title>
<style>
#editable {
width: 300px;
height: 300px;
border: 1px solid black;
font-family: monospace;
line-height: 1.5em;
}
.output {
margin-left: 60px;
}
</style>
<script src="../../../resources/ui-helper.js"></script>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function selectionToString(container)
{
const selection = getSelection();
if (!selection.rangeCount)
return "(no selection)";
const range = selection.getRangeAt(0);
const nodeIndex = Array.prototype.indexOf.call(container.childNodes, range.startContainer);
return `(node at ${nodeIndex}#${range.startOffset}, ${range.endContainer}#${range.endOffset})`;
}
async function runTest()
{
let container = document.getElementById('editable');
await UIHelper.activateAndWaitForInputSessionAt(25, 25);
document.querySelector("#selection-before").textContent = selectionToString(container);
await UIHelper.tapAt(25, 400);
document.querySelector("#selection-after").textContent = selectionToString(container);
if (window.testRunner)
testRunner.notifyDone();
}
window.addEventListener('load', runTest, false);
</script>
</head>
<body>
<div id="editable" contenteditable>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
line<br>
</div>
<div class="output">Selection before tap: <span id="selection-before"></span></div>
<div class="output">Selection after tap: <span id="selection-after"></span></div>
</body>
</html>