[webkit-dev] MathML Patch Review Request

Alex Milowski alex at milowski.org
Fri Oct 2 13:37:21 PDT 2009

I have a patch that supports a number of basic elements in MathML.  The harder
ones are not included in this patch:


While this patch contains "rendering code", the rendering isn't that
complicated.  I'd
like to request that people who are familiar with rendering take a
look at this patch.

I feel like others than the typical few (who have been very, very helpful) can
probably review this patch because the rendering code isn't that complicated
yet.  I've left out the complicated bits (like mfenced) that I'm still
working on.

Here's my synopsis of rendering code in the patch:


   This class provides the basic support for inline containers (like mfrac)
   that contain other inlines.  It should render as an inline-block.  It exists
   to disallow rendering of text siblings as well as provide some helper


   Renders a mfrac ( a fraction) using a inline-block container with
   block flows.  It wraps the containing children in RenderBlock


   Handles rendering msubsup which represents a base expression that has
   subscript and superscripts.  An inline table is used for the layout of
   the scripts.


  Handles rendering munder, mover, and munderover.  The base expression
  has expressions over, under, or both that are organized by properly
  ordering a inline-block container with block flows.  Essentially, one class
  handles all the different cases of re-ordering the rendering of the
  element children.

Besides a basic setup for associating these elements with their rendering
objects, a number of tests along with their results have been included in
the patch.  This makes the patch larger even though the actual C++ code
isn't that large.

This patch provides actual support for rendering some basic MathML
constructs that are useful.  What is there now is just the setup for this
rendering code and, without this patch, isn't that useful.

--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language

Bertrand Russell in a footnote of Principles of Mathematics

More information about the webkit-dev mailing list