Diff
Modified: trunk/LayoutTests/ChangeLog (89267 => 89268)
--- trunk/LayoutTests/ChangeLog 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/LayoutTests/ChangeLog 2011-06-20 19:17:27 UTC (rev 89268)
@@ -1,3 +1,19 @@
+2011-06-20 Alex Milowski <[email protected]>
+
+ Reviewed by Darin Adler.
+
+ New baselines for tests for the change to use anonymous blocks in the fix for:
+ https://bugs.webkit.org/show_bug.cgi?id=57901
+
+ * platform/mac/mathml/presentation/over-expected.png:
+ * platform/mac/mathml/presentation/over-expected.txt:
+ * platform/mac/mathml/presentation/row-alignment-expected.png:
+ * platform/mac/mathml/presentation/row-alignment-expected.txt:
+ * platform/mac/mathml/presentation/under-expected.png:
+ * platform/mac/mathml/presentation/under-expected.txt:
+ * platform/mac/mathml/presentation/underover-expected.png:
+ * platform/mac/mathml/presentation/underover-expected.txt:
+
2011-06-20 Stephen White <[email protected]>
Unreviewed, test_expectations fix.
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/over-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/over-expected.txt (89267 => 89268)
--- trunk/LayoutTests/platform/mac/mathml/presentation/over-expected.txt 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/LayoutTests/platform/mac/mathml/presentation/over-expected.txt 2011-06-20 19:17:27 UTC (rev 89268)
@@ -8,11 +8,11 @@
text run at (0,12) width 36: "over: "
RenderBlock {math} at (36,0) size 12x31
RenderBlock {mover} at (1,0) size 10x28
- RenderBlock {mover} at (0,0) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "x"
- RenderBlock {mover} at (0,12) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "x"
+ RenderBlock (anonymous) at (0,12) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
@@ -22,11 +22,11 @@
text run at (0,12) width 36: "over: "
RenderBlock {math} at (36,0) size 12x31
RenderBlock {mover} at (1,0) size 10x28
- RenderBlock {mover} at (0,0) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "y"
- RenderBlock {mover} at (0,12) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
@@ -36,11 +36,11 @@
text run at (0,18) width 36: "over: "
RenderBlock {math} at (36,0) size 17x37
RenderBlock {mover} at (1,0) size 15x36
- RenderBlock {mover} at (0,0) size 15x16
+ RenderBlock (anonymous) at (0,0) size 15x16
RenderInline {mi} at (0,0) size 5x12
- RenderText {#text} at (5,3) size 5x12
- text run at (5,3) width 5: "y"
- RenderBlock {mover} at (0,12) size 15x24
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 15x24
RenderInline {mi} at (0,0) size 15x24
RenderText {#text} at (0,0) size 15x24
text run at (0,0) width 15: "B"
@@ -50,11 +50,11 @@
text run at (0,18) width 36: "over: "
RenderBlock {math} at (36,0) size 19x37
RenderBlock {mover} at (1,0) size 17x36
- RenderBlock {mover} at (0,0) size 17x16
+ RenderBlock (anonymous) at (0,0) size 17x16
RenderInline {mi} at (0,0) size 5x12
- RenderText {#text} at (6,3) size 5x12
- text run at (6,3) width 5: "y"
- RenderBlock {mover} at (0,12) size 17x24
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 17x24
RenderBlock {mo} at (0,0) size 17x24
RenderBlock {mo} at (0,0) size 17x24
RenderText {mo} at (0,0) size 17x24
@@ -65,11 +65,11 @@
text run at (0,29) width 36: "over: "
RenderBlock {math} at (36,0) size 52x61
RenderBlock {mover} at (1,0) size 10x61
- RenderBlock {mover} at (0,0) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "y"
- RenderBlock {mover} at (0,12) size 10x49
+ RenderBlock (anonymous) at (0,0) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 10x49
RenderBlock {mo} at (0,0) size 10x49
RenderBlock {div} at (11,3) size 40x40
RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.txt (89267 => 89268)
--- trunk/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.txt 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.txt 2011-06-20 19:17:27 UTC (rev 89268)
@@ -122,14 +122,14 @@
text run at (1,38) width 7: "y"
RenderBlock {mo} at (8,0) size 6x85
RenderBlock {munder} at (14,35) size 13x27
- RenderBlock {munder} at (0,0) size 13x16
+ RenderBlock (anonymous) at (0,0) size 13x16
RenderInline {mi} at (0,0) size 13x16
RenderText {#text} at (0,0) size 13x16
text run at (0,0) width 13: "\x{220F}"
- RenderBlock {munder} at (0,11) size 13x16
+ RenderBlock (anonymous) at (0,11) size 13x16
RenderInline {mi} at (0,0) size 5x12
- RenderText {#text} at (4,3) size 5x12
- text run at (4,3) width 5: "x"
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "x"
RenderBlock {mfrac} at (27,10) size 54x70
RenderBlock {mfrac} at (0,0) size 54x34
RenderBlock {mrow} at (3,0) size 48x34
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/under-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/under-expected.txt (89267 => 89268)
--- trunk/LayoutTests/platform/mac/mathml/presentation/under-expected.txt 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/LayoutTests/platform/mac/mathml/presentation/under-expected.txt 2011-06-20 19:17:27 UTC (rev 89268)
@@ -8,26 +8,26 @@
text run at (0,0) width 44: "under: "
RenderBlock {math} at (44,0) size 12x27
RenderBlock {munder} at (1,0) size 10x27
- RenderBlock {munder} at (0,0) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
- RenderBlock {munder} at (0,11) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "x"
+ RenderBlock (anonymous) at (0,11) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "x"
RenderText {#text} at (0,0) size 0x0
RenderBlock {p} at (0,43) size 784x27
RenderText {#text} at (0,0) size 44x18
text run at (0,0) width 44: "under: "
RenderBlock {math} at (44,0) size 12x27
RenderBlock {munder} at (1,0) size 10x27
- RenderBlock {munder} at (0,0) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
- RenderBlock {munder} at (0,11) size 10x16
- RenderInline {mi} at (0,0) size 8x12
- RenderText {#text} at (1,3) size 8x12
- text run at (1,3) width 8: "X"
+ RenderBlock (anonymous) at (0,11) size 10x16
+ RenderInline {mi} at (0,0) size 7x12
+ RenderText {#text} at (0,3) size 7x12
+ text run at (0,3) width 7: "X"
RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/underover-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/mac/mathml/presentation/underover-expected.txt (89267 => 89268)
--- trunk/LayoutTests/platform/mac/mathml/presentation/underover-expected.txt 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/LayoutTests/platform/mac/mathml/presentation/underover-expected.txt 2011-06-20 19:17:27 UTC (rev 89268)
@@ -8,43 +8,43 @@
text run at (0,12) width 92: "under & over: "
RenderBlock {math} at (92,0) size 12x39
RenderBlock {munderover} at (1,0) size 10x39
- RenderBlock {munderover} at (0,0) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "y"
- RenderBlock {munderover} at (0,12) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
- RenderBlock {munderover} at (0,23) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "x"
+ RenderBlock (anonymous) at (0,23) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "x"
RenderText {#text} at (0,0) size 0x0
RenderBlock {p} at (0,55) size 784x39
RenderText {#text} at (0,12) size 92x18
text run at (0,12) width 92: "under & over: "
RenderBlock {math} at (92,0) size 12x39
RenderBlock {munderover} at (1,0) size 10x39
- RenderBlock {munderover} at (0,0) size 10x16
- RenderInline {mi} at (0,0) size 6x12
- RenderText {#text} at (2,3) size 6x12
- text run at (2,3) width 6: "y"
- RenderBlock {munderover} at (0,12) size 10x16
+ RenderBlock (anonymous) at (0,0) size 10x16
+ RenderInline {mi} at (0,0) size 5x12
+ RenderText {#text} at (0,3) size 5x12
+ text run at (0,3) width 5: "y"
+ RenderBlock (anonymous) at (0,12) size 10x16
RenderInline {mi} at (0,0) size 10x16
RenderText {#text} at (0,0) size 10x16
text run at (0,0) width 10: "B"
- RenderBlock {munderover} at (0,23) size 10x16
- RenderInline {mi} at (0,0) size 8x12
- RenderText {#text} at (1,3) size 8x12
- text run at (1,3) width 8: "X"
+ RenderBlock (anonymous) at (0,23) size 10x16
+ RenderInline {mi} at (0,0) size 7x12
+ RenderText {#text} at (0,3) size 7x12
+ text run at (0,3) width 7: "X"
RenderText {#text} at (0,0) size 0x0
RenderBlock {p} at (0,110) size 784x52
RenderText {#text} at (0,18) size 92x18
text run at (0,18) width 92: "under & over: "
RenderBlock {math} at (92,0) size 20x52
RenderBlock {munderover} at (1,0) size 18x52
- RenderBlock {munderover} at (0,0) size 18x16
+ RenderBlock (anonymous) at (0,0) size 18x16
RenderBlock {mrow} at (0,3) size 18x12
RenderInline {mi} at (0,0) size 5x12
RenderText {#text} at (0,0) size 5x12
@@ -56,13 +56,13 @@
RenderInline {mi} at (0,0) size 5x12
RenderText {#text} at (13,0) size 5x12
text run at (13,0) width 5: "y"
- RenderBlock {munderover} at (0,12) size 18x24
+ RenderBlock (anonymous) at (0,12) size 18x24
RenderBlock {mo} at (0,0) size 17x24
RenderBlock {mo} at (0,0) size 17x24
RenderText {mo} at (0,0) size 17x24
text run at (0,0) width 17: "\x{2211}"
- RenderBlock {munderover} at (0,36) size 18x16
- RenderBlock {mrow} at (1,3) size 17x12
+ RenderBlock (anonymous) at (0,36) size 18x16
+ RenderBlock {mrow} at (0,3) size 17x12
RenderInline {mi} at (0,0) size 3x12
RenderText {#text} at (0,0) size 3x12
text run at (0,0) width 3: "i"
@@ -79,7 +79,7 @@
text run at (0,18) width 92: "under & over: "
RenderBlock {math} at (92,0) size 22x52
RenderBlock {munderover} at (1,0) size 20x52
- RenderBlock {munderover} at (0,0) size 20x16
+ RenderBlock (anonymous) at (0,0) size 20x16
RenderBlock {mrow} at (0,3) size 20x12
RenderInline {mi} at (0,0) size 7x12
RenderText {#text} at (0,0) size 7x12
@@ -91,13 +91,13 @@
RenderInline {mi} at (0,0) size 5x12
RenderText {#text} at (15,0) size 5x12
text run at (15,0) width 5: "y"
- RenderBlock {munderover} at (0,12) size 20x24
+ RenderBlock (anonymous) at (0,12) size 20x24
RenderBlock {mo} at (0,0) size 17x24
RenderBlock {mo} at (0,0) size 17x24
RenderText {mo} at (0,0) size 17x24
text run at (0,0) width 17: "\x{2211}"
- RenderBlock {munderover} at (0,36) size 20x16
- RenderBlock {mrow} at (1,3) size 18x12
+ RenderBlock (anonymous) at (0,36) size 20x16
+ RenderBlock {mrow} at (0,3) size 18x12
RenderInline {mi} at (0,0) size 4x12
RenderText {#text} at (0,0) size 4x12
text run at (0,0) width 4: "I"
Modified: trunk/Source/WebCore/ChangeLog (89267 => 89268)
--- trunk/Source/WebCore/ChangeLog 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/Source/WebCore/ChangeLog 2011-06-20 19:17:27 UTC (rev 89268)
@@ -1,3 +1,14 @@
+2011-06-20 Alex Milowski <[email protected]>
+
+ Reviewed by Darin Adler.
+
+ A change to mark wrapping blocks created by the renderer as anonymous to fix the crash for:
+ https://bugs.webkit.org/show_bug.cgi?id=57901
+
+ * rendering/mathml/RenderMathMLUnderOver.cpp:
+ (WebCore::RenderMathMLUnderOver::addChild):
+ (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
+
2011-06-20 Eric Seidel <[email protected]>
Reviewed by Adam Barth.
Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp (89267 => 89268)
--- trunk/Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp 2011-06-20 19:04:15 UTC (rev 89267)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp 2011-06-20 19:17:27 UTC (rev 89268)
@@ -60,6 +60,7 @@
RenderMathMLBlock* row = new (renderArena()) RenderMathMLBlock(node());
RefPtr<RenderStyle> rowStyle = makeBlockStyle();
row->setStyle(rowStyle.release());
+ row->setIsAnonymous(true);
// look through the children for rendered elements counting the blocks so we know what child
// we are adding
@@ -100,7 +101,7 @@
}
break;
default:
- // munderover shouldn't have more than three children. In theory we shouldn't
+ // munderover shouldn't have more than three children. In theory we shouldn't
// get here if the MathML is correctly formed, but that isn't a guarantee.
// We will treat this as another under element and they'll get something funky.
RenderBlock::addChild(row, beforeChild);
@@ -286,9 +287,8 @@
RenderMathMLBlock* block = toRenderMathMLBlock(current->firstChild());
if (!block->isRenderMathMLOperator())
nonOperators += getOffsetHeight(current);
- } else {
+ } else
nonOperators += getOffsetHeight(current);
- }
}
return nonOperators;
}