57 lines
1.9 KiB
HTML
57 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>inert nodes are uneditable</title>
|
|
<link rel="author" title="Alice Boxhall" href="aboxhall@chromium.org">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-actions.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
</head>
|
|
<body>
|
|
<span inert id="not-editable" contenteditable>I'm not editable.</span>
|
|
<span id="editable" contenteditable>I'm editable.</span>
|
|
<span inert>
|
|
<span id="editable-interactivity" style="interactivity:auto" contenteditable>I'm not editable.</span>
|
|
</span>
|
|
<script>
|
|
var notEditable = document.querySelector('#not-editable');
|
|
var editable = document.querySelector('#editable');
|
|
var editableInteractivity = document.querySelector('#editable-interactivity');
|
|
|
|
function sendKey(key) {
|
|
return new test_driver.Actions()
|
|
.keyDown(key)
|
|
.keyUp(key)
|
|
.send();
|
|
}
|
|
|
|
promise_test(async function() {
|
|
notEditable.focus();
|
|
var oldValue = notEditable.textContent;
|
|
assert_equals(oldValue, "I'm not editable.");
|
|
await sendKey('a');
|
|
assert_equals(notEditable.textContent, oldValue);
|
|
}, "Can't edit inert contenteditable");
|
|
|
|
promise_test(async () => {
|
|
editable.focus();
|
|
var oldValue = editable.textContent;
|
|
assert_equals(oldValue, "I'm editable.");
|
|
await sendKey('a');
|
|
assert_not_equals(editable.textContent, oldValue);
|
|
}, "Can edit non-inert contenteditable");
|
|
|
|
promise_test(async () => {
|
|
editableInteractivity.focus();
|
|
var oldValue = editableInteractivity.textContent;
|
|
assert_equals(oldValue, "I'm not editable.");
|
|
await sendKey('a');
|
|
assert_equals(editableInteractivity.textContent, oldValue);
|
|
}, "Can't edit interactivity:auto contenteditable inside inert");
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|