[webkit-dev] MathML refactoring: Project Complete!

Brent Fulgham bfulgham at apple.com
Wed Jul 13 22:19:08 PDT 2016

Thank you for all of this work, Frédéric! I don’t think our WebML rendering has ever looked so good! :-)


> On Jul 13, 2016, at 10:22 AM, Frédéric WANG <fred.wang at free.fr> wrote:
> Hi WebKit developers,
> We are happy to announce that we are done with the MathML refactoring
> proposed last December [1]. The first phase was a big clean up of the
> MathML implementation and you can find details in a first blog post [2]
> but essentially:
> * MathML renderer classes now derive from RenderBlock instead of
> RenderFlexible (except RenderMathMLTable which still derives from
> RenderTable) so we no longer interfere with the flexbox code.
> * MathML renderer classes do not create anonymous renderers any more
> (except RenderMathMLFenced which creates anonymous
> RenderMathMLOperators) so the render tree essentially matches the DOM tree.
> * MathML renderer classes now perform simple box layout (again except
> for RenderMathMLTable and RenderMathMLFenced) and should be much more
> consistent with the rest of the WebKit code.
> Many MathML rendering bugs have been fixed as an immediate consequence
> of this clean up. But it also became much easier to follow OpenType MATH
> & TeX rules for layout [3] and to implement important MathML features.
> This has been done in a second phase and you can find details on the
> MathML improvements in a second blog post [4].
> During the development, we also decided to include a third phase: Moving
> the parsing of MathML attributes into the DOM classes instead of doing
> it in the renderer classes. This has only been partially achieved but
> could be addressed in future developments. For those who are interested,
> it is tracked in [5].
> Finally, we tested the rendering on GTK, EFL, OS X and iOS ports and it
> seems good. The status of the Windows port is unknown. We expanded the
> test suite with more MathML tests and performed some gardening:
> * All the tests pass on the GTK bots.
> * All but the mismatch tests pass on EFL bots (it's not clear whether
> screenshots are correctly taken).
> * As discussed in a previous thread, OS X and iOS bots lack
> pre-installed math fonts [6] and these fonts are not whitelisted by the
> test runner. Most of the failures were due to tests requiring such math
> fonts and so these tests are now skipped.
> * The Windows port also has several unexplained failures but someone
> should analyze that more carefully.
> We plan to continue MathML developments in the future including
> finishing some refactoring (RenderMathMLTable, attribute parsing...) and
> improving MathML support and rendering quality.
> Thank you again to all the people who made this contribution possible!
> Frédéric, for the Igalia's Web Platform Team
> [1] https://trac.webkit.org/wiki/MathML/Early_2016_Refactoring
> [2] http://frederic-wang.fr/mathml-refactoring-in-webkit.html
> [3] http://www.mathml-association.org/MathMLinHTML5/
> [4] http://frederic-wang.fr/mathml-improvements-in-webkit.html
> [5] https://webkit.org/b/156536
> [6] https://trac.webkit.org/wiki/MathML/Fonts
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list