| <!DOCTYPE html> |
| <html> |
| <body> |
| <p>To manually test this, select the text and change the foreground color.</p> |
| <p>The resulting debug message should show the input color.</p> |
| <div id="editable" contenteditable onbeforeinput=handleInput(event) oninput=handleInput(event)>This is some text</div> |
| <div id="output"></div> |
| <script type="text/javascript"> |
| let write = s => output.innerHTML += s + "<br>"; |
| if (window.internals) { |
| testRunner.dumpAsText(); |
| internals.settings.setInputEventsEnabled(true); |
| } |
| |
| document.getElementById("editable").focus(); |
| |
| if (window.testRunner) { |
| document.execCommand("SelectAll"); |
| setForeColor("rgb(255, 255, 255)"); |
| setForeColor("rgb(100, 255, 0)"); |
| setForeColor("rgb(0, 0, 0)"); |
| setForeColor("rgb(255, 0, 0)"); |
| } |
| |
| function setForeColor(color) { |
| // FIXME: Color is passed twice here for compatibility with both DumpRenderTree and WebKitTestRunner. |
| testRunner.execCommand("ForeColor", color, color); |
| } |
| |
| function handleInput(event) |
| { |
| if (event.inputType === "formatFontColor") |
| write(`Received ${event.type} event with data: "${event.data}"`); |
| } |
| </script> |
| </body> |
| </html> |