Repository navigation
script: Avoid double adjustment of Selection ranges during contenteditable node movement - #47393
Conversation
|
🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#62082) with upstreamable changes. |
…itable` node movement The editing specification has a different way of updating selection ranges than the typical live range update method in the `insert` and `remove` algorithms. Because selections are currently represented as live ranges (something that will change soon), this means that the adjustment was being applied twice: once by the live range update and then once by the `contenteditable` code's range fixup. This change makes it so that the `contenteditable` fixup runs against the original selection boundaries, meaning that the final fixup is done only once. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
a3b2b48 to
23a4c39
Compare
|
🔨 Triggering try run (#32361340553) for Linux (WPT) |
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#62082). |
|
Test results for linux-wpt from try job (#32361340553): Flaky unexpected result (37)
Stable unexpected results that are known to be intermittent (14)
Stable unexpected results (19)
|
|
|
TimvdLippe
left a comment
There was a problem hiding this comment.
LGTM. Those test results generally look like they improve the status quo. It's often that with fixes, test results flip. Therefore we generally look if things move in the right direction. There are some tests that pass now that I would expect to pass as well, which is why I think this is the correct change to make. Thanks for tackling!
|
@TimvdLippe Thanks for the review. I'm digging into the failures now and will land this if they end up being unrelated, but it may turn out that they are a similar issue that is worth fixing in this commit. In that case I'll add a new commit and post here. |
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
|
I fixed one inverted condition and the amount of failing newly failing subtests has greatly decreased (still much less than the number of newly passing ones). |
|
🔨 Triggering try run (#32367571804) for Linux (WPT) |
|
📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#62082). |
|
Test results for linux-wpt from try job (#32367571804): Flaky unexpected result (41)
Stable unexpected results that are known to be intermittent (13)
Stable unexpected results (1)
|
|
|
…itable` node movement (servo#47393) The editing specification has a different way of updating selection ranges than the typical live range update method in the `insert` and `remove` algorithms. Because selections are currently represented as live ranges (something that will change soon), this means that the adjustment was being applied twice: once by the live range update and then once by the `contenteditable` code's range fixup. This change makes it so that the `contenteditable` fixup runs against the original selection boundaries, meaning that the final fixup is done only once. Testing: This change adds a WPT crash test. Fixes: servo#47333. --------- Signed-off-by: Martin Robinson <mrobinson@igalia.com>
The editing specification has a different way of updating selection
ranges than the typical live range update method in the
insertandremovealgorithms. Because selections are currently represented aslive ranges (something that will change soon), this means that the
adjustment was being applied twice: once by the live range update and
then once by the
contenteditablecode's range fixup. This change makesit so that the
contenteditablefixup runs against the originalselection boundaries, meaning that the final fixup is done only once.
Testing: This change adds a WPT crash test.
Fixes: #47333.