53 lines
1.5 KiB
HTML
53 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script>
|
|
(() => {
|
|
addEventListener("input", () => { });
|
|
addEventListener("DOMContentLoaded", () => {
|
|
let editor = document.getElementById("editor");
|
|
function render() {
|
|
mutationObserver.disconnect();
|
|
editor.innerHTML = editor.innerHTML;
|
|
getSelection().collapse(editor.firstElementChild, 1);
|
|
mutationObserver.observe(editor, {
|
|
childList: true,
|
|
attributes: true,
|
|
characterData: true,
|
|
subtree: true
|
|
});
|
|
}
|
|
|
|
var mutationObserver = new MutationObserver(render);
|
|
editor.focus();
|
|
render();
|
|
|
|
function typeNewlines(remaining) {
|
|
if (!eventSender)
|
|
return;
|
|
|
|
eventSender.keyDown("\n", []);
|
|
if (remaining == 0)
|
|
testRunner.notifyDone();
|
|
else {
|
|
setTimeout(() => {
|
|
typeNewlines(remaining - 1);
|
|
}, 100);
|
|
}
|
|
}
|
|
|
|
typeNewlines(3);
|
|
});
|
|
})();
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="editor" contenteditable><div><br></div></div>
|
|
<div>To manually test this, press enter multiple times in the editable area. Newlines should be inserted.</div>
|
|
</body>
|
|
<script>
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
</script>
|
|
</html>
|