Closed Bug 1947064 Opened 1 month ago Closed 1 month ago

[wpt-sync] Sync PR 50598 - [Editing] Fix content loss during list indent operation

Categories

(Core :: DOM: Editor, task, P4)

task

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 50598 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/50598
Details from upstream follow.

Tanu Jain <tanujain@microsoft.com> wrote:

[Editing] Fix content loss during list indent operation

While indenting list items, the start_of_paragraph_to_move was not
enclosing all list item children causing content loss. This change
addresses the issue by updating start_of_paragraph_to_move to before
list item's first child.

Spec: https://w3c.github.io/editing/docs/execCommand/#toggling-lists
Bug: 41115285
Change-Id: I211dc63f6408a384055bff7c570289e474c694c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6217110
Commit-Queue: Tanu Jain \<tanujain@microsoft.com>
Reviewed-by: Siye Liu \<siliu@microsoft.com>
Reviewed-by: Kent Tamura \<tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1417971}

Component: web-platform-tests → DOM: Editor
Product: Testing → Core

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 1321 subtests

Status Summary

Firefox

OK : 1
PASS: 1270
FAIL: 51

Chrome

OK : 1
PASS: 1250
FAIL: 71

Safari

OK : 1
PASS: 1249
FAIL: 72

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /editing/run/indent.html [wpt.fyi]
    • [["indent",""]] "<p>foo<br>{}</p><p>extra" compare innerHTML: FAIL linked bug:Bug 1918997
    • [["indent",""]] "foo[bar]<br>baz<p>extra" compare innerHTML: FAIL linked bug:Bug 1918997
    • [["indent",""]] "foo[bar]<br><br><br><br>baz<p>extra" compare innerHTML: FAIL linked bug:Bug 1918997
    • [["indent",""]] "<ol><li>[foo</li><ol><li>bar]</ol><li>baz</ol>" compare innerHTML: FAIL linked bug:Bug 1918997
    • [["indent",""]] "foo<!--bar-->[baz]<p>extra" compare innerHTML: FAIL linked bug:Bug 1918997
    • [["indent",""]] "[foo]<!--bar-->baz<p>extra" compare innerHTML: FAIL linked bug:Bug 1918997

New Tests That Don't Pass

  • /editing/run/indent.html [wpt.fyi]
    • [["indent",""]] "{<p><p> <p>foo</p>}<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>foo<br>{}</p><p>extra" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "<span>foo<br>{}</span>bar<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>foo</p>{}<p>bar</p>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "foo[bar]<br>baz<p>extra" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "foo[bar]<br><br><br><br>baz<p>extra" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "foobar<br>[ba]z<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>[foo]<blockquote><p>bar</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>foo<blockquote><p>bar</blockquote><p>[baz]<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<blockquote><p>foo</blockquote><p>[bar]<blockquote><p>baz</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<blockquote>foo[bar]<br>baz</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "[foo]<blockquote>bar</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "foo<blockquote>bar</blockquote>[baz]<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<blockquote>foo</blockquote>[bar]<blockquote>baz</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>[foo]<blockquote style="margin-right: 0" dir="ltr"><p>bar</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>foo<blockquote style="margin-right: 0" dir="ltr"><p>bar</blockquote><p>[baz]<p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["stylewithcss","true"],["indent",""]] "<blockquote style="margin-right: 0" dir="ltr"><p>foo</blockquote><p>[bar]<blockquote style="margin-right: 0" dir="ltr"><p>baz</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["stylewithcss","false"],["indent",""]] "<blockquote style="margin-right: 0" dir="ltr"><p>foo</blockquote><p>[bar]<blockquote style="margin-right: 0" dir="ltr"><p>baz</blockquote><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>[bar]<li>baz</ol><li>quz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>bar<li>[baz]</ol><li>quz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>b[a]r</ol><li>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo{<ol><li>bar</ol>}<li>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo]<ol><li>bar</ol><li>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar]<ol><li>baz</ol><li>quz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>bar<li>baz</ol><li>[quz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><ol id=u1><li id=i1>foo</ol><li id=i2>[bar]</li><ol id=u3><li id=i3>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><ol><li id=i1>foo</ol><li id=i2>[bar]</li><ol id=u3><li id=i3>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><ol id=u1><li id=i1>foo</ol><li id=i2>[bar]</li><ol><li id=i3>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo<ol><li>bar]</ol><li>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo</li><ol><li>bar]</ol><li>baz</ol>" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "<ol><li>foo<ol><li>b[ar</ol><li>b]az</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo<ol><li>bar</ol><li>baz]</ol><p>extra" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo]<ol><li>bar</ol>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>[bar]</ol>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>[foo<ol><li>bar]</ol>baz</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "foo<!--bar-->[baz]<p>extra" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "[foo]<!--bar-->baz<p>extra" compare innerHTML: FAIL (Chrome: PASS, Safari: PASS)
    • [["indent",""]] "<blockquote><p>foo</blockquote> <p>[bar]" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<p>[foo]</p> <blockquote><p>bar</blockquote>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<blockquote><p>foo</blockquote> <p>[bar]</p> <blockquote><p>baz</blockquote>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo</li><ol><li>bar</li></ol> <li>[baz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo</li><ol><li>bar</li> </ol> <li>[baz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>bar</li> </ol></li><li>[baz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>bar</li></ol></li> <li>[baz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<ol><li>bar</li> </ol></li> <li>[baz]</ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar]</li> <ol><li>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar]</li> <ol> <li>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar] <ol><li>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar]<ol> <li>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ol><li>foo<li>[bar] <ol> <li>baz</ol></ol>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
    • [["indent",""]] "<ul><li>a<br>{<br>}</li><li>b</li></ul>" compare innerHTML: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ca154f5c38eb [wpt PR 50598] - [Editing] Fix content loss during list indent operation, a=testonly https://hg.mozilla.org/integration/autoland/rev/96c20ed9b984 [wpt PR 50598] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.