Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9a175a3150a000b32e5f2a5d60fbf4fb728e310c
https://github.com/WebKit/WebKit/commit/9a175a3150a000b32e5f2a5d60fbf4fb728e310c
Author: Ahmad Saleem <[email protected]>
Date: 2026-05-11 (Mon, 11 May 2026)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt
M LayoutTests/mathml/presentation/non-bmp-operators-spacing-expected.html
M LayoutTests/mathml/presentation/non-bmp-operators-spacing.html
M LayoutTests/mathml/presentation/non-bmp-operators-stretching-expected.html
M LayoutTests/mathml/presentation/non-bmp-operators-stretching.html
R
LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt
R
LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt
M LayoutTests/platform/glib/mathml/presentation/bug159513-expected.txt
M Source/WebCore/mathml/MathMLOperatorDictionary.cpp
Log Message:
-----------
[MathML] Update operator dictionary to fix WPT stretchy, symmetric, largeop,
and movablelimits test failures
https://bugs.webkit.org/show_bug.cgi?id=308410
rdar://170901728
Reviewed by Frédéric Wang Nélar.
This patch aligns WebKit with Gecko / Firefox and Blink / Chromium.
Update MathMLOperatorDictionary.cpp to align with the W3C
operator-dictionary.json
from web-platform-tests.
Changes:
- Add Stretchy flag to operators missing it (arrows, triangles, etc.)
- Add Symmetric flag to U+2980 (TRIPLE VERTICAL BAR DELIMITER)
- Add new stretchy operators in the 0x2B range (triangle-headed arrows)
- Add missing prefix forms with LargeOp/MovableLimits for U+2A1D (JOIN)
and U+2A1E (LARGE LEFT TRIANGLE OPERATOR)
- Add new Prefix/Postfix fence entries for U+2999, U+29D8-U+29DB
- Add Postfix stretchy forms for U+1EEF0 / U+1EEF1
- Fix entry ordering for U+5E (^) and U+5F (_) where Infix must precede
Postfix for binary search to work correctly
- Update dictionarySize to 1151 to match actual entry count
NOTE: Adding the Symmetric flag to U+2016 (DOUBLE VERTICAL LINE) is deferred.
It would make symmetric-001/006 chunk 1 pass for \xe2\x80\x96, but regresses
stretchy-mover-3 due to a WebKit-specific issue where an <mover> base with
stretchy=\"true\" inappropriately extends to symmetric extent around the math
axis. So this needs more investigation and follow-up fix.
* Source/WebCore/mathml/MathMLOperatorDictionary.cpp:
> Progressions:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-largeop-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-005-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-006-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-002-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-003-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-004-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-005-expected.txt:
> Partial Progressions (chunk 1 for \xe2\x80\x96 still fails pending U+2016
> Symmetric follow-up):
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:
> Rebaseline:
* LayoutTests/platform/glib/mathml/presentation/bug159513-expected.txt:
U+5E/U+5F Postfix now resolves correctly after reorder, shifting positions
slightly.
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-004-expected.txt:
Removed.
*
LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-movablelimits-006-expected.txt:
Removed.
> Updated:
- non-bmp-operators-spacing-expected.html -- Postfix U+1EEF0/U+1EEF1 now
expect lspace=\"0em\" rspace=\"0em\" (matching the new dictionary entries)
instead of default thickmathspace.
- non-bmp-operators-stretching-expected.html -- Postfix U+1EEF0/U+1EEF1 now
expect stretchy=\"true\" lspace=\"0em\" rspace=\"0em\" instead of
stretchy=\"false\"
with thickmathspace.
* LayoutTests/mathml/presentation/non-bmp-operators-spacing-expected.html:
* LayoutTests/mathml/presentation/non-bmp-operators-spacing.html:
* LayoutTests/mathml/presentation/non-bmp-operators-stretching-expected.html:
* LayoutTests/mathml/presentation/non-bmp-operators-stretching.html:
> Test Expectation:
* LayoutTests/TestExpectations: operator-dictionary-arabic-002.html: fails in
all browsers (Firefox, Chrome, and WebKit), marked ImageOnlyFailure pending
further investigation.
Canonical link: https://commits.webkit.org/312993@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications