Closed Bug 1664868 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 25522 - [mathml] Refine when legacy/NG layout is forced

Categories

(Core :: MathML, task, P4)

task

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

b'Fr\xc3\xa9d\xc3\xa9ric Wang <fwang@igalia.com>' wrote:

[mathml] Refine when legacy/NG layout is forced

This is a refinement of [1] [2] [3] [4]:

  1. MathML elements should not try to force legacy layout when using a
    non-math display.
  2. Really make ShouldForceNGLayout() override ShouldForceLegacyLayout()
    ([1] was only doing that for the inherited child context).
  3. Make MathML elements class keep handling the case of a forced legacy
    layout, but only on non-math display values. Note that this check is
    not necessary in LayoutObjectFactory::CreateMath which is only called
    for math display values.
  4. Allow to override the display of the \<math> tag too (it's unclear
    why [3] had a special case and that does not match the spec).

Ideally, 3. can be removed when we completely switch to NG layout for
all displays. New tests are added to verify related crashes found by
clusterfuzz and check overriding of the layout MathML elements with
various display values.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/2398702
[2] https://chromium-review.googlesource.com/c/chromium/src/+/2397949
[3] https://chromium-review.googlesource.com/c/chromium/src/+/1985766
[4] https://chromium-review.googlesource.com/c/chromium/src/+/1917207

Bug: 6606, 1127628, 1127407, 1127222
Change-Id: I62b0ef4de623f4eb93184a1cecce598905160dad

Reviewed-on: https://chromium-review.googlesource.com/2409957
WPT-Export-Revision: 0a3c70c24a2db4d11e94bb4cb0730be016ab1bde

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

CI Results

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

Total 2 tests and 17 subtests

Status Summary

Firefox

OK : 1
PASS: 1
FAIL: 17

Chrome

OK : 1
PASS: 8
FAIL: 10

Safari

OK : 1
PASS: 1
FAIL: 17

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/mathml/relations/css-styling/display-2.html
block display: FAIL (Chrome: PASS, Safari: FAIL)
block display with contrained width: FAIL (Chrome: PASS, Safari: FAIL)
list display inside display block: FAIL (Chrome: FAIL, Safari: FAIL)
inline display: FAIL (Chrome: FAIL, Safari: FAIL)
inline-block display: FAIL (Chrome: PASS, Safari: FAIL)
table display (math): FAIL (Chrome: FAIL, Safari: FAIL)
table display (mrow): FAIL (Chrome: PASS, Safari: FAIL)
inline-table display (math): FAIL (Chrome: FAIL, Safari: FAIL)
inline-table display (mrow): FAIL (Chrome: PASS, Safari: FAIL)
flexbox display (math): FAIL (Chrome: FAIL, Safari: FAIL)
flexbox display (mrow): FAIL (Chrome: PASS, Safari: FAIL)
grid display (math): FAIL (Chrome: FAIL, Safari: FAIL)
grid display (mrow): FAIL (Chrome: PASS, Safari: FAIL)
ruby display (math): FAIL (Chrome: FAIL, Safari: FAIL)
ruby display (mrow): FAIL (Chrome: FAIL, Safari: FAIL)
block display with column width (math): FAIL (Chrome: FAIL, Safari: FAIL)
block display with column width (mrow): FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f78bcffaf238 [wpt PR 25522] - [mathml] Refine when legacy/NG layout is forced, a=testonly https://hg.mozilla.org/integration/autoland/rev/c9d8e6ae0319 [wpt PR 25522] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.