Use Fraction* parameters from the OpenType MATH table
[WebKit-https.git] / Source / WebCore / ChangeLog
index 601d532..9103acd 100644 (file)
@@ -1,3 +1,34 @@
+2016-03-20  Frederic Wang  <fwang@igalia.com>
+
+        Use Fraction* parameters from the OpenType MATH table
+        https://bugs.webkit.org/show_bug.cgi?id=155639
+
+        Reviewed by Brent Fulgham.
+
+        We improve the RenderMathMLFraction so minimal vertical shifts and gaps
+        from the MATH table (or arbitrary fallback) are used for fractions.
+        We also change the interpretation of "thick" and "thin" linethickness values
+        to match Gecko's behavior and the one suggested in the MathML in HTML5 implementation note.
+
+        Test: imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html
+
+        * rendering/mathml/MathMLStyle.cpp:
+        (WebCore::MathMLStyle::updateStyleIfNeeded): set NeedsLayout after displaystyle change
+        so that dynamic MathML tests still work.
+        * rendering/mathml/RenderMathMLFraction.cpp:
+        (WebCore::RenderMathMLFraction::RenderMathMLFraction): Init LayoutUnit members to zero.
+        (WebCore::RenderMathMLFraction::updateFromElement):
+        Set new members for fraction gaps and shifts using Fraction* constants or some fallback
+        values. Change the interpretation of "thick" and "thin".
+        (WebCore::RenderMathMLFraction::layoutBlock): Use new constants affecting vertical
+        positions of numerator and denominator.
+        (WebCore::RenderMathMLFraction::paint): Use m_ascent to set the vertical position
+        of the fraction bar.
+        (WebCore::RenderMathMLFraction::firstLineBaseline): We just return m_ascent.
+        * rendering/mathml/RenderMathMLFraction.h: Make updateFromElement public so that
+        it can be used in MathMLStyle. Add LayoutUnit members for the ascent of the fraction
+        and for minimal shifts/gaps values.
+
 2016-07-08  Frederic Wang  <fwang@igalia.com>
 
         Use Radical* constants from the OpenType MATH table.