2015-01-28 17:02:32 +00:00
|
|
|
X
|
|
|
|
D
|
|
|
|
C
|
|
|
|
B
|
|
|
|
A
|
|
|
|
This tests the attributes of the children of a MathML mmultiscripts element.
|
|
|
|
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
|
|
|
|
|
|
AXRole: AXGroup
|
|
|
|
AXSubrole: AXMathIdentifier
|
|
|
|
AXRoleDescription: group
|
2020-09-27 02:15:19 +00:00
|
|
|
AXChildren:
|
|
|
|
AXHelp:
|
|
|
|
AXParent:
|
2016-06-24 14:39:58 +00:00
|
|
|
AXSize: NSSize: {14, 25}
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTitle:
|
|
|
|
AXDescription:
|
|
|
|
AXValue:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXFocused: 0
|
|
|
|
AXEnabled: 1
|
2020-09-27 02:15:19 +00:00
|
|
|
AXWindow:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelectedTextMarkerRange: (null)
|
2020-09-27 02:15:19 +00:00
|
|
|
AXStartTextMarker:
|
|
|
|
AXEndTextMarker:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXVisited: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXLinkedUIElements:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelected: 0
|
|
|
|
AXBlockQuoteLevel: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTopLevelUIElement:
|
|
|
|
AXLanguage:
|
|
|
|
AXDOMIdentifier:
|
|
|
|
AXDOMClassList:
|
|
|
|
AXFocusableAncestor:
|
2016-03-17 22:43:21 +00:00
|
|
|
AXEditableAncestor: (null)
|
|
|
|
AXHighestEditableAncestor: (null)
|
2015-01-28 17:02:32 +00:00
|
|
|
AXElementBusy: 0
|
|
|
|
|
|
|
|
------------
|
|
|
|
AXRole: AXGroup
|
|
|
|
AXSubrole: AXMathIdentifier
|
|
|
|
AXRoleDescription: group
|
2020-09-27 02:15:19 +00:00
|
|
|
AXChildren:
|
|
|
|
AXHelp:
|
|
|
|
AXParent:
|
2016-06-24 14:39:58 +00:00
|
|
|
AXSize: NSSize: {10, 19}
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTitle:
|
|
|
|
AXDescription:
|
|
|
|
AXValue:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXFocused: 0
|
|
|
|
AXEnabled: 1
|
2020-09-27 02:15:19 +00:00
|
|
|
AXWindow:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelectedTextMarkerRange: (null)
|
2020-09-27 02:15:19 +00:00
|
|
|
AXStartTextMarker:
|
|
|
|
AXEndTextMarker:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXVisited: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXLinkedUIElements:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelected: 0
|
|
|
|
AXBlockQuoteLevel: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTopLevelUIElement:
|
|
|
|
AXLanguage:
|
|
|
|
AXDOMIdentifier:
|
|
|
|
AXDOMClassList:
|
|
|
|
AXFocusableAncestor:
|
2016-03-17 22:43:21 +00:00
|
|
|
AXEditableAncestor: (null)
|
|
|
|
AXHighestEditableAncestor: (null)
|
2015-01-28 17:02:32 +00:00
|
|
|
AXElementBusy: 0
|
|
|
|
|
|
|
|
------------
|
|
|
|
AXRole: AXGroup
|
|
|
|
AXSubrole: AXMathIdentifier
|
|
|
|
AXRoleDescription: group
|
2020-09-27 02:15:19 +00:00
|
|
|
AXChildren:
|
|
|
|
AXHelp:
|
|
|
|
AXParent:
|
2016-06-24 14:39:58 +00:00
|
|
|
AXSize: NSSize: {9, 18}
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTitle:
|
|
|
|
AXDescription:
|
|
|
|
AXValue:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXFocused: 0
|
|
|
|
AXEnabled: 1
|
2020-09-27 02:15:19 +00:00
|
|
|
AXWindow:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelectedTextMarkerRange: (null)
|
2020-09-27 02:15:19 +00:00
|
|
|
AXStartTextMarker:
|
|
|
|
AXEndTextMarker:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXVisited: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXLinkedUIElements:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelected: 0
|
|
|
|
AXBlockQuoteLevel: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTopLevelUIElement:
|
|
|
|
AXLanguage:
|
|
|
|
AXDOMIdentifier:
|
|
|
|
AXDOMClassList:
|
|
|
|
AXFocusableAncestor:
|
2016-03-17 22:43:21 +00:00
|
|
|
AXEditableAncestor: (null)
|
|
|
|
AXHighestEditableAncestor: (null)
|
2015-01-28 17:02:32 +00:00
|
|
|
AXElementBusy: 0
|
|
|
|
|
|
|
|
------------
|
|
|
|
AXRole: AXGroup
|
|
|
|
AXSubrole: AXMathIdentifier
|
|
|
|
AXRoleDescription: group
|
2020-09-27 02:15:19 +00:00
|
|
|
AXChildren:
|
|
|
|
AXHelp:
|
|
|
|
AXParent:
|
2016-06-24 14:39:58 +00:00
|
|
|
AXSize: NSSize: {9, 19}
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTitle:
|
|
|
|
AXDescription:
|
|
|
|
AXValue:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXFocused: 0
|
|
|
|
AXEnabled: 1
|
2020-09-27 02:15:19 +00:00
|
|
|
AXWindow:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelectedTextMarkerRange: (null)
|
2020-09-27 02:15:19 +00:00
|
|
|
AXStartTextMarker:
|
|
|
|
AXEndTextMarker:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXVisited: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXLinkedUIElements:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelected: 0
|
|
|
|
AXBlockQuoteLevel: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTopLevelUIElement:
|
|
|
|
AXLanguage:
|
|
|
|
AXDOMIdentifier:
|
|
|
|
AXDOMClassList:
|
|
|
|
AXFocusableAncestor:
|
2016-03-17 22:43:21 +00:00
|
|
|
AXEditableAncestor: (null)
|
|
|
|
AXHighestEditableAncestor: (null)
|
2015-01-28 17:02:32 +00:00
|
|
|
AXElementBusy: 0
|
|
|
|
|
|
|
|
------------
|
|
|
|
AXRole: AXGroup
|
|
|
|
AXSubrole: AXMathIdentifier
|
|
|
|
AXRoleDescription: group
|
2020-09-27 02:15:19 +00:00
|
|
|
AXChildren:
|
|
|
|
AXHelp:
|
|
|
|
AXParent:
|
Refactor RenderMathMLScripts layout to avoid using flexbox
https://bugs.webkit.org/show_bug.cgi?id=153917
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-18
Reviewed by Martin Robinson.
Source/WebCore:
Tests: mathml/mathml-in-html5/subsup-parameters-1.html
mathml/opentype/large-operators-italic-correction.html
Reimplement RenderMathMLScripts without any flexbox or anonymous.
We also rely on parameters from the MATH table to improve rendering.
* css/mathml.css:
(msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *): Deleted.
Invalid markup for scripts is now just hidden.
* rendering/mathml/RenderMathMLOperator.h: ditto.
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::unembellishedOperator): Reimplemented.
(WebCore::RenderMathMLScripts::getBaseAndScripts): Helper function to verify whether the
child list is valid and retrieve pointers on important children.
(WebCore::RenderMathMLScripts::spaceAfterScript): Helper function to get the
space after a script.
(WebCore::RenderMathMLScripts::italicCorrection): Helper function to read the
italic correction of a largeop base.
(WebCore::RenderMathMLScripts::computePreferredLogicalWidths): Implement this function.
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded): Helper function to get
the maximum ascent/descent of all the scripts and determine the minimal
sub/sup shifts to apply.
(WebCore::RenderMathMLScripts::mirrorIfNeeded): Helper function to calculate the horizontal
offset depending on the directionality.
(WebCore::RenderMathMLScripts::layoutBlock): Implement this function.
(WebCore::RenderMathMLScripts::firstLineBaseline): Implement this function.
(WebCore::RenderMathMLScripts::paintChildren): Implement this function.
(WebCore::RenderMathMLScripts::RenderMathMLScripts): Deleted.
(WebCore::RenderMathMLScripts::base): Deleted.
(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Deleted.
(WebCore::RenderMathMLScripts::fixAnonymousStyles): Deleted.
(WebCore::RenderMathMLScripts::addChildInternal): Deleted.
(WebCore::RenderMathMLScripts::removeChildInternal): Deleted.
(WebCore::RenderMathMLScripts::addChild): Deleted.
(WebCore::RenderMathMLScripts::removeChild): Deleted.
(WebCore::RenderMathMLScripts::styleDidChange): Deleted.
(WebCore::RenderMathMLScripts::layout): Deleted.
(WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper): Deleted.
(WebCore::RenderMathMLScriptsWrapper::addChildInternal): Deleted.
(WebCore::RenderMathMLScriptsWrapper::addChild): Deleted.
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal): Deleted.
(WebCore::RenderMathMLScriptsWrapper::removeChild): Deleted.
* rendering/mathml/RenderMathMLScripts.h: Update definitions and remove classes
for anonymous wrappers.
LayoutTests:
We import tests from the MathML in HTML5 test suite to verify various OpenType MATH parameters.
We also add a test for the italic correction of large operators (bug 130325).
Finally, we adjust some tests and expectations to take into account the new rendering.
* imported/mathml-in-html5/LICENSE: Added.
* imported/mathml-in-html5/README.md: Added.
* imported/mathml-in-html5/fonts/math/scripts-spaceafterscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-spaceafterscript3000.woff.
* imported/mathml-in-html5/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptbaselinedropmin9000.woff.
* imported/mathml-in-html5/fonts/math/scripts-subscriptshiftdown6000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscriptshiftdown6000.woff.
* imported/mathml-in-html5/fonts/math/scripts-subscripttopmax4000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subscripttopmax4000.woff.
* imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff.
* imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-subsuperscriptgapmin11000.woff.
* imported/mathml-in-html5/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbaselinedropmax10000.woff.
* imported/mathml-in-html5/fonts/math/scripts-superscriptbottommin8000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptbottommin8000.woff.
* imported/mathml-in-html5/fonts/math/scripts-superscriptshiftup7000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftup7000.woff.
* imported/mathml-in-html5/fonts/math/scripts-superscriptshiftupcramped5000.woff: Renamed from LayoutTests/mathml/mathml-in-html5/fonts/scripts-superscriptshiftupcramped5000.woff.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1-expected.txt: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1-expected.txt.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Renamed from LayoutTests/mathml/mathml-in-html5/subsup-parameters-1.html.
* mathml/msubsup-fuzz-expected.txt: Test adjustment: Update the reference now that nothing
is displayed for invalid markup.
* accessibility/mac/mathml-multiscript-expected.txt: ditto.
* mathml/opentype/large-operators-italic-correction.html: Added. This test verifies that the
italic correction from the MATH table is used for positioning subscripts of large operators.
* mathml/opentype/large-operators-italic-correction-expected.txt: Added.
* mathml/presentation/bug95015.html: Test adjustment: move down a bit the covering red
rectangle, since the script is slightly lower.
* mathml/presentation/bug95015-expected.html: ditto
* mathml/presentation/multiscripts-positions.html: Test adjustment: Modify the expected
vertical positions of scripts now that we follow Gecko's behavior.
* mathml/presentation/multiscripts-positions-expected.html: ditto.
* mathml/presentation/multiscripts-noscripts-expected.html: There seem to be small errors in
the ascent of mmultiscripts, probably due to the conversions between firstLineBaseline (int)
and LayoutUnit (fractional pixel). For now, let's tweak the tests.
* mathml/presentation/multiscripts-noscripts.html: ditto.
* mathml/presentation/scripts-height-expected.html: ditto
* mathml/presentation/scripts-height.html: ditto
* mathml/presentation/scripts-horizontal-alignment.html: Modify the test to make it work
with the new layout rules.
* mathml/presentation/scripts-horizontal-alignment-expected.html: ditto.
* platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Test adjustment:
Update reference to take into account a small shift.
* platform/mac/accessibility/math-multiscript-attributes-expected.txt: ditto.
* platform/gtk/mathml/presentation/roots-expected.png: Test adjustment: Update reference to
take into account small rendering changes.
* platform/gtk/mathml/presentation/roots-expected.txt: ditto.
* platform/ios-simulator/mathml/presentation/roots-expected.txt: ditto.
* platform/mac/TestExpectations: Mark some tests for scripts as failing on mac. MATH fonts
are really needed to make them reliable.
* platform/ios-simulator/TestExpectations: Ditto
Canonical link: https://commits.webkit.org/174800@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-04-18 14:45:00 +00:00
|
|
|
AXSize: NSSize: {10, 18}
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTitle:
|
|
|
|
AXDescription:
|
|
|
|
AXValue:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXFocused: 0
|
|
|
|
AXEnabled: 1
|
2020-09-27 02:15:19 +00:00
|
|
|
AXWindow:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelectedTextMarkerRange: (null)
|
2020-09-27 02:15:19 +00:00
|
|
|
AXStartTextMarker:
|
|
|
|
AXEndTextMarker:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXVisited: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXLinkedUIElements:
|
2015-01-28 17:02:32 +00:00
|
|
|
AXSelected: 0
|
|
|
|
AXBlockQuoteLevel: 0
|
2020-09-27 02:15:19 +00:00
|
|
|
AXTopLevelUIElement:
|
|
|
|
AXLanguage:
|
|
|
|
AXDOMIdentifier:
|
|
|
|
AXDOMClassList:
|
|
|
|
AXFocusableAncestor:
|
2016-03-17 22:43:21 +00:00
|
|
|
AXEditableAncestor: (null)
|
|
|
|
AXHighestEditableAncestor: (null)
|
2015-01-28 17:02:32 +00:00
|
|
|
AXElementBusy: 0
|
|
|
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
PASS successfullyParsed is true
|
|
|
|
|
|
|
|
TEST COMPLETE
|
|
|
|
|