| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <style> | |
| input::-webkit-textfield-decoration-container, | |
| input[type="search"]::-webkit-textfield-decoration-container, | |
| input[type="search"]::-webkit-search-cancel-button, | |
| input[type="search"]::-webkit-search-decoration, | |
| input[type="search"]::-webkit-search-results-decoration, | |
| input[type="search"]::-webkit-search-results-button, | |
| ::placeholder, | |
| input::placeholder, | |
| isindex::placeholder, | |
| input[type="button"], input[type="submit"], input[type="reset"], | |
| input[type="file"]::-webkit-file-upload-button, | |
| button, | |
| input[type="range"]::-webkit-slider-container, | |
| input[type="range"]::-webkit-media-slider-container, | |
| input[type="range"]::-webkit-slider-runnable-track, | |
| input[type="range"]::-webkit-slider-thumb, | |
| input[type="range"]::-webkit-color-swatch-wrapper, | |
| input[type="range"]::-webkit-color-swatch, | |
| input::-webkit-calendar-picker-indicator { | |
| -webkit-user-modify: read-write; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <p>The inner element of input should not be modifiable. | |
| Trying to delete the inner element of input should not cause a crash.</p> | |
| <div id="container"> | |
| <input id="search" type="search"> | |
| <input id="file" type="file"> | |
| <input id="range" type="range"> | |
| <input id="color" type="color"> | |
| <input id="number" type="number"> | |
| <input id="placeholder" type="text" placeholder="something"> | |
| <button id="button">something</button> | |
| <input id="date" type="date"> | |
| <video id="video" controls> | |
| <audio id="audio" controls> | |
| </div> | |
| <script> | |
| async function focusAndType(id, key) | |
| { | |
| if (!window.eventSenver) | |
| return; | |
| var target = document.getElementById(id); | |
| await eventSender.asyncMouseMoveTo(target.offsetLeft + 2, target.offsetTop + 2); | |
| await eventSender.asyncMouseDown(); | |
| await eventSender.asyncMouseUp(); | |
| eventSender.keyDown(key); | |
| } | |
| onload = async () => { | |
| if (!window.testRunner) | |
| return; | |
| testRunner.waitUntilDone(); | |
| testRunner.dumpAsText(); | |
| var container = document.getElementById("container"); | |
| await focusAndType("search", "delete"); | |
| await focusAndType("file", "delete"); | |
| await focusAndType("range", "delete"); | |
| await focusAndType("color", "delete"); | |
| await focusAndType("number", "delete"); | |
| await focusAndType("placeholder", "delete"); | |
| await focusAndType("button", "delete"); | |
| await focusAndType("date", "delete"); | |
| await focusAndType("video", "delete"); | |
| await focusAndType("audio", "delete"); | |
| container.innerHTML = "PASS"; | |
| testRunner.notifyDone(); | |
| } | |
| </script> | |
| </body> | |
| </html> |