49 lines
1.9 KiB
HTML
49 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="editable" contenteditable onbeforeinput=handleInput(event) oninput=handleInput(event)><div id="text">WebKit</div></div>
|
|
<script type="text/javascript">
|
|
description("To manually test this, change the text alignment and check the resulting debug messages.");
|
|
|
|
let range = document.createRange();
|
|
range.setStartBefore(text);
|
|
range.setEndAfter(text);
|
|
getSelection().addRange(range);
|
|
|
|
if (window.testRunner) {
|
|
preventDefaultForBeforeInputEvents = false;
|
|
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignCenter");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignRight");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignLeft");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignJustified");
|
|
|
|
preventDefaultForBeforeInputEvents = true;
|
|
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignCenter");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignRight");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignLeft");
|
|
execCommandAndLogComputedTextAlignmentStyle("AlignJustified");
|
|
}
|
|
|
|
function handleInput(event)
|
|
{
|
|
debug(`${event.type} (inputType = ${event.inputType})`);
|
|
if (window.preventDefaultForBeforeInputEvents && event.type === "beforeinput") {
|
|
event.preventDefault();
|
|
debug("Prevented default");
|
|
}
|
|
}
|
|
|
|
function execCommandAndLogComputedTextAlignmentStyle(command) {
|
|
testRunner.execCommand(command);
|
|
debug(`getComputedStyle(text).textAlign = '${getComputedStyle(text).textAlign}'`);
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|