Closed Bug 1611496 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 21414 - [css-pseudo] Move LayoutNG marker code to ListMarker

Categories

(Core :: Layout: Generated Content, Lists, and Counters, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Oriol Brufau <obrufau@igalia.com> wrote:

[css-pseudo] Move LayoutNG marker code to ListMarker

The LayoutNGListItem used to hold some information about the marker:
the kind of marker, whether the marker text was up-to-date, etc.

With the addition of the ::marker pseudo-element, markers have become
independent and are no longer created and destroyed by LayoutNGListItem.
However, this made it more difficult to keep the information in sync.

For example, dynamically applying 'content: none' to a symbol marker
destroys it, but LayoutNGListItem didn't notice that marker_type_ was
supposed to change from kSymbolValue to kStatic. This caused a DCHECK
failure and a null deref in SymbolMarkerLayoutText().

To avoid these problems, this patch moves all the code regarding markers
from LayoutNGListItem to ListMarker. This is a new class that contains
generic methods for the LayoutNG markers (LayoutNGListMarker or
LayoutNGInsideListMarker).

BUG=1043478, 457718

TEST=external/wpt/css/css-pseudo/marker-content-020.html

The test fails in legacy since 'content' is not properly supported yet.

Change-Id: I2d7b424bbaf2487a8fbc49303d5114187d8c1fb6
Reviewed-on: https://chromium-review.googlesource.com/2007754
WPT-Export-Revision: 14c668b7feb3ebeed7f58c7507c9f1fe95111105

Component: web-platform-tests → Layout: Generated Content, Lists, and Counters
Product: Testing → Core
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
Status: RESOLVED → REOPENED
Resolution: INVALID → ---

CI Results

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

Total 1 tests

Status Summary

Firefox

FAIL : 1

Chrome

CRASH: 1

Safari

PASS : 1

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/css/css-pseudo/marker-content-020.html: FAIL (Chrome: CRASH, Safari: PASS)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/022625ef48a3
[wpt PR 21414] - [css-pseudo] Move LayoutNG marker code to ListMarker, a=testonly
https://hg.mozilla.org/integration/autoland/rev/dcfba35f22f6
[wpt PR 21414] - Update wpt metadata, a=testonly
Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.