Changes between Version 2 and Version 3 of MathML/Early_2016_Refactoring

Mar 31, 2016 5:20:23 AM (6 years ago)



  • MathML/Early_2016_Refactoring

    v2 v3  
     1== Overview ==
    13For the rationale and initial plan see [ Alex's message] on webkit-dev mailing list. See also [ Fred's MathML branch] for an overview of the list of commits and bug entries.
    35The idea is now to remove the flexbox dependency (CSS properties & class inheritance) only after having rewritten MathML layout functions from stratch. Hence we no longer need to temporarily "duplicate" flexbox code and this should make review easier. When refactoring renderer classes, we also remove the anonymous renderers (and their associated style) that were created for the sake of the flexbox-based layout.
     7== Layout changes ==
    59[ The general box model for MathML renderers] is available on the MathML in HTML5 note where you can also find other rules specific to each element. During this first step, we do not always follow completely the layout suggested in that note. Also for now, we ignore the distinction between ink VS logical metrics as well as classical CSS features like margin, padding, border, absolute position, vertical layout or linebreaking. However we do pay attention to right-to-left rendering of mathematical formulas.
    3337This refactoring will fix many known MathML bugs and open the way for more bug fixes & features (see Bugzilla dependencies for details).
     39== Accessibility Changes ==
     41The following patches impact the a11y code:
     433) [ RenderMathMLFraction]: The Mac accessibility code seems to need the linethickness relative to the default linethickness (which now depends on the math font).
     454) [ RenderMathMLScripts]: Some small box shifts happen.
     476) [ RenderMathMLRoot]: Anonymous wrappers are removed.
     497) [ RenderMathMLOperator and RenderMathMLToken]: We disable the mac test for mfenced because the render subtree for the anonymous operators has changed.