| <!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 selectTextAt(tapX, tapY) |
| { |
| return new Promise(resolve => { |
| testRunner.runUIScript(` |
| (function() { |
| uiController.longPressAtPoint(${tapX}, ${tapY}, function() { |
| uiController.uiScriptComplete("Done"); |
| }); |
| })();`, resolve); |
| }); |
| } |
| |
| 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 selectTextAt(25, 400) |
| const selectionRects = await UIHelper.getUISelectionRects(); |
| let rectsString = ""; |
| for (let rect of selectionRects) |
| 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> |
| line<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> |