RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing...
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Oct 2014 22:29:20 +0000 (22:29 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Oct 2014 22:29:20 +0000 (22:29 +0000)
https://bugs.webkit.org/show_bug.cgi?id=137330

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-10
Reviewed by Simon Fraser.

Change the layout with resize test of the MathML underover object from being render tree test
to be reference test. The render test was failing on WK2 because it was doing window resizing
and view zooming.  The new test rely solely on forcing the layout synchronously by resizing the
math container <div> element.

* mathml/opentype/munderover-layout-resize-expected.html: Added.
* mathml/opentype/munderover-layout-resize.html: Added.
* mathml/opentype/munderover-window-resize-expected.txt: Removed.
* mathml/opentype/munderover-window-resize.html: Removed.

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

LayoutTests/ChangeLog
LayoutTests/mathml/opentype/munderover-layout-resize-expected.html [new file with mode: 0644]
LayoutTests/mathml/opentype/munderover-layout-resize.html [moved from LayoutTests/mathml/opentype/munderover-window-resize.html with 80% similarity]
LayoutTests/mathml/opentype/munderover-window-resize-expected.txt [deleted file]

index f31be8f..be8673f 100644 (file)
@@ -1,3 +1,20 @@
+2014-10-10  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        RenderMathMLUnderOver adds spacing to the child operator indefinitely when resizing the window.
+        https://bugs.webkit.org/show_bug.cgi?id=137330
+
+        Reviewed by Simon Fraser.
+
+        Change the layout with resize test of the MathML underover object from being render tree test
+        to be reference test. The render test was failing on WK2 because it was doing window resizing 
+        and view zooming.  The new test rely solely on forcing the layout synchronously by resizing the
+        math container <div> element.
+
+        * mathml/opentype/munderover-layout-resize-expected.html: Added.
+        * mathml/opentype/munderover-layout-resize.html: Added.
+        * mathml/opentype/munderover-window-resize-expected.txt: Removed.
+        * mathml/opentype/munderover-window-resize.html: Removed.
+
 2014-10-10  Benjamin Poulain  <benjamin@webkit.org>
 
         Update :nth-child(An+B of selector-list) to the latest specification
diff --git a/LayoutTests/mathml/opentype/munderover-layout-resize-expected.html b/LayoutTests/mathml/opentype/munderover-layout-resize-expected.html
new file mode 100644 (file)
index 0000000..e4b0f7d
--- /dev/null
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <style type="text/css">
+    @font-face {
+      font-family: stretchy;
+      src: url("stretchy.woff");
+    }
+    math {
+      font-family: stretchy;
+      font-size: 10px;
+    }
+    div {
+      width: 700px;
+      height: 100px;
+      background-color:#eeeeee;
+    }
+  </style>
+<body>
+<div>
+  <math display='block'>
+    <mrow>
+      <mmultiscripts>
+        <mi>C</mi>
+        <none/>
+        <mi>16</mi>
+        <mprescripts/>
+        <mi>5</mi>
+        <mi>10</mi>
+      </mmultiscripts>
+    </mrow>
+    <mspace width="0.5em"/>
+    <mrow>
+      <mn>2</mn>
+      <mo>&InvisibleTimes;</mo>
+      <msub>
+        <mi>H</mi>
+        <mn>2</mn>
+      </msub>
+      <mo>+</mo>
+      <msub>
+        <mi>O</mi>
+        <mn>2</mn>
+      </msub>
+    </mrow>
+    <mover>
+      <mo>&#x02192;</mo>
+      <mrow>
+        <mi>m</mi>
+        <mo>,</mo>
+        <mi>n</mi>
+      </mrow>
+    </mover>
+    <mrow>
+      <mn>2</mn>
+      <mo>&InvisibleTimes;</mo>
+      <msub>
+        <mi>H</mi>
+        <mn>2</mn>
+      </msub>
+      <mo>&InvisibleTimes;</mo>
+      <mi>O</mi>
+    </mrow>
+    <mspace width="0.5em"/>
+    <mrow>
+      <mi>A</mi>
+    </mrow>
+    <munderover>
+      <mo>&#x02194;</mo>
+      <mi>b</mi>
+      <mn>a</mn>
+    </munderover>
+    <mrow>
+      <mi>B</mi>
+    </mrow>
+    <mspace width="0.5em"/>
+    <mrow>
+      <mi>A</mi>
+    </mrow>
+    <munderover>
+      <mo>&#x021C4;</mo>
+      <mi>0</mi>
+      <mn>a</mn>
+    </munderover>
+    <mrow>
+      <mi>B</mi>
+    </mrow>
+    <mspace width="0.5em"/>
+    <mrow>
+      <mi>A</mi>
+    </mrow>
+    <munderover>
+      <mo>&#x021C4;</mo>
+      <mn>0&#x000B0;C</mn>
+      <mn>100&#x000B0;C</mn>
+    </munderover>
+    <mrow>
+      <mi>B</mi>
+    </mrow>
+  </math>
+</div>
+</body>
+</html>
@@ -1,10 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-  <title>Open Type MATH - under-over operator</title>
-  <meta charset="utf-8">
   <style type="text/css">
-    /* This font is taken from Mozilla's test suite. */
     @font-face {
       font-family: stretchy;
       src: url("stretchy.woff");
       font-family: stretchy;
       font-size: 10px;
     }
+    div {
+      width: 700px;
+      height: 100px;
+      background-color:#eeeeee;
+    }
   </style>
 <body>
-<div>
+<div id="mathContainer">
   <math display='block'>
     <mrow>
       <mmultiscripts>
   </math>
 </div>
 <script>
-       for (var zoom = 110; zoom <= 200; zoom += 10) {
-        document.body.style.zoom = zoom + "%";
-       }
-    document.body.style.zoom="100%";
-    var width = window.outerWidth;
-    window.resizeTo(250, window.outerHeight); 
-    window.resizeTo(width, window.outerHeight);
+  var mathDiv = document.getElementById("mathContainer");
+
+  mathDiv.style.width = "300px";
+  document.body.offsetWidth; // forces layout
+
+  mathDiv.style.width = "500px";
+  document.body.offsetWidth; // forces layout
+
+  mathDiv.style.width = "700px";
+  document.body.offsetWidth; // forces layout
 </script>
 </body>
 </html>
diff --git a/LayoutTests/mathml/opentype/munderover-window-resize-expected.txt b/LayoutTests/mathml/opentype/munderover-window-resize-expected.txt
deleted file mode 100644 (file)
index 673f427..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x40
-  RenderBlock {HTML} at (0,0) size 800x40
-    RenderBody {BODY} at (8,8) size 784x22
-      RenderBlock {DIV} at (0,0) size 784x22
-        RenderMathMLMath {math} at (0,0) size 784x22 [padding: 0 1 0 1]
-          RenderMathMLRow {mrow} at (268,4) size 26x16
-            RenderMathMLScripts {mmultiscripts} at (0,0) size 26x16
-              Base Wrapper at (8,0) size 9x16 [padding: 2 0 4 0]
-                RenderMathMLToken {mi} at (0,2) size 8x9 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                    RenderBlock (anonymous) at (0,0) size 7x9
-                      RenderText {#text} at (0,3) size 7x10
-                        text run at (0,3) width 7: "C"
-              SubSupPair Wrapper at (16,0) size 10x16
-                RenderMathMLBlock (flex) {none} at (0,15) size 0x0
-                RenderMathMLToken {mi} at (0,0) size 9x7 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 8x7
-                    RenderBlock (anonymous) at (0,0) size 8x7
-                      RenderText {#text} at (0,2) size 8x8
-                        text run at (0,2) width 8: "16"
-              RenderMathMLBlock (flex) {mprescripts} at (25,0) size 0x16
-              SubSupPair Wrapper at (0,0) size 9x16
-                RenderMathMLToken {mi} at (4,8) size 5x8 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                    RenderBlock (anonymous) at (0,0) size 4x7
-                      RenderText {#text} at (0,2) size 4x8
-                        text run at (0,2) width 4: "5"
-                RenderMathMLToken {mi} at (0,0) size 9x7 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 8x7
-                    RenderBlock (anonymous) at (0,0) size 8x7
-                      RenderText {#text} at (0,2) size 8x8
-                        text run at (0,2) width 8: "10"
-          RenderMathMLSpace {mspace} at (293,14) size 6x0
-          RenderMathMLRow {mrow} at (298,6) size 40x14
-            RenderMathMLToken {mn} at (0,0) size 6x9
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 6x9
-                RenderBlock (anonymous) at (0,0) size 6x9
-                  RenderText {#text} at (0,3) size 6x10
-                    text run at (0,3) width 6: "2"
-            RenderMathMLOperator {mo} at (6,8) size 0x1
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 0x1
-                RenderBlock (anonymous) at (0,0) size 0x1
-                  RenderText at (0,-5) size 0x10
-                    text run at (0,-5) width 0: "\x{2062}"
-            RenderMathMLScripts {msub} at (6,0) size 11x14
-              Base Wrapper at (0,0) size 7x14 [padding: 0 0 4 0]
-                RenderMathMLToken {mi} at (0,0) size 7x9
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                    RenderBlock (anonymous) at (0,0) size 7x9
-                      RenderText {#text} at (0,3) size 7x10
-                        text run at (0,3) width 7: "H"
-              SubSupPair Wrapper at (7,0) size 4x14
-                RenderMathMLToken {mn} at (0,6) size 4x8
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                    RenderBlock (anonymous) at (0,0) size 4x7
-                      RenderText {#text} at (0,2) size 4x8
-                        text run at (0,2) width 4: "2"
-            RenderMathMLOperator {mo} at (17,2) size 11x7
-              RenderMathMLBlock (anonymous, flex) at (2,0) size 7x7
-                RenderBlock (anonymous) at (0,0) size 6x7
-                  RenderText at (0,1) size 6x10
-                    text run at (0,1) width 6: "+"
-            RenderMathMLScripts {msub} at (27,0) size 13x14
-              Base Wrapper at (0,0) size 8x14 [padding: 0 0 4 0]
-                RenderMathMLToken {mi} at (0,0) size 8x9
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 8x9
-                    RenderBlock (anonymous) at (0,0) size 8x9
-                      RenderText {#text} at (0,3) size 8x10
-                        text run at (0,3) width 8: "O"
-              SubSupPair Wrapper at (8,0) size 4x14
-                RenderMathMLToken {mn} at (0,6) size 4x8
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                    RenderBlock (anonymous) at (0,0) size 4x7
-                      RenderText {#text} at (0,2) size 4x8
-                        text run at (0,2) width 4: "2"
-          RenderMathMLUnderOver {mover} at (338,1) size 22x14
-            RenderMathMLOperator {mo} at (0,7) size 22x7
-              RenderMathMLBlock (anonymous, flex) at (2,0) size 17x7
-                RenderBlock (anonymous) at (0,0) size 10x7
-                  RenderText at (0,1) size 10x10
-                    text run at (0,1) width 10: "\x{2192}"
-            RenderMathMLRow {mrow} at (2,0) size 17x7
-              RenderMathMLToken {mi} at (0,0) size 8x6 [padding: 0 1 0 0]
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 7x6
-                  RenderBlock (anonymous) at (0,0) size 7x6
-                    RenderText {#text} at (0,1) size 7x8
-                      text run at (0,1) width 7: "m"
-              RenderMathMLOperator {mo} at (7,4) size 4x3
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 2x3
-                  RenderBlock (anonymous) at (0,0) size 2x3
-                    RenderText at (0,-3) size 2x8
-                      text run at (0,-3) width 2: ","
-              RenderMathMLToken {mi} at (11,0) size 5x6 [padding: 0 1 0 0]
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                  RenderBlock (anonymous) at (0,0) size 4x6
-                    RenderText {#text} at (0,1) size 4x8
-                      text run at (0,1) width 4: "n"
-          RenderMathMLRow {mrow} at (359,6) size 27x14
-            RenderMathMLToken {mn} at (0,0) size 6x9
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 6x9
-                RenderBlock (anonymous) at (0,0) size 6x9
-                  RenderText {#text} at (0,3) size 6x10
-                    text run at (0,3) width 6: "2"
-            RenderMathMLOperator {mo} at (6,8) size 0x1
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 0x1
-                RenderBlock (anonymous) at (0,0) size 0x1
-                  RenderText at (0,-5) size 0x10
-                    text run at (0,-5) width 0: "\x{2062}"
-            RenderMathMLScripts {msub} at (6,0) size 11x14
-              Base Wrapper at (0,0) size 7x14 [padding: 0 0 4 0]
-                RenderMathMLToken {mi} at (0,0) size 7x9
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                    RenderBlock (anonymous) at (0,0) size 7x9
-                      RenderText {#text} at (0,3) size 7x10
-                        text run at (0,3) width 7: "H"
-              SubSupPair Wrapper at (7,0) size 4x14
-                RenderMathMLToken {mn} at (0,6) size 4x8
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                    RenderBlock (anonymous) at (0,0) size 4x7
-                      RenderText {#text} at (0,2) size 4x8
-                        text run at (0,2) width 4: "2"
-            RenderMathMLOperator {mo} at (17,8) size 0x1
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 0x1
-                RenderBlock (anonymous) at (0,0) size 0x1
-                  RenderText at (0,-5) size 0x10
-                    text run at (0,-5) width 0: "\x{2062}"
-            RenderMathMLToken {mi} at (17,0) size 9x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 8x9
-                RenderBlock (anonymous) at (0,0) size 8x9
-                  RenderText {#text} at (0,3) size 8x10
-                    text run at (0,3) width 8: "O"
-          RenderMathMLSpace {mspace} at (385,14) size 6x0
-          RenderMathMLRow {mrow} at (390,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "A"
-          RenderMathMLUnderOver {munderover} at (398,3) size 21x19
-            RenderMathMLOperator {mo} at (0,6) size 21x6
-              RenderMathMLBlock (anonymous, flex) at (2,0) size 16x6
-                RenderBlock (anonymous) at (0,0) size 9x6
-                  RenderText at (0,0) size 9x10
-                    text run at (0,0) width 9: "\x{2194}"
-            RenderMathMLToken {mi} at (7,12) size 6x7 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                RenderBlock (anonymous) at (0,0) size 4x7
-                  RenderText {#text} at (0,2) size 4x8
-                    text run at (0,2) width 4: "b"
-            RenderMathMLToken {mn} at (8,0) size 5x6
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                RenderBlock (anonymous) at (0,0) size 4x6
-                  RenderText {#text} at (0,1) size 4x8
-                    text run at (0,1) width 4: "a"
-          RenderMathMLRow {mrow} at (418,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "B"
-          RenderMathMLSpace {mspace} at (426,14) size 6x0
-          RenderMathMLRow {mrow} at (431,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "A"
-          RenderMathMLUnderOver {munderover} at (439,1) size 22x21
-            RenderMathMLOperator {mo} at (0,6) size 22x8
-              RenderMathMLBlock (anonymous, flex) at (2,0) size 17x8
-                RenderBlock (anonymous) at (0,0) size 10x8
-                  RenderText at (0,2) size 10x10
-                    text run at (0,2) width 10: "\x{21C4}"
-            RenderMathMLToken {mi} at (8,14) size 5x7 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 4x7
-                RenderBlock (anonymous) at (0,0) size 4x7
-                  RenderText {#text} at (0,2) size 4x8
-                    text run at (0,2) width 4: "0"
-            RenderMathMLToken {mn} at (8,0) size 5x6
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                RenderBlock (anonymous) at (0,0) size 4x6
-                  RenderText {#text} at (0,1) size 4x8
-                    text run at (0,1) width 4: "a"
-          RenderMathMLRow {mrow} at (460,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "B"
-          RenderMathMLSpace {mspace} at (468,14) size 6x0
-          RenderMathMLRow {mrow} at (473,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "A"
-          RenderMathMLUnderOver {munderover} at (481,0) size 27x22
-            RenderMathMLOperator {mo} at (0,7) size 27x8
-              RenderMathMLBlock (anonymous, flex) at (2,0) size 22x8
-                RenderBlock (anonymous) at (0,0) size 10x8
-                  RenderText at (0,2) size 10x10
-                    text run at (0,2) width 10: "\x{21C4}"
-            RenderMathMLToken {mn} at (6,15) size 14x7
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x7
-                RenderBlock (anonymous) at (0,0) size 13x7
-                  RenderText {#text} at (0,2) size 13x8
-                    text run at (0,2) width 13: "0\x{B0}C"
-            RenderMathMLToken {mn} at (2,0) size 22x7
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 21x7
-                RenderBlock (anonymous) at (0,0) size 21x7
-                  RenderText {#text} at (0,2) size 21x8
-                    text run at (0,2) width 21: "100\x{B0}C"
-          RenderMathMLRow {mrow} at (507,6) size 9x9
-            RenderMathMLToken {mi} at (0,0) size 8x9 [padding: 0 1 0 0]
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                RenderBlock (anonymous) at (0,0) size 7x9
-                  RenderText {#text} at (0,3) size 7x10
-                    text run at (0,3) width 7: "B"