Closed Bug 1593021 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 20021 - [LayoutNG] Disable first-tier OOF-cache when borders/scrollbars are present.

Categories

(Core :: Layout: Positioned, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Ian Kilpatrick <ikilpatrick@chromium.org> wrote:

[LayoutNG] Disable first-tier OOF-cache when borders/scrollbars are present.

The first-tier OOF-cache attempts to skip all the OOF sizing and positioning
work required, as the other cache simply compares the constraint spaces
which can be (relatively) expensive to determine.

This first-tier cache works by comparing the available-size given to the
OOF-positioned descendant. If equal we can skip the OOF-positioned sizing
and positioning steps.

This mostly worked, however had an issue where the containing-block may have
added/removed a borders/scrollbars, but the available-size given remained
the same.

This resulted in an incorrectly positioned OOF-positioned node.

This fix disallows the first-tier cache when borders/scrollbars are present.
This is sufficiently rare that this cache still has a relatively high
hit-rate and is still relative cheap to calculate.

Bug: 1013866
Change-Id: I71d41d2c4b47bcff6412f395db2deabf2f6f3a8f

Reviewed-on: https://chromium-review.googlesource.com/1891768
WPT-Export-Revision: ed8e4d4612d12ae833ffc68fabc89ab04067f64b

Component: web-platform-tests → Layout: Positioned
Product: Testing → Core

GitHub CI Results

wpt.fyi PR Results Base Results

Ran 1 tests

Firefox

PASS: 1

Chrome

FAIL: 1

Safari

PASS: 1

Gecko CI Results

Ran 1 tests
PASS : 1

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8e56b5283f57 [wpt PR 20021] - [LayoutNG] Disable first-tier OOF-cache when borders/scrollbars are present., a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
You need to log in before you can comment on or make changes to this bug.