| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <style> | |
| div[contenteditable] { | |
| top: 0; | |
| left: 0; | |
| position: absolute; | |
| font-size: 20px; | |
| outline: none; | |
| caret-color: transparent; | |
| } | |
| #overlay { | |
| position: fixed; | |
| font-size: 20px; | |
| visibility: hidden; | |
| top: 0; | |
| left: 0; | |
| } | |
| .container { | |
| position: relative; | |
| } | |
| .box { | |
| visibility: visible; | |
| width: calc(100% + 4px); | |
| height: calc(100% + 4px); | |
| border: 4px solid black; | |
| box-sizing: border-box; | |
| left: -2px; | |
| top: -2px; | |
| position: absolute; | |
| } | |
| .description { | |
| margin-top: 100px; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div contenteditable>Test </div> | |
| <p class="description">This test verifies that highlights can be specified when setting marked text.</p> | |
| <div id="overlay">Test <span class="container"><span class="box"></span>one</span><span class="container"><span class="box"></span>two</span><span class="container"><span class="box"></span>three</span></div> | |
| <script> | |
| const editor = document.querySelector("div[contenteditable]"); | |
| editor.focus(); | |
| getSelection().setPosition(editor, 1); | |
| if (window.textInputController) { | |
| textInputController.setMarkedText("onetwothree", 11, 11, true, [ | |
| { from: 0, length: 3, color: "#FF000033" }, | |
| { from: 3, length: 3, color: "#00FF0033" }, | |
| { from: 6, length: 5, color: "#0000FF33", foregroundColor: "#FF0000FF" } | |
| ]); | |
| } | |
| </script> | |
| </body> | |
| </html> |