Bug 1572211 - Do not rely on AxisHeight for the layout of mfrac elements without bar. r=emilio
☠☠ backed out by 54853be00418 ☠ ☠
authorFrédéric Wang <fwang@igalia.com>
Tue, 13 Aug 2019 09:51:58 +0000
changeset 487666 a5d589b74745dca4d522d3abb362103074b03bde
parent 487665 1c6fcda381406babb03564e10596258572ba3732
child 487667 48fa8b517d7bbcf1fd49d0c06fde59ca6b694817
push id92399
push userncsoregi@mozilla.com
push dateTue, 13 Aug 2019 13:30:19 +0000
treeherderautoland@48fa8b517d7b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersemilio
bugs1572211
milestone70.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1572211 - Do not rely on AxisHeight for the layout of mfrac elements without bar. r=emilio AxisHeight is not involved in the layout of <mfrac> with zero linethickness: https://mathml-refresh.github.io/mathml-core/#fraction-with-zero-line-thickness Confirmed by Microsoft: https://lists.w3.org/Archives/Public/public-mathml4/2019Aug/0019.html See https://github.com/mathml-refresh/mathml/issues/123 Differential Revision: https://phabricator.services.mozilla.com/D41189
layout/mathml/nsMathMLmfracFrame.cpp
--- a/layout/mathml/nsMathMLmfracFrame.cpp
+++ b/layout/mathml/nsMathMLmfracFrame.cpp
@@ -311,20 +311,16 @@ nsresult nsMathMLmfracFrame::PlaceIntern
       nscoord minClearance =
           displayStyle ? 7 * defaultRuleThickness : 3 * defaultRuleThickness;
       if (mathFont) {
         minClearance = mathFont->MathTable()->Constant(
             displayStyle ? gfxMathTable::StackDisplayStyleGapMin
                          : gfxMathTable::StackGapMin,
             oneDevPixel);
       }
-      // Factor in axis height
-      // http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2
-      numShift += axisHeight;
-      denShift += axisHeight;
 
       nscoord actualClearance =
           (numShift - bmNum.descent) - (bmDen.ascent - denShift);
       // actualClearance should be >= minClearance
       if (actualClearance < minClearance) {
         nscoord halfGap = (minClearance - actualClearance) / 2;
         numShift += halfGap;
         denShift += halfGap;