Remove an unnecessary extra computeLogicalWidth() from line layout
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Apr 2011 21:37:11 +0000 (21:37 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Apr 2011 21:37:11 +0000 (21:37 +0000)
https://bugs.webkit.org/show_bug.cgi?id=57711

Reviewed by Dave Hyatt.

Source/WebCore:

Changes in behavior (MathML progression) covered by existing layout tests.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
actually prevents MathML rows from reverting to an incorrect width.

LayoutTests:

These updated expected results show progressions in MathML tests.
fast/table/colspanMinWidth-vertical results changed to show that text controls
still do not handle vertical writing modes correctly.

* platform/mac/fast/table/colspanMinWidth-vertical-expected.checksum:
* platform/mac/fast/table/colspanMinWidth-vertical-expected.png:
* platform/mac/fast/table/colspanMinWidth-vertical-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.checksum:
* platform/mac/mathml/presentation/roots-expected.png:
* 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/subsup-expected.checksum:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@82775 268f45cc-cd09-0410-ab3c-d52691b4dbfc

21 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.checksum
LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.png
LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.txt
LayoutTests/platform/mac/mathml/presentation/fractions-expected.checksum
LayoutTests/platform/mac/mathml/presentation/fractions-expected.png
LayoutTests/platform/mac/mathml/presentation/fractions-expected.txt
LayoutTests/platform/mac/mathml/presentation/fractions-vertical-alignment-expected.checksum
LayoutTests/platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png
LayoutTests/platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt
LayoutTests/platform/mac/mathml/presentation/roots-expected.checksum
LayoutTests/platform/mac/mathml/presentation/roots-expected.png
LayoutTests/platform/mac/mathml/presentation/roots-expected.txt
LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.checksum
LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.png
LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.txt
LayoutTests/platform/mac/mathml/presentation/subsup-expected.checksum
LayoutTests/platform/mac/mathml/presentation/subsup-expected.png
LayoutTests/platform/mac/mathml/presentation/subsup-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBlockLineLayout.cpp

index b29c171..82a2911 100644 (file)
@@ -1,3 +1,33 @@
+2011-04-02  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        Remove an unnecessary extra computeLogicalWidth() from line layout
+        https://bugs.webkit.org/show_bug.cgi?id=57711
+
+        These updated expected results show progressions in MathML tests.
+        fast/table/colspanMinWidth-vertical results changed to show that text controls
+        still do not handle vertical writing modes correctly.
+
+        * platform/mac/fast/table/colspanMinWidth-vertical-expected.checksum:
+        * platform/mac/fast/table/colspanMinWidth-vertical-expected.png:
+        * platform/mac/fast/table/colspanMinWidth-vertical-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.checksum:
+        * platform/mac/mathml/presentation/roots-expected.png:
+        * 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/subsup-expected.checksum:
+        * platform/mac/mathml/presentation/subsup-expected.png:
+        * platform/mac/mathml/presentation/subsup-expected.txt:
+
 2011-04-02  Dominic Cooney  <dominicc@google.com>
 
         Reviewed by Martin Robinson.
index c8775fb..4211409 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.png and b/LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.png differ
index 8ef0c9c..eb4682c 100644 (file)
@@ -18,7 +18,7 @@ layer at (0,0) size 800x600
                   RenderTableRow {TR} at (0,2) size 14x139
                     RenderTableCell {TD} at (2,8) size 14x-10 [bgcolor=#FF00FF] [r=0 c=0 rs=1 cs=1]
                     RenderTableCell {TD} at (2,6) size 14x131 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
-                      RenderTextControl {INPUT} at (3,3) size 8x125 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                      RenderTextControl {INPUT} at (3,3) size 8x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
                       RenderText {#text} at (0,0) size 0x0
 layer at (19,23) size 2x119 scrollX 13 scrollWidth 15
   RenderBlock {DIV} at (3,3) size 2x119
index 56f5e7a..f0da19a 100644 (file)
Binary files a/LayoutTests/platform/mac/mathml/presentation/fractions-expected.png and b/LayoutTests/platform/mac/mathml/presentation/fractions-expected.png differ
index 26be7a5..9c53c07 100644 (file)
@@ -21,7 +21,7 @@ layer at (0,0) size 800x352
           text run at (0,7) width 197: "more complex (should be red): "
         RenderBlock {math} at (197,0) size 33x34
           RenderBlock {mfrac} at (1,0) size 31x34 [color=#FF0000]
-            RenderBlock {mfrac} at (0,0) size 22x16
+            RenderBlock {mfrac} at (0,0) size 31x16
               RenderBlock {mrow} at (3,0) size 25x16
                 RenderInline {mi} at (0,0) size 7x16
                   RenderText {#text} at (0,0) size 7x16
@@ -33,7 +33,7 @@ layer at (0,0) size 800x352
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (17,0) size 8x16
                     text run at (17,0) width 8: "1"
-            RenderBlock {mfrac} at (0,16) size 22x18
+            RenderBlock {mfrac} at (0,16) size 31x18
               RenderBlock {mrow} at (3,2) size 25x16
                 RenderInline {mi} at (0,0) size 7x16
                   RenderText {#text} at (0,0) size 7x16
@@ -97,11 +97,11 @@ layer at (0,0) size 800x352
           text run at (0,7) width 138: "numerator alignment: "
         RenderBlock {math} at (138,0) size 89x34
           RenderBlock {mfrac} at (1,0) size 87x34
-            RenderBlock {mfrac} at (0,0) size 51x16
+            RenderBlock {mfrac} at (0,0) size 87x16
               RenderInline {mi} at (0,0) size 7x16
                 RenderText {#text} at (3,0) size 7x16
                   text run at (3,0) width 7: "x"
-            RenderBlock {mfrac} at (0,16) size 51x18
+            RenderBlock {mfrac} at (0,16) size 87x18
               RenderBlock {mrow} at (4,2) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -138,11 +138,11 @@ layer at (0,0) size 800x352
           text run at (227,7) width 4: " "
         RenderBlock {math} at (231,0) size 89x34
           RenderBlock {mfrac} at (1,0) size 87x34
-            RenderBlock {mfrac} at (0,0) size 51x16
+            RenderBlock {mfrac} at (0,0) size 87x16
               RenderInline {mi} at (0,0) size 7x16
-                RenderText {#text} at (22,0) size 7x16
-                  text run at (22,0) width 7: "x"
-            RenderBlock {mfrac} at (0,16) size 51x18
+                RenderText {#text} at (40,0) size 7x16
+                  text run at (40,0) width 7: "x"
+            RenderBlock {mfrac} at (0,16) size 87x18
               RenderBlock {mrow} at (4,2) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -179,11 +179,11 @@ layer at (0,0) size 800x352
           text run at (320,7) width 4: " "
         RenderBlock {math} at (324,0) size 89x34
           RenderBlock {mfrac} at (1,0) size 87x34
-            RenderBlock {mfrac} at (0,0) size 51x16
+            RenderBlock {mfrac} at (0,0) size 87x16
               RenderInline {mi} at (0,0) size 7x16
-                RenderText {#text} at (41,0) size 7x16
-                  text run at (41,0) width 7: "x"
-            RenderBlock {mfrac} at (0,16) size 51x18
+                RenderText {#text} at (77,0) size 7x16
+                  text run at (77,0) width 7: "x"
+            RenderBlock {mfrac} at (0,16) size 87x18
               RenderBlock {mrow} at (4,2) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -222,7 +222,7 @@ layer at (0,0) size 800x352
           text run at (0,7) width 153: "denominator alignment: "
         RenderBlock {math} at (153,0) size 88x34
           RenderBlock {mfrac} at (1,0) size 86x34
-            RenderBlock {mfrac} at (0,0) size 50x16
+            RenderBlock {mfrac} at (0,0) size 86x16
               RenderBlock {mrow} at (3,0) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -255,7 +255,7 @@ layer at (0,0) size 800x352
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (72,0) size 8x16
                     text run at (72,0) width 8: "5"
-            RenderBlock {mfrac} at (0,16) size 50x18
+            RenderBlock {mfrac} at (0,16) size 86x18
               RenderInline {mi} at (0,0) size 7x16
                 RenderText {#text} at (3,2) size 7x16
                   text run at (3,2) width 7: "x"
@@ -263,7 +263,7 @@ layer at (0,0) size 800x352
           text run at (241,7) width 4: " "
         RenderBlock {math} at (245,0) size 88x34
           RenderBlock {mfrac} at (1,0) size 86x34
-            RenderBlock {mfrac} at (0,0) size 50x16
+            RenderBlock {mfrac} at (0,0) size 86x16
               RenderBlock {mrow} at (3,0) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -296,15 +296,15 @@ layer at (0,0) size 800x352
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (72,0) size 8x16
                     text run at (72,0) width 8: "5"
-            RenderBlock {mfrac} at (0,16) size 50x18
+            RenderBlock {mfrac} at (0,16) size 86x18
               RenderInline {mi} at (0,0) size 8x16
-                RenderText {#text} at (21,2) size 8x16
-                  text run at (21,2) width 8: "x"
+                RenderText {#text} at (39,2) size 8x16
+                  text run at (39,2) width 8: "x"
         RenderText {#text} at (333,7) size 4x18
           text run at (333,7) width 4: " "
         RenderBlock {math} at (337,0) size 88x34
           RenderBlock {mfrac} at (1,0) size 86x34
-            RenderBlock {mfrac} at (0,0) size 50x16
+            RenderBlock {mfrac} at (0,0) size 86x16
               RenderBlock {mrow} at (3,0) size 80x16
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (0,0) size 8x16
@@ -337,8 +337,8 @@ layer at (0,0) size 800x352
                 RenderInline {mn} at (0,0) size 8x16
                   RenderText {#text} at (72,0) size 8x16
                     text run at (72,0) width 8: "5"
-            RenderBlock {mfrac} at (0,16) size 50x18
+            RenderBlock {mfrac} at (0,16) size 86x18
               RenderInline {mi} at (0,0) size 7x16
-                RenderText {#text} at (40,2) size 7x16
-                  text run at (40,2) width 7: "x"
+                RenderText {#text} at (76,2) size 7x16
+                  text run at (76,2) width 7: "x"
         RenderText {#text} at (0,0) size 0x0
index 1aed70f..a6bbf44 100644 (file)
Binary files a/LayoutTests/platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png and b/LayoutTests/platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png differ
index cbab2bf..91455e8 100644 (file)
@@ -16,7 +16,7 @@ layer at (0,0) size 800x106
         RenderText {math:mo} at (0,0) size 9x16
           text run at (0,0) width 9: "+"
     RenderBlock {math:mfrac} at (28,18) size 44x52
-      RenderBlock {math:mfrac} at (0,0) size 35x34
+      RenderBlock {math:mfrac} at (0,0) size 44x34
         RenderBlock {math:mrow} at (3,0) size 38x34
           RenderInline {math:mi} at (0,0) size 10x16
             RenderText {#text} at (0,10) size 10x16
@@ -34,16 +34,16 @@ layer at (0,0) size 800x106
               RenderInline {math:mi} at (0,0) size 10x16
                 RenderText {#text} at (4,2) size 10x16
                   text run at (4,2) width 10: "E"
-      RenderBlock {math:mfrac} at (0,34) size 35x18
-        RenderInline {math:mi} at (0,0) size 11x16
-          RenderText {#text} at (12,2) size 11x16
-            text run at (12,2) width 11: "C"
+      RenderBlock {math:mfrac} at (0,34) size 44x18
+        RenderInline {math:mi} at (0,0) size 12x16
+          RenderText {#text} at (16,2) size 12x16
+            text run at (16,2) width 12: "C"
     RenderBlock {math:mo} at (72,46) size 10x16
       RenderBlock {math:mo} at (0,0) size 9x16
         RenderText {math:mo} at (0,0) size 9x16
           text run at (0,0) width 9: "+"
     RenderBlock {math:mfrac} at (82,0) size 72x70
-      RenderBlock {math:mfrac} at (0,0) size 54x52
+      RenderBlock {math:mfrac} at (0,0) size 72x52
         RenderBlock {math:mrow} at (3,0) size 66x52
           RenderInline {math:mi} at (0,0) size 10x16
             RenderText {#text} at (0,28) size 10x16
@@ -53,7 +53,7 @@ layer at (0,0) size 800x106
               RenderText {math:mo} at (0,0) size 9x16
                 text run at (0,0) width 9: "+"
           RenderBlock {math:mfrac} at (20,0) size 46x52
-            RenderBlock {math:mfrac} at (0,0) size 37x34
+            RenderBlock {math:mfrac} at (0,0) size 46x34
               RenderBlock {math:mrow} at (3,0) size 40x34
                 RenderInline {math:mi} at (0,0) size 12x16
                   RenderText {#text} at (0,10) size 12x16
@@ -71,24 +71,24 @@ layer at (0,0) size 800x106
                     RenderInline {math:mi} at (0,0) size 12x16
                       RenderText {#text} at (3,2) size 12x16
                         text run at (3,2) width 12: "G"
-            RenderBlock {math:mfrac} at (0,34) size 37x18
-              RenderInline {math:mi} at (0,0) size 11x16
-                RenderText {#text} at (13,2) size 11x16
-                  text run at (13,2) width 11: "E"
-      RenderBlock {math:mfrac} at (0,52) size 54x18
+            RenderBlock {math:mfrac} at (0,34) size 46x18
+              RenderInline {math:mi} at (0,0) size 10x16
+                RenderText {#text} at (18,2) size 10x16
+                  text run at (18,2) width 10: "E"
+      RenderBlock {math:mfrac} at (0,52) size 72x18
         RenderInline {math:mi} at (0,0) size 12x16
-          RenderText {#text} at (21,2) size 12x16
-            text run at (21,2) width 12: "C"
+          RenderText {#text} at (30,2) size 12x16
+            text run at (30,2) width 12: "C"
     RenderBlock {math:mo} at (154,46) size 10x16
       RenderBlock {math:mo} at (0,0) size 9x16
         RenderText {math:mo} at (0,0) size 9x16
           text run at (0,0) width 9: "+"
     RenderBlock {math:mfrac} at (164,36) size 73x70
-      RenderBlock {math:mfrac} at (0,0) size 55x16
+      RenderBlock {math:mfrac} at (0,0) size 73x16
         RenderInline {math:mi} at (0,0) size 11x16
-          RenderText {#text} at (22,0) size 11x16
-            text run at (22,0) width 11: "B"
-      RenderBlock {math:mfrac} at (0,16) size 55x54
+          RenderText {#text} at (31,0) size 11x16
+            text run at (31,0) width 11: "B"
+      RenderBlock {math:mfrac} at (0,16) size 73x54
         RenderBlock {math:mrow} at (4,2) size 66x52
           RenderInline {math:mi} at (0,0) size 11x16
             RenderText {#text} at (0,10) size 11x16
@@ -98,11 +98,11 @@ layer at (0,0) size 800x106
               RenderText {math:mo} at (0,0) size 9x16
                 text run at (0,0) width 9: "+"
           RenderBlock {math:mfrac} at (21,0) size 45x52
-            RenderBlock {math:mfrac} at (0,0) size 36x16
-              RenderInline {math:mi} at (0,0) size 12x16
-                RenderText {#text} at (12,0) size 12x16
-                  text run at (12,0) width 12: "D"
-            RenderBlock {math:mfrac} at (0,16) size 36x36
+            RenderBlock {math:mfrac} at (0,0) size 45x16
+              RenderInline {math:mi} at (0,0) size 13x16
+                RenderText {#text} at (16,0) size 13x16
+                  text run at (16,0) width 13: "D"
+            RenderBlock {math:mfrac} at (0,16) size 45x36
               RenderBlock {math:mrow} at (4,2) size 38x34
                 RenderInline {math:mi} at (0,0) size 10x16
                   RenderText {#text} at (0,10) size 10x16
index 446ba04..3c851a3 100644 (file)
Binary files a/LayoutTests/platform/mac/mathml/presentation/roots-expected.png and b/LayoutTests/platform/mac/mathml/presentation/roots-expected.png differ
index 6464189..bf10cdb 100644 (file)
@@ -53,7 +53,7 @@ layer at (0,0) size 800x537
         RenderBlock {math} at (113,0) size 45x40
           RenderBlock {msqrt} at (1,0) size 43x40
             RenderBlock {mfrac} at (12,3) size 31x34
-              RenderBlock {mfrac} at (0,0) size 22x16
+              RenderBlock {mfrac} at (0,0) size 31x16
                 RenderBlock {mrow} at (3,0) size 25x16
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,0) size 7x16
@@ -65,7 +65,7 @@ layer at (0,0) size 800x537
                   RenderInline {mn} at (0,0) size 8x16
                     RenderText {#text} at (17,0) size 8x16
                       text run at (17,0) width 8: "1"
-              RenderBlock {mfrac} at (0,16) size 22x18
+              RenderBlock {mfrac} at (0,16) size 31x18
                 RenderBlock {mrow} at (3,2) size 25x16
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,0) size 7x16
@@ -167,7 +167,7 @@ layer at (0,0) size 800x537
       RenderBlock {p} at (0,429) size 784x76
         RenderText {#text} at (0,36) size 110x18
           text run at (0,36) width 110: "Imbricated roots: "
-        RenderBlock {math} at (110,0) size 327x76
+        RenderBlock {math} at (110,0) size 328x76
         RenderText {#text} at (0,0) size 0x0
 layer at (182,180) size 20x20
   RenderBlock (relative positioned) {mroot} at (1,0) size 20x20
@@ -211,7 +211,7 @@ layer at (194,254) size 71x40
     RenderBlock {mroot} at (39,24) size 0x0
     RenderBlock {mroot} at (39,3) size 32x34
       RenderBlock {mfrac} at (1,0) size 31x34
-        RenderBlock {mfrac} at (0,0) size 22x16
+        RenderBlock {mfrac} at (0,0) size 31x16
           RenderBlock {mrow} at (3,0) size 25x16
             RenderInline {mi} at (0,0) size 7x16
               RenderText {#text} at (0,0) size 7x16
@@ -223,7 +223,7 @@ layer at (194,254) size 71x40
             RenderInline {mn} at (0,0) size 8x16
               RenderText {#text} at (17,0) size 8x16
                 text run at (17,0) width 8: "1"
-        RenderBlock {mfrac} at (0,16) size 22x18
+        RenderBlock {mfrac} at (0,16) size 31x18
           RenderBlock {mrow} at (3,2) size 25x16
             RenderInline {mi} at (0,0) size 7x16
               RenderText {#text} at (0,0) size 7x16
@@ -277,11 +277,11 @@ layer at (84,310) size 19x42
       RenderInline {mi} at (0,0) size 5x12
         RenderText {#text} at (4,2) size 5x12
           text run at (4,2) width 5: "z"
-layer at (119,445) size 325x76
-  RenderBlock (relative positioned) {mroot} at (1,0) size 325x76
+layer at (119,445) size 326x76
+  RenderBlock (relative positioned) {mroot} at (1,0) size 326x76
     RenderBlock {mroot} at (18,50) size 0x0
-    RenderBlock {mroot} at (18,3) size 307x70
-      RenderBlock {mrow} at (11,0) size 296x70
+    RenderBlock {mroot} at (18,3) size 308x70
+      RenderBlock {mrow} at (11,0) size 297x70
         RenderInline {mn} at (0,0) size 8x16
           RenderText {#text} at (0,36) size 8x16
             text run at (0,36) width 8: "1"
@@ -293,11 +293,11 @@ layer at (119,478) size 12x14
   RenderBlock (positioned) {mn} at (0,33) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "3"
-layer at (166,448) size 278x70
-  RenderBlock (relative positioned) {mroot} at (18,0) size 278x70
+layer at (166,448) size 279x70
+  RenderBlock (relative positioned) {mroot} at (18,0) size 279x70
     RenderBlock {mroot} at (18,47) size 0x0
-    RenderBlock {mroot} at (18,3) size 260x64
-      RenderBlock {mrow} at (9,0) size 251x64
+    RenderBlock {mroot} at (18,3) size 261x64
+      RenderBlock {mrow} at (9,0) size 252x64
         RenderInline {mn} at (0,0) size 8x16
           RenderText {#text} at (0,33) size 8x16
             text run at (0,33) width 8: "2"
@@ -309,11 +309,11 @@ layer at (166,477) size 12x14
   RenderBlock (positioned) {mn} at (0,29) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "4"
-layer at (211,451) size 233x64
-  RenderBlock (relative positioned) {mroot} at (18,0) size 233x64
+layer at (211,451) size 234x64
+  RenderBlock (relative positioned) {mroot} at (18,0) size 234x64
     RenderBlock {mroot} at (18,44) size 0x0
-    RenderBlock {mroot} at (18,3) size 215x58
-      RenderBlock {mrow} at (7,0) size 208x58
+    RenderBlock {mroot} at (18,3) size 216x58
+      RenderBlock {mrow} at (8,0) size 208x58
         RenderInline {mn} at (0,0) size 8x16
           RenderText {#text} at (0,30) size 8x16
             text run at (0,30) width 8: "3"
@@ -325,7 +325,7 @@ layer at (211,477) size 12x14
   RenderBlock (positioned) {mn} at (0,26) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "5"
-layer at (254,454) size 190x58
+layer at (255,454) size 190x58
   RenderBlock (relative positioned) {mroot} at (18,0) size 190x58
     RenderBlock {mroot} at (18,41) size 0x0
     RenderBlock {mroot} at (18,3) size 172x52
@@ -337,11 +337,11 @@ layer at (254,454) size 190x58
           RenderBlock {mo} at (0,0) size 9x16
             RenderText {mo} at (0,0) size 9x16
               text run at (0,0) width 9: "+"
-layer at (254,476) size 12x14
+layer at (255,476) size 12x14
   RenderBlock (positioned) {mn} at (0,22) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "6"
-layer at (296,457) size 148x52
+layer at (297,457) size 148x52
   RenderBlock (relative positioned) {mroot} at (18,0) size 148x52
     RenderBlock {mroot} at (17,38) size 0x0
     RenderBlock {mroot} at (17,3) size 131x46
@@ -353,11 +353,11 @@ layer at (296,457) size 148x52
           RenderBlock {mo} at (0,0) size 9x16
             RenderText {mo} at (0,0) size 9x16
               text run at (0,0) width 9: "+"
-layer at (296,475) size 12x14
+layer at (297,475) size 12x14
   RenderBlock (positioned) {mn} at (0,18) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "7"
-layer at (335,460) size 109x46
+layer at (336,460) size 109x46
   RenderBlock (relative positioned) {mroot} at (18,0) size 109x46
     RenderBlock {mroot} at (16,35) size 0x0
     RenderBlock {mroot} at (16,3) size 93x40
@@ -369,11 +369,11 @@ layer at (335,460) size 109x46
           RenderBlock {mo} at (0,0) size 9x16
             RenderText {mo} at (0,0) size 9x16
               text run at (0,0) width 9: "+"
-layer at (335,474) size 12x14
+layer at (336,474) size 12x14
   RenderBlock (positioned) {mn} at (0,14) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "8"
-layer at (372,463) size 72x40
+layer at (373,463) size 72x40
   RenderBlock (relative positioned) {mroot} at (18,0) size 72x40
     RenderBlock {mroot} at (14,32) size 0x0
     RenderBlock {mroot} at (14,3) size 58x34
@@ -385,18 +385,18 @@ layer at (372,463) size 72x40
           RenderBlock {mo} at (0,0) size 9x16
             RenderText {mo} at (0,0) size 9x16
               text run at (0,0) width 9: "+"
-layer at (372,474) size 12x14
+layer at (373,474) size 12x14
   RenderBlock (positioned) {mn} at (0,11) size 12x14
     RenderText {#text} at (2,0) size 6x12
       text run at (2,0) width 6: "9"
-layer at (406,466) size 38x34
+layer at (407,466) size 38x34
   RenderBlock (relative positioned) {mroot} at (18,0) size 38x34
     RenderBlock {mroot} at (28,29) size 0x0
     RenderBlock {mroot} at (28,18) size 10x16
       RenderInline {mi} at (0,0) size 10x16
         RenderText {#text} at (0,0) size 10x16
           text run at (0,0) width 10: "A"
-layer at (406,466) size 28x28
+layer at (407,466) size 28x28
   RenderBlock (positioned) {mfrac} at (0,0) size 28x28
     RenderBlock {mfrac} at (2,0) size 22x12
       RenderBlock {mrow} at (2,0) size 18x12
index 2bb068f..af65213 100644 (file)
Binary files a/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.png and b/LayoutTests/platform/mac/mathml/presentation/row-alignment-expected.png differ
index 32fb0d7..d2c3296 100644 (file)
@@ -32,7 +32,7 @@ layer at (0,0) size 800x544
             text run at (0,7) width 27: "text "
           RenderBlock {math} at (27,0) size 33x34
             RenderBlock {mfrac} at (1,0) size 31x34
-              RenderBlock {mfrac} at (0,0) size 22x16
+              RenderBlock {mfrac} at (0,0) size 31x16
                 RenderBlock {mrow} at (3,0) size 25x16
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,0) size 7x16
@@ -44,10 +44,10 @@ layer at (0,0) size 800x544
                   RenderInline {mn} at (0,0) size 8x16
                     RenderText {#text} at (17,0) size 8x16
                       text run at (17,0) width 8: "1"
-              RenderBlock {mfrac} at (0,16) size 22x18
-                RenderInline {mn} at (0,0) size 8x16
-                  RenderText {#text} at (7,2) size 8x16
-                    text run at (7,2) width 8: "2"
+              RenderBlock {mfrac} at (0,16) size 31x18
+                RenderInline {mn} at (0,0) size 9x16
+                  RenderText {#text} at (11,2) size 9x16
+                    text run at (11,2) width 9: "2"
           RenderText {#text} at (0,0) size 0x0
         RenderBlock {p} at (0,97) size 784x34
           RenderText {#text} at (0,7) size 27x18
@@ -61,7 +61,7 @@ layer at (0,0) size 800x544
                 RenderText {mo} at (0,0) size 9x16
                   text run at (0,0) width 9: "+"
             RenderBlock {mfrac} at (18,0) size 31x34
-              RenderBlock {mfrac} at (0,0) size 22x16
+              RenderBlock {mfrac} at (0,0) size 31x16
                 RenderBlock {mrow} at (3,0) size 25x16
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,0) size 7x16
@@ -73,10 +73,10 @@ layer at (0,0) size 800x544
                   RenderInline {mn} at (0,0) size 8x16
                     RenderText {#text} at (17,0) size 8x16
                       text run at (17,0) width 8: "1"
-              RenderBlock {mfrac} at (0,16) size 22x18
-                RenderInline {mn} at (0,0) size 8x16
-                  RenderText {#text} at (7,2) size 8x16
-                    text run at (7,2) width 8: "2"
+              RenderBlock {mfrac} at (0,16) size 31x18
+                RenderInline {mn} at (0,0) size 9x16
+                  RenderText {#text} at (11,2) size 9x16
+                    text run at (11,2) width 9: "2"
           RenderText {#text} at (0,0) size 0x0
       RenderBlock {div} at (0,235) size 784x274
         RenderBlock {h2} at (0,0) size 784x28
@@ -95,7 +95,7 @@ layer at (0,0) size 800x544
                 RenderText {mo} at (0,0) size 9x16
                   text run at (0,0) width 9: "+"
             RenderBlock {mfrac} at (24,2) size 31x34
-              RenderBlock {mfrac} at (0,0) size 22x16
+              RenderBlock {mfrac} at (0,0) size 31x16
                 RenderBlock {mrow} at (3,0) size 25x16
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,0) size 7x16
@@ -107,10 +107,10 @@ layer at (0,0) size 800x544
                   RenderInline {mn} at (0,0) size 8x16
                     RenderText {#text} at (17,0) size 8x16
                       text run at (17,0) width 8: "1"
-              RenderBlock {mfrac} at (0,16) size 22x18
-                RenderInline {mn} at (0,0) size 8x16
-                  RenderText {#text} at (7,2) size 8x16
-                    text run at (7,2) width 8: "2"
+              RenderBlock {mfrac} at (0,16) size 31x18
+                RenderInline {mn} at (0,0) size 9x16
+                  RenderText {#text} at (11,2) size 9x16
+                    text run at (11,2) width 9: "2"
             RenderBlock {mo} at (55,0) size 6x41
           RenderText {#text} at (0,0) size 0x0
         RenderBlock {p} at (0,104) size 784x85
@@ -131,7 +131,7 @@ layer at (0,0) size 800x544
                   RenderText {#text} at (4,3) size 5x12
                     text run at (4,3) width 5: "x"
             RenderBlock {mfrac} at (27,10) size 54x70
-              RenderBlock {mfrac} at (0,0) size 36x34
+              RenderBlock {mfrac} at (0,0) size 54x34
                 RenderBlock {mrow} at (3,0) size 48x34
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,10) size 7x16
@@ -141,7 +141,7 @@ layer at (0,0) size 800x544
                       RenderText {mo} at (0,0) size 9x16
                         text run at (0,0) width 9: "+"
                   RenderBlock {mfrac} at (17,0) size 31x34
-                    RenderBlock {mfrac} at (0,0) size 22x16
+                    RenderBlock {mfrac} at (0,0) size 31x16
                       RenderBlock {mrow} at (3,0) size 25x16
                         RenderInline {mi} at (0,0) size 7x16
                           RenderText {#text} at (0,0) size 7x16
@@ -153,11 +153,11 @@ layer at (0,0) size 800x544
                         RenderInline {mn} at (0,0) size 8x16
                           RenderText {#text} at (17,0) size 8x16
                             text run at (17,0) width 8: "1"
-                    RenderBlock {mfrac} at (0,16) size 22x18
-                      RenderInline {mn} at (0,0) size 8x16
-                        RenderText {#text} at (7,2) size 8x16
-                          text run at (7,2) width 8: "2"
-              RenderBlock {mfrac} at (0,34) size 36x36
+                    RenderBlock {mfrac} at (0,16) size 31x18
+                      RenderInline {mn} at (0,0) size 9x16
+                        RenderText {#text} at (11,2) size 9x16
+                          text run at (11,2) width 9: "2"
+              RenderBlock {mfrac} at (0,34) size 54x36
                 RenderBlock {mrow} at (3,2) size 48x34
                   RenderInline {mi} at (0,0) size 7x16
                     RenderText {#text} at (0,10) size 7x16
@@ -167,7 +167,7 @@ layer at (0,0) size 800x544
                       RenderText {mo} at (0,0) size 9x16
                         text run at (0,0) width 9: "+"
                   RenderBlock {mfrac} at (17,0) size 31x34
-                    RenderBlock {mfrac} at (0,0) size 22x16
+                    RenderBlock {mfrac} at (0,0) size 31x16
                       RenderBlock {mrow} at (3,0) size 25x16
                         RenderInline {mi} at (0,0) size 7x16
                           RenderText {#text} at (0,0) size 7x16
@@ -179,10 +179,10 @@ layer at (0,0) size 800x544
                         RenderInline {mn} at (0,0) size 8x16
                           RenderText {#text} at (17,0) size 8x16
                             text run at (17,0) width 8: "1"
-                    RenderBlock {mfrac} at (0,16) size 22x18
-                      RenderInline {mn} at (0,0) size 8x16
-                        RenderText {#text} at (7,2) size 8x16
-                          text run at (7,2) width 8: "2"
+                    RenderBlock {mfrac} at (0,16) size 31x18
+                      RenderInline {mn} at (0,0) size 9x16
+                        RenderText {#text} at (11,2) size 9x16
+                          text run at (11,2) width 9: "2"
             RenderBlock {mo} at (81,0) size 6x85
           RenderText {#text} at (0,0) size 0x0
         RenderBlock {p} at (0,205) size 784x69
index 25a2e71..918c9ad 100644 (file)
Binary files a/LayoutTests/platform/mac/mathml/presentation/subsup-expected.png and b/LayoutTests/platform/mac/mathml/presentation/subsup-expected.png differ
index 3f2aecf..baec94d 100644 (file)
@@ -32,11 +32,11 @@ layer at (0,0) size 800x256
                 RenderText {#text} at (0,8) size 9x16
                   text run at (0,8) width 9: "Z"
             RenderBlock {msubsup} at (10,0) size 32x32
-              RenderBlock {msubsup} at (0,0) size 18x16
+              RenderBlock {msubsup} at (0,0) size 32x16
                 RenderInline {mi} at (0,0) size 3x12
                   RenderText {#text} at (0,3) size 3x12
                     text run at (0,3) width 3: "j"
-              RenderBlock {msubsup} at (0,16) size 18x16
+              RenderBlock {msubsup} at (0,16) size 32x16
                 RenderBlock {mrow} at (1,3) size 31x12
                   RenderInline {mi} at (0,0) size 5x12
                     RenderText {#text} at (0,0) size 5x12
@@ -66,7 +66,7 @@ layer at (0,0) size 800x256
                 RenderText {#text} at (0,8) size 9x16
                   text run at (0,8) width 9: "Z"
             RenderBlock {msubsup} at (10,0) size 17x32
-              RenderBlock {msubsup} at (0,0) size 10x16
+              RenderBlock {msubsup} at (0,0) size 17x16
                 RenderBlock {mrow} at (1,3) size 16x12
                   RenderInline {mi} at (0,0) size 5x12
                     RenderText {#text} at (0,0) size 5x12
@@ -78,7 +78,7 @@ layer at (0,0) size 800x256
                   RenderInline {mi} at (0,0) size 3x12
                     RenderText {#text} at (13,0) size 3x12
                       text run at (13,0) width 3: "j"
-              RenderBlock {msubsup} at (0,16) size 10x16
+              RenderBlock {msubsup} at (0,16) size 17x16
                 RenderInline {mi} at (0,0) size 5x12
                   RenderText {#text} at (0,3) size 5x12
                     text run at (0,3) width 5: "x"
@@ -93,7 +93,7 @@ layer at (0,0) size 800x256
                 RenderText {#text} at (0,8) size 9x16
                   text run at (0,8) width 9: "Z"
             RenderBlock {msubsup} at (10,0) size 32x32
-              RenderBlock {msubsup} at (0,0) size 18x16
+              RenderBlock {msubsup} at (0,0) size 32x16
                 RenderBlock {mrow} at (0,3) size 16x12
                   RenderInline {mi} at (0,0) size 5x12
                     RenderText {#text} at (0,0) size 5x12
@@ -105,7 +105,7 @@ layer at (0,0) size 800x256
                   RenderInline {mi} at (0,0) size 3x12
                     RenderText {#text} at (13,0) size 3x12
                       text run at (13,0) width 3: "j"
-              RenderBlock {msubsup} at (0,16) size 18x16
+              RenderBlock {msubsup} at (0,16) size 32x16
                 RenderBlock {mrow} at (1,3) size 31x12
                   RenderInline {mi} at (0,0) size 5x12
                     RenderText {#text} at (0,0) size 5x12
index 5afa90c..2b5651d 100644 (file)
@@ -1,3 +1,17 @@
+2011-04-02  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        Remove an unnecessary extra computeLogicalWidth() from line layout
+        https://bugs.webkit.org/show_bug.cgi?id=57711
+
+        Changes in behavior (MathML progression) covered by existing layout tests.
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
+        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
+        actually prevents MathML rows from reverting to an incorrect width.
+
 2011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
 
         Reviewed by Martin Robinson.
index 8c1393f..3097a4c 100644 (file)
@@ -454,7 +454,6 @@ void RenderBlock::computeInlineDirectionPositionsForLine(RootInlineBox* lineBox,
             isAfterExpansion = false;
             if (!r->m_object->isRenderInline()) {
                 RenderBox* renderBox = toRenderBox(r->m_object);
-                renderBox->computeLogicalWidth();
                 r->m_box->setLogicalWidth(logicalWidthForChild(renderBox));
                 totalLogicalWidth += marginStartForChild(renderBox) + marginEndForChild(renderBox);
             }