| <!DOCTYPE html> |
| <html> |
| <body> |
| <input id="editable" contenteditable onbeforeinput=preventInsertFromComposition(event)></input> |
| <script src="../../resources/dump-as-markup.js"></script> |
| <script type="text/javascript"> |
| Markup.description("To manually test this, try to insert text using IME. No text should be committed to the input."); |
| if (window.internals) |
| internals.settings.setInputEventsEnabled(true); |
| |
| editable.focus(); |
| |
| if (window.textInputController) { |
| textInputController.setMarkedText("a", 1, 0); |
| textInputController.setMarkedText("ab", 2, 0); |
| textInputController.setMarkedText("abc", 3, 0); |
| textInputController.insertText("abc"); |
| Markup.dump("editable", "after trying to commit a typed composition"); |
| textInputController.setMarkedText("a", 1, 0); |
| textInputController.setMarkedText("ab", 2, 0); |
| textInputController.setMarkedText("cde", 0, 3); |
| textInputController.setMarkedText("fg", 0, 2); |
| textInputController.insertText("fg"); |
| Markup.dump("editable", "after trying to commit a selected composition"); |
| } |
| |
| function preventInsertFromComposition(event) |
| { |
| if (event.inputType == "insertFromComposition") |
| event.preventDefault(); |
| } |
| </script> |
| </body> |
| </html> |