Bug 1436436 [wpt PR 9409] - Propagate contentEditable to light tree children., a=testonly

Automatic update from web-platform-tests
contentEditable is implemented through -webkit-user-modify. We
propagated this property from shadow hosts to distributed children,
overriding inheritance through the flat tree for Shadow DOM v0. This CL
does the same for Shadow DOM v1.

https://html.spec.whatwg.org/multipage/interaction.html#attr-contenteditable

Bug: 809404
Change-Id: I54f3421317fe806fa71a8e4837ef1cc125978c66
Reviewed-on: https://chromium-review.googlesource.com/903925
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534982}

<!-- Reviewable:start -->

<!-- Reviewable:end -->

wpt-commits: 96ad348f0bd52bc0b71c45c9607efb98d9be70f7
wpt-pr: 9409

reapplied-commits: 370e267e160568862f1fd9ec246ab5bb840f586e, fe4514c84e7ad28e46bad5da93381deb99b177f3, 7806af854343c043a2645a4034fdc7812f65daad, 9ddfd21554293dec5a4bf2e5375ae4f3c9f2ded0, 75f63c4d1ebc949647184fd60972fc7b9fd4affb, 1f3a5b496acd2288cc8cf0c32af86cb35157ea4e, 88b42bd5847abac58a62c4d6b33c1509bfce5f3d, 15c2e4c690700c6c115f8afe5e44ded10d943538, c8d461ef1437641ae7d4ea1d21e1e60cd62910b0, a6088a5f48ee299386a84d2f771902267d7355b1, 0634cd8f08ebe0905a9188fb1398c7b5f889c5dc, c8ee4a012dae506ae06bb5b2ad50942b04c1aaaa, c2c352456a4cf62dcc12f851138b04397675a445, b93a8879555d2fa7e7d4e00a275513a3a6338b35, b86e1331cb36634fd33677043b61fc0c1d8485bc, 44ddf14fd3346658c3223f13652073fafbfa48fa, a1a5840a6bb53e305ba02bcbeb215659342d0edb, 7465cb110ae5ec2e2ca73182caf5293f0efc8fd5, aad5349b3458bc3414e274b33fa86a1123901ff2, eca0907980d2769c449894a6277c60c1a306792f, 38626987c0cfd6e715cfcc6f4f1a1209191a03c5, e4a67f7ddcde6cd99348e9104bd7ed07074da44a, bb3c9990840a0fae2afc840b5952d7874785b112, 042d7adef0bdb9dc80e825c3997ace7519477c42, 99f1ea44fc7915b8b7b33bce4732fa8765fd3ac2, b81999f30c1516a70c153de51a0331d14c8faead
This commit is contained in:
Rune Lillesveen 2018-03-06 17:38:04 +00:00 коммит произвёл moz-wptsync-bot
Родитель 8a79a17df5
Коммит eb76b00ee6
2 изменённых файлов: 47 добавлений и 0 удалений

Просмотреть файл

@ -324190,6 +324190,12 @@
{}
]
],
"html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html": [
[
"/html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html",
{}
]
],
"html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html": [
[
"/html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html",
@ -552551,6 +552557,10 @@
"372717e3b59b7bd22ac9ada31f04a7fdd2eeb60e",
"testharness"
],
"html/editing/editing-0/contenteditable/contentEditable-slotted-inherit.html": [
"146bb5c2136d6e266f75e94266e9642f0b6485ff",
"testharness"
],
"html/editing/editing-0/contenteditable/user-interaction-editing-contenteditable.html": [
"14b2b941663b0e447fa232d98f6a248d6395ccf4",
"testharness"

Просмотреть файл

@ -0,0 +1,37 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>contentEditable inherit from light tree parent</title>
<link rel="author" title="Rune Lillesveen" href="mailto:futhark@chromium.org">
<link rel=help href="https://html.spec.whatwg.org/multipage/#contenteditable">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<p>You should see the word PASS two times below and no FAIL.</p>
<div id="host1" contenteditable><div>FAILPASS</div></div>
<div id="host2" contenteditable><div>FAILPASS</div></div>
<script>
test(() => {
const root = host1.attachShadow({mode:"open"});
root.innerHTML = "<slot></slot>";
const text = host1.firstChild.firstChild;
const selection = window.getSelection();
selection.collapse(text, 0);
selection.extend(text, 4);
host1.focus();
document.execCommand("delete");
host1.blur();
assert_equals(text.data, "PASS", "Text should be PASS after FAIL is deleted");
}, "Slotted child of contenteditable host should be editable - slot direct child of shadow root");
test(() => {
const root = host2.attachShadow({mode:"open"});
root.innerHTML = "<div><slot></slot></div>";
const text = host2.firstChild.firstChild;
const selection = window.getSelection();
selection.collapse(text, 0);
selection.extend(text, 4);
host2.focus();
document.execCommand("delete");
host2.blur();
assert_equals(text.data, "PASS", "Text should be PASS after FAIL is deleted");
}, "Slotted child of contenteditable host should be editable - slot wrapped in shadow tree ancestor");
</script>