Closed Bug 1780162 Opened 2 years ago Closed 2 years ago

[wpt-sync] Sync PR 34893 - Reland again "Fieldset NG: Fix paint order of OOF objects in a LEGEND and the corresponding anonymous content box."

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
104 Branch
Tracking Status
firefox104 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Kent Tamura <tkent@chromium.org> wrote:

Reland again "Fieldset NG: Fix paint order of OOF objects in a LEGEND and the corresponding anonymous content box."

This is a reland of commit 2c20b99e08731c4bae71da9d4598d10146f52848

The differences from the original CL:
Because the original CL caused a performance regression, this CL adds
a cache of the state of CanContainAbsolutePositionObjects().
LayoutObjectBitfields already has 96 bits, and this CL adds a bit flag
between full_paint_invalidation_reason_ and the bitfields. The size
of LayoutObject is not changed by this CL.

The differences from the first reland CL:
Fix Windows x64 build failure.

Original change's description:

Fieldset NG: Fix paint order of OOF objects in a LEGEND and the
corresponding anonymous content box.

If a FIELDSET is an OOF container, we made its anonymous content box
an OOF container by setting position:relative. It's bad because OOF
objects in the LEGEND is painted behind the anonymous content box. So
this CL updates OOF container conditions for anonymous fieldset content
boxes, and avoids setting position:relative.

  • ng_fieldset_algorithm.cc:
    Handle NGBreakStatus::kDisableFragmentation.
    Without this change, floated-multicol-in-multicol-crash.html in WPT has
    a DCHECK failure.

Bug: 1341413
Change-Id: I650b3020df53eba5d05f930bc44675b80ff4e90b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3764404
Reviewed-by: Koji Ishii \<kojii@chromium.org>
Commit-Queue: Kent Tamura \<tkent@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1025081}

Bug: 1341413
Change-Id: Ib539ae3b11700cc7f51eb11ae33a8e972c940538
Reviewed-on: https://chromium-review.googlesource.com/3767050
WPT-Export-Revision: 7ed3c99b016fd080ee5b1388a83978bd30d5605a

Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core

CI Results

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

Total 1 tests

Status Summary

Firefox

PASS: 1

Chrome

FAIL: 1

Links

GitHub PR Head
GitHub PR Base

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8cf9c9e90d74
[wpt PR 34893] - Reland again "Fieldset NG: Fix paint order of OOF objects in a LEGEND and the corresponding anonymous content box.", a=testonly
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in before you can comment on or make changes to this bug.