Closed Bug 1842313 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 40931 - [layout] Fix relayout boundary logic.

Categories

(Core :: SVG, task, P4)

task

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox117 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Ian Kilpatrick <ikilpatrick@chromium.org> wrote:

[layout] Fix relayout boundary logic.

\<div id="a">
\<div id="b">
\<div id="inner">\</div>
\</div>
\</div>

Where "a" and "b" are potential relayout boundary targets.

Previously it was possible to have the following invalidation logic:

  1. "inner" changes - and invalidates layout up to "b".
  2. "b" gets added as a relayout boundary.
  3. "b" changes its own style - and invalidates layout up to "a".
    (note this may disqualify "b" as a relayout boundary).
  4. Layout starts at "b" but potentially with the wrong constraints.
  5. Layout starts at "a", but doesn't revisit "b" as it is layout clean.

This caused various types of DCHECKs and potentially incorrect layouts.

This patch ensures that we don't relayout as a root if we are marked as
needing layout by our own style.

Fixed: 1462742
Fixed: 1454351
Change-Id: I0ff0818ac85844acf5f6ec88ad73db83147ee01e
Reviewed-on: https://chromium-review.googlesource.com/4671128
WPT-Export-Revision: 4ef588bb865d00d3ba519948dc4701c4908f11c9

Component: web-platform-tests → SVG
Product: Testing → Core

CI Results

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

Total 3 tests

Status Summary

Firefox

PASS: 3

Chrome

PASS: 1
FAIL: 2

Safari

PASS: 1
FAIL: 2

Links

GitHub PR Head
GitHub PR Base

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4305258e4264 [wpt PR 40931] - [layout] Fix relayout boundary logic., a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch
You need to log in before you can comment on or make changes to this bug.