| <!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] --> |
| <html> |
| <head> |
| <meta name="viewport" content="initial-scale=1.0"> |
| <script src="../../resources/ui-helper.js"></script> |
| <link rel="stylesheet" href="resources/test.css"> |
| </head> |
| <body> |
| <p>This tests that a text placeholder that is inserted and removed from a text field visually looks as if it never was inserted to begin with. This test can only be run in WebKitTestRunner or DumpRenderTree.</p> |
| <input id="input" class="test" type="text" value="Hello from Cupertino!"> |
| <script> |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| async function runTest() |
| { |
| let input = document.getElementById("input"); |
| if (window.testRunner) |
| await UIHelper.activateElementAndWaitForInputSession(input); |
| else |
| await UIHelper.callFunctionAndWaitForEvent(() => input.focus(), input, "focus"); |
| |
| let positionOfFrom = input.value.indexOf("from"); |
| input.setSelectionRange(positionOfFrom, positionOfFrom); |
| |
| let placeholderElement = null; |
| if (window.internals) { |
| // Because we are using the Ahem font almost all glyphs have the same width. |
| let glyphWidth = parseInt(window.getComputedStyle(input, null).fontSize, 10); |
| placeholderElement = internals.insertTextPlaceholder(5 * glyphWidth, 0 /* height */); |
| console.assert(placeholderElement); |
| } |
| |
| // Defocus field to hide the cursor. |
| await UIHelper.callFunctionAndWaitForEvent(() => input.blur(), input, "blur"); |
| |
| if (window.internals) |
| internals.removeTextPlaceholder(placeholderElement); |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| runTest(); |
| </script> |
| </body> |
| </html> |