2010-10-21 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
Updated the tests results with changes from the new row layout algorithm.
* mathml/presentation/row.xhtml:
Added an mrow to make the tests more consistent.
* platform/mac/mathml/presentation/fenced-expected.txt:
* platform/mac/mathml/presentation/fenced-mi-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.checksum:
* platform/mac/mathml/presentation/fractions-expected.png:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.checksum:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.checksum:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/row-expected.txt:
* platform/mac/mathml/presentation/sub-expected.checksum:
* platform/mac/mathml/presentation/sub-expected.png:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/mathml/presentation/sup-expected.txt:
* platform/mac/mathml/presentation/tables-expected.txt:
2010-10-21 Alex Milowski <alex@milowski.com>
Reviewed by Kenneth Rohde Christiansen.
Changed the layout algorithm for rows to avoid unnecessary recursion
into child rows. This solves the long rendering time experienced in
https://bugs.webkit.org/show_bug.cgi?id=43462 as well as reports in
various other bugs. The change in the algorithm required some
tweaks to other rendering objects to make sure that the baseline
alignment still works.
In addition, an attempt was made to go through the various
rendering objects for MathML and reduce unnecessary calls that
mark the tree in need of layout.
* mathml/RenderMathMLFenced.cpp:
* mathml/RenderMathMLFenced.h:
* mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layout):
* mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchToHeight):
* mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layout):
* mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layout):
* mathml/RenderMathMLRow.h:
(WebCore::RenderMathMLRow::stretchToHeight):
* mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::addChild):
(WebCore::RenderMathMLSubSup::stretchToHeight):
(WebCore::RenderMathMLSubSup::nonOperatorHeight):
(WebCore::RenderMathMLSubSup::layout):
(WebCore::RenderMathMLSubSup::baselinePosition):
* mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::stretchToHeight):
(WebCore::RenderMathMLUnderOver::layout):
(WebCore::RenderMathMLUnderOver::nonOperatorHeight):
* mathml/mathtags.in:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32 files changed