| <!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 rectToString(rect) |
| { |
| return `(left = ${Math.round(rect.left)}, top = ${Math.round(rect.top)}, width = ${Math.round(rect.width)}, height = ${Math.round(rect.height)})`; |
| } |
| |
| async function runTest() |
| { |
| let container = document.getElementById('editable'); |
| await UIHelper.activateAndWaitForInputSessionAt(25, 25); |
| await UIHelper.callFunctionAndWaitForEvent(() => UIHelper.doubleTapElement(target), document, "selectionchange"); |
| await UIHelper.ensurePresentationUpdate(); |
| let rectsString = ""; |
| for (let rect of await UIHelper.getUISelectionRects()) |
| rectsString += rectToString(rect) + ' '; |
| |
| document.querySelector("#selection-rects").textContent = rectsString; |
| 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> |
| <span id="target">line</span><br> |
| line<br> |
| line<br> |
| line<br> |
| line<br> |
| line<br> |
| </div> |
| |
| <div class="output">Selection rects: <span id="selection-rects"></span></div> |
| |
| </body> |
| </html> |