<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[169965] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/169965">169965</a></dd>
<dt>Author</dt> <dd>fred.wang@free.fr</dd>
<dt>Date</dt> <dd>2014-06-14 01:01:23 -0700 (Sat, 14 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/169963">r169963</a>.
https://bugs.webkit.org/show_bug.cgi?id=133899

Assertion in mathml/roots-removeChild.html (Requested by fredw
on #webkit).

Reverted changeset:

&quot;Draw radicals with glyphs for better rendering&quot;
https://bugs.webkit.org/show_bug.cgi?id=119038
http://trac.webkit.org/changeset/169963

Patch by Commit Queue &lt;commit-queue@webkit.org&gt; on 2014-06-14</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformeflTestExpectations">trunk/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedpng">trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationrootsexpectedpng">trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlpresentationrootsexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorecssmathmlcss">trunk/Source/WebCore/css/mathml.css</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjecth">trunk/Source/WebCore/rendering/RenderObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLOperatorcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLOperatorh">trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLRootcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLRooth">trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsmathmlopentyperootsLatinModernhtml">trunk/LayoutTests/mathml/opentype/roots-LatinModern.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmroottransformexpectedhtml">trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmroottransformhtml">trunk/LayoutTests/mathml/presentation/mroot-transform.html</a></li>
<li><a href="#trunkLayoutTestsplatformeflmathmlopentyperootsLatinModernexpectedtxt">trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentyperootsLatinModernexpectedpng">trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentyperootsLatinModernexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmathmlopentyperootsLatinModernexpectedtxt">trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinmathmlopentyperootsLatinModernexpectedtxt">trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLRadicalOperatorcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLRadicalOperatorh">trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/ChangeLog        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-06-14  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r169963.
+        https://bugs.webkit.org/show_bug.cgi?id=133899
+
+        Assertion in mathml/roots-removeChild.html (Requested by fredw
+        on #webkit).
+
+        Reverted changeset:
+
+        &quot;Draw radicals with glyphs for better rendering&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=119038
+        http://trac.webkit.org/changeset/169963
+
</ins><span class="cx"> 2014-06-14  Frédéric Wang  &lt;fred.wang@free.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Draw radicals with glyphs for better rendering
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/TestExpectations        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -67,6 +67,11 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/127860 [ Debug ] js/function-apply-aliased.html [ Skip ]
</span><span class="cx"> 
</span><ins>+# These tests verify dynamic manipulation of the mroot and msqrt elements.
+# Unfortunately, the current MathML code does not handle them well.
+webkit.org/b/119038 mathml/roots-addChild.html [ Skip ]
+webkit.org/b/119038 mathml/roots-removeChild.html [ Skip ]
+
</ins><span class="cx"> # This test verifies that a mismatch reftest will fail as intended if both results are same. (introduced in r93187)
</span><span class="cx"> fast/harness/sample-fail-mismatch-reftest.html [ WontFix ImageOnlyFailure ]
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlopentyperootsLatinModernhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/mathml/opentype/roots-LatinModern.html (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/opentype/roots-LatinModern.html        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/mathml/opentype/roots-LatinModern.html        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,80 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html&gt; 
-  &lt;head&gt;
-    &lt;title&gt;Roots Latin Modern&lt;/title&gt;
-    &lt;meta charset=&quot;utf-8&quot;/&gt;
-    &lt;style type=&quot;text/css&quot;&gt;
-      @font-face {
-      font-family: &quot;Latin Modern Math&quot;;
-      src: local(&quot;Latin Modern Math&quot;), local(&quot;LatinModernMath-Regular&quot;), url(&quot;latinmodern-math.woff&quot;);
-      }
-      math {
-      font-family: &quot;Latin Modern Math&quot;;
-      }      
-    &lt;/style&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-
-    &lt;!-- We test the rendering roots with the Latin Modern Math font --&gt;
-
-    &lt;!-- nested square roots of various sizes --&gt;
-    &lt;math display=&quot;block&quot;&gt;
-      &lt;mrow&gt;
-        &lt;msqrt&gt;
-          &lt;mn&gt;1&lt;/mn&gt;
-          &lt;mo&gt;+&lt;/mo&gt;
-          &lt;msqrt&gt;
-            &lt;mn&gt;1&lt;/mn&gt;
-            &lt;mo&gt;+&lt;/mo&gt;
-            &lt;msqrt&gt;
-              &lt;mn&gt;1&lt;/mn&gt;
-              &lt;mo&gt;+&lt;/mo&gt;
-              &lt;msqrt&gt;
-                &lt;mn&gt;1&lt;/mn&gt;
-                &lt;mo&gt;+&lt;/mo&gt;
-                &lt;msqrt&gt;
-                  &lt;mn&gt;1&lt;/mn&gt;
-                  &lt;mo&gt;+&lt;/mo&gt;
-                  &lt;msqrt&gt;
-                    &lt;mn&gt;1&lt;/mn&gt;
-                    &lt;mo&gt;+&lt;/mo&gt;
-                    &lt;msqrt&gt;
-                      &lt;mn&gt;1&lt;/mn&gt;
-                      &lt;mo&gt;+&lt;/mo&gt;
-                      &lt;mi&gt;x&lt;/mi&gt;
-                    &lt;/msqrt&gt;
-                  &lt;/msqrt&gt;
-                &lt;/msqrt&gt;
-              &lt;/msqrt&gt;
-            &lt;/msqrt&gt;
-          &lt;/msqrt&gt;
-        &lt;/msqrt&gt;
-      &lt;/mrow&gt;
-    &lt;/math&gt;
-
-    &lt;!-- mroot with short index --&gt;
-    &lt;math display=&quot;block&quot;&gt;
-      &lt;mroot&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;10px&quot; mathbackground=&quot;green&quot;/&gt;
-      &lt;/mroot&gt;
-      &lt;mroot&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;20px&quot; mathbackground=&quot;red&quot;/&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;5px&quot; mathbackground=&quot;blue&quot;/&gt;
-      &lt;/mroot&gt;
-    &lt;/math&gt;
-
-    &lt;!-- mroot with tall index --&gt;
-    &lt;math display=&quot;block&quot;&gt;
-      &lt;mroot&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;50px&quot; mathbackground=&quot;green&quot;/&gt;
-      &lt;/mroot&gt;
-      &lt;mroot&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;20px&quot; mathbackground=&quot;red&quot;/&gt;
-        &lt;mspace width=&quot;20px&quot; height=&quot;20px&quot; mathbackground=&quot;blue&quot;/&gt;
-      &lt;/mroot&gt;
-    &lt;/math&gt;
-
-  &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmroottransformexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;title&gt;mroot transform (bug 126516)&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-
-    &lt;div style=&quot;position: absolute; top: 0; left: 0;&quot;&gt;
-      &lt;svg&gt;
-        &lt;g transform=&quot;translate(200,0)&quot;&gt;
-          &lt;rect width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;/&gt;
-        &lt;/g&gt;
-      &lt;/svg&gt;
-    &lt;/div&gt;
-
-  &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmroottransformhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/mathml/presentation/mroot-transform.html (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mroot-transform.html        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/mathml/presentation/mroot-transform.html        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,33 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;title&gt;mroot transform (bug 126516)&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-
-    &lt;!-- This cubic root should be translated to the left... --&gt;
-    &lt;div style=&quot;position: absolute; top: 0; left: 0;&quot;&gt;
-      &lt;svg&gt;
-        &lt;g transform=&quot;translate(200,0)&quot;&gt;
-          &lt;switch&gt;
-            &lt;foreignObject width=&quot;100&quot; height=&quot;100&quot;&gt;
-              &lt;math&gt;
-                &lt;mroot&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;/mroot&gt;
-              &lt;/math&gt;
-            &lt;/foreignObject&gt;
-          &lt;/switch&gt;
-        &lt;/g&gt;
-      &lt;/svg&gt;
-    &lt;/div&gt;
-
-    &lt;!-- ... and thus hidden by this red rectangle. --&gt;
-    &lt;div style=&quot;position: absolute; top: 0; left: 0;&quot;&gt;
-      &lt;svg&gt;
-        &lt;g transform=&quot;translate(200,0)&quot;&gt;
-          &lt;rect width=&quot;100&quot; height=&quot;100&quot; fill=&quot;red&quot;/&gt;
-        &lt;/g&gt;
-      &lt;/svg&gt;
-    &lt;/div&gt;
-
-  &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/TestExpectations (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/TestExpectations        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/efl/TestExpectations        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1635,9 +1635,6 @@
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/opentype-stretchy-horizontal.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern-munderover.html [ Failure ]
</span><del>-webkit.org/b/119038 mathml/opentype/roots-LatinModern.html [ Failure ]
-webkit.org/b/119038 mathml/presentation/mo-stretch.html [ Failure ]
-webkit.org/b/119038 mathml/presentation/roots.xhtml [ Failure ]
</del><span class="cx"> 
</span><span class="cx"> # Failures EFL since the inception
</span><span class="cx"> webkit.org/b/133734 css3/viewport-percentage-lengths/viewport-percentage-lengths-anonymous-block.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformeflmathmlopentyperootsLatinModernexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,184 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x259
-  RenderBlock {HTML} at (0,0) size 800x260
-    RenderBody {BODY} at (8,8) size 784x236
-      RenderMathMLMath {math} at (0,0) size 784x53 [padding: 0 1 0 1]
-        RenderMathMLRow {mrow} at (232,0) size 320x53
-          RenderMathMLSquareRoot {msqrt} at (0,0) size 319x53
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x53
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x53
-                  RenderBlock (anonymous) at (0,0) size 13x53
-                    RenderText at (0,-56) size 13x106
-                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (17,2) size 302x51
-              RenderMathMLToken {mn} at (0,12) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-46) size 8x106
-                      text run at (0,-46) width 8: &quot;1&quot;
-              RenderMathMLOperator {mo} at (8,13) size 20x12
-                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                  RenderBlock (anonymous) at (0,0) size 12x12
-                    RenderText at (0,-47) size 12x106
-                      text run at (0,-47) width 12: &quot;+&quot;
-              RenderMathMLSquareRoot {msqrt} at (27,0) size 275x51
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x51
-                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x51
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x51
-                      RenderBlock (anonymous) at (0,0) size 13x51
-                        RenderText at (0,-56) size 13x106
-                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                RenderMathMLRootWrapper at (17,2) size 258x49
-                  RenderMathMLToken {mn} at (0,10) size 8x12
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                      RenderBlock (anonymous) at (0,0) size 8x12
-                        RenderText {#text} at (0,-46) size 8x106
-                          text run at (0,-46) width 8: &quot;1&quot;
-                  RenderMathMLOperator {mo} at (8,11) size 20x12
-                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                      RenderBlock (anonymous) at (0,0) size 12x12
-                        RenderText at (0,-47) size 12x106
-                          text run at (0,-47) width 12: &quot;+&quot;
-                  RenderMathMLSquareRoot {msqrt} at (27,0) size 231x49
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x49
-                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x49
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x48
-                          RenderBlock (anonymous) at (0,0) size 13x48
-                            RenderText at (0,-56) size 13x106
-                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                    RenderMathMLRootWrapper at (17,2) size 214x47
-                      RenderMathMLToken {mn} at (0,8) size 8x12
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                          RenderBlock (anonymous) at (0,0) size 8x12
-                            RenderText {#text} at (0,-46) size 8x106
-                              text run at (0,-46) width 8: &quot;1&quot;
-                      RenderMathMLOperator {mo} at (8,9) size 20x12
-                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                          RenderBlock (anonymous) at (0,0) size 12x12
-                            RenderText at (0,-47) size 12x106
-                              text run at (0,-47) width 12: &quot;+&quot;
-                      RenderMathMLSquareRoot {msqrt} at (27,0) size 187x41
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 17x41
-                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x41
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x40
-                              RenderBlock (anonymous) at (0,0) size 13x40
-                                RenderText at (0,-56) size 13x106
-                                  text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                        RenderMathMLRootWrapper at (17,2) size 169x39
-                          RenderMathMLToken {mn} at (0,6) size 8x12
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                              RenderBlock (anonymous) at (0,0) size 8x12
-                                RenderText {#text} at (0,-46) size 8x106
-                                  text run at (0,-46) width 8: &quot;1&quot;
-                          RenderMathMLOperator {mo} at (8,7) size 20x12
-                            RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                              RenderBlock (anonymous) at (0,0) size 12x12
-                                RenderText at (0,-47) size 12x106
-                                  text run at (0,-47) width 12: &quot;+&quot;
-                          RenderMathMLSquareRoot {msqrt} at (27,0) size 142x31
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x31
-                              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                                  RenderBlock (anonymous) at (0,0) size 13x30
-                                    RenderText at (0,-56) size 13x106
-                                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                            RenderMathMLRootWrapper at (17,2) size 125x29
-                              RenderMathMLToken {mn} at (0,4) size 8x12
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                  RenderBlock (anonymous) at (0,0) size 8x12
-                                    RenderText {#text} at (0,-46) size 8x106
-                                      text run at (0,-46) width 8: &quot;1&quot;
-                              RenderMathMLOperator {mo} at (8,5) size 20x12
-                                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                  RenderBlock (anonymous) at (0,0) size 12x12
-                                    RenderText at (0,-47) size 12x106
-                                      text run at (0,-47) width 12: &quot;+&quot;
-                              RenderMathMLSquareRoot {msqrt} at (27,0) size 98x21
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x21
-                                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x21
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x20
-                                      RenderBlock (anonymous) at (0,0) size 13x20
-                                        RenderText at (0,-56) size 13x106
-                                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                RenderMathMLRootWrapper at (17,2) size 81x19
-                                  RenderMathMLToken {mn} at (0,2) size 8x12
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                      RenderBlock (anonymous) at (0,0) size 8x12
-                                        RenderText {#text} at (0,-46) size 8x106
-                                          text run at (0,-46) width 8: &quot;1&quot;
-                                  RenderMathMLOperator {mo} at (8,3) size 20x12
-                                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                      RenderBlock (anonymous) at (0,0) size 12x12
-                                        RenderText at (0,-47) size 12x106
-                                          text run at (0,-47) width 12: &quot;+&quot;
-                                  RenderMathMLSquareRoot {msqrt} at (27,0) size 54x18
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x18
-                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x18
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x17
-                                          RenderBlock (anonymous) at (0,0) size 13x17
-                                            RenderText at (0,-56) size 13x106
-                                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                    RenderMathMLRootWrapper at (17,2) size 37x16
-                                      RenderMathMLToken {mn} at (0,0) size 8x12
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                          RenderBlock (anonymous) at (0,0) size 8x12
-                                            RenderText {#text} at (0,-46) size 8x106
-                                              text run at (0,-46) width 8: &quot;1&quot;
-                                      RenderMathMLOperator {mo} at (8,1) size 20x12
-                                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                          RenderBlock (anonymous) at (0,0) size 12x12
-                                            RenderText at (0,-47) size 12x106
-                                              text run at (0,-47) width 12: &quot;+&quot;
-                                      RenderMathMLToken {mi} at (27,4) size 10x8 [padding: 0 2 0 0]
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
-                                          RenderBlock (anonymous) at (0,0) size 8x8
-                                            RenderText {#text} at (0,-50) size 8x106
-                                              text run at (0,-50) width 8: &quot;x&quot;
-      RenderMathMLMath {math} at (0,68) size 784x62 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x53
-          RenderMathMLRootWrapper at (4,10) size 21x43
-            RenderMathMLSpace {mspace} at (0,0) size 20x10 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x53
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,30) size 53x31
-          RenderMathMLRootWrapper at (4,7) size 21x24
-            RenderMathMLSpace {mspace} at (0,0) size 20x5 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x31
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
-      RenderMathMLMath {math} at (0,145) size 784x91 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x82
-          RenderMathMLRootWrapper at (4,0) size 21x82
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x82
-            RenderMathMLRadicalOperator (anonymous) at (0,29) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,31) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,52) size 53x38
-          RenderMathMLRootWrapper at (4,0) size 21x38
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x38
-            RenderMathMLRadicalOperator (anonymous) at (0,8) size 17x30
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,9) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlopentyperootsLatinModernexpectedpng"></a>
<div class="binary"><h4>Deleted: trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlopentyperootsLatinModernexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,184 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x259
-  RenderBlock {HTML} at (0,0) size 800x260
-    RenderBody {BODY} at (8,8) size 784x236
-      RenderMathMLMath {math} at (0,0) size 784x53 [padding: 0 1 0 1]
-        RenderMathMLRow {mrow} at (232,0) size 320x53
-          RenderMathMLSquareRoot {msqrt} at (0,0) size 319x53
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x53
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x53
-                  RenderBlock (anonymous) at (0,0) size 13x53
-                    RenderText at (0,-56) size 13x106
-                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (17,2) size 302x51
-              RenderMathMLToken {mn} at (0,12) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-46) size 8x106
-                      text run at (0,-46) width 8: &quot;1&quot;
-              RenderMathMLOperator {mo} at (8,13) size 20x12
-                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                  RenderBlock (anonymous) at (0,0) size 12x12
-                    RenderText at (0,-47) size 12x106
-                      text run at (0,-47) width 12: &quot;+&quot;
-              RenderMathMLSquareRoot {msqrt} at (27,0) size 275x51
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x51
-                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x51
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x51
-                      RenderBlock (anonymous) at (0,0) size 13x51
-                        RenderText at (0,-56) size 13x106
-                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                RenderMathMLRootWrapper at (17,2) size 258x49
-                  RenderMathMLToken {mn} at (0,10) size 8x12
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                      RenderBlock (anonymous) at (0,0) size 8x12
-                        RenderText {#text} at (0,-46) size 8x106
-                          text run at (0,-46) width 8: &quot;1&quot;
-                  RenderMathMLOperator {mo} at (8,11) size 20x12
-                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                      RenderBlock (anonymous) at (0,0) size 12x12
-                        RenderText at (0,-47) size 12x106
-                          text run at (0,-47) width 12: &quot;+&quot;
-                  RenderMathMLSquareRoot {msqrt} at (27,0) size 231x49
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x49
-                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x49
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x48
-                          RenderBlock (anonymous) at (0,0) size 13x48
-                            RenderText at (0,-56) size 13x106
-                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                    RenderMathMLRootWrapper at (17,2) size 214x47
-                      RenderMathMLToken {mn} at (0,8) size 8x12
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                          RenderBlock (anonymous) at (0,0) size 8x12
-                            RenderText {#text} at (0,-46) size 8x106
-                              text run at (0,-46) width 8: &quot;1&quot;
-                      RenderMathMLOperator {mo} at (8,9) size 20x12
-                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                          RenderBlock (anonymous) at (0,0) size 12x12
-                            RenderText at (0,-47) size 12x106
-                              text run at (0,-47) width 12: &quot;+&quot;
-                      RenderMathMLSquareRoot {msqrt} at (27,0) size 187x41
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 17x41
-                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x41
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x40
-                              RenderBlock (anonymous) at (0,0) size 13x40
-                                RenderText at (0,-56) size 13x106
-                                  text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                        RenderMathMLRootWrapper at (17,2) size 169x39
-                          RenderMathMLToken {mn} at (0,6) size 8x12
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                              RenderBlock (anonymous) at (0,0) size 8x12
-                                RenderText {#text} at (0,-46) size 8x106
-                                  text run at (0,-46) width 8: &quot;1&quot;
-                          RenderMathMLOperator {mo} at (8,7) size 20x12
-                            RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                              RenderBlock (anonymous) at (0,0) size 12x12
-                                RenderText at (0,-47) size 12x106
-                                  text run at (0,-47) width 12: &quot;+&quot;
-                          RenderMathMLSquareRoot {msqrt} at (27,0) size 142x31
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x31
-                              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                                  RenderBlock (anonymous) at (0,0) size 13x30
-                                    RenderText at (0,-56) size 13x106
-                                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                            RenderMathMLRootWrapper at (17,2) size 125x29
-                              RenderMathMLToken {mn} at (0,4) size 8x12
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                  RenderBlock (anonymous) at (0,0) size 8x12
-                                    RenderText {#text} at (0,-46) size 8x106
-                                      text run at (0,-46) width 8: &quot;1&quot;
-                              RenderMathMLOperator {mo} at (8,5) size 20x12
-                                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                  RenderBlock (anonymous) at (0,0) size 12x12
-                                    RenderText at (0,-47) size 12x106
-                                      text run at (0,-47) width 12: &quot;+&quot;
-                              RenderMathMLSquareRoot {msqrt} at (27,0) size 98x21
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x21
-                                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x21
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x20
-                                      RenderBlock (anonymous) at (0,0) size 13x20
-                                        RenderText at (0,-56) size 13x106
-                                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                RenderMathMLRootWrapper at (17,2) size 81x19
-                                  RenderMathMLToken {mn} at (0,2) size 8x12
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                      RenderBlock (anonymous) at (0,0) size 8x12
-                                        RenderText {#text} at (0,-46) size 8x106
-                                          text run at (0,-46) width 8: &quot;1&quot;
-                                  RenderMathMLOperator {mo} at (8,3) size 20x12
-                                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                      RenderBlock (anonymous) at (0,0) size 12x12
-                                        RenderText at (0,-47) size 12x106
-                                          text run at (0,-47) width 12: &quot;+&quot;
-                                  RenderMathMLSquareRoot {msqrt} at (27,0) size 54x18
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x18
-                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x18
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x17
-                                          RenderBlock (anonymous) at (0,0) size 13x17
-                                            RenderText at (0,-56) size 13x106
-                                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                    RenderMathMLRootWrapper at (17,2) size 37x16
-                                      RenderMathMLToken {mn} at (0,0) size 8x12
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                          RenderBlock (anonymous) at (0,0) size 8x12
-                                            RenderText {#text} at (0,-46) size 8x106
-                                              text run at (0,-46) width 8: &quot;1&quot;
-                                      RenderMathMLOperator {mo} at (8,1) size 20x12
-                                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                          RenderBlock (anonymous) at (0,0) size 12x12
-                                            RenderText at (0,-47) size 12x106
-                                              text run at (0,-47) width 12: &quot;+&quot;
-                                      RenderMathMLToken {mi} at (27,4) size 10x8 [padding: 0 2 0 0]
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
-                                          RenderBlock (anonymous) at (0,0) size 8x8
-                                            RenderText {#text} at (0,-50) size 8x106
-                                              text run at (0,-50) width 8: &quot;x&quot;
-      RenderMathMLMath {math} at (0,68) size 784x62 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x53
-          RenderMathMLRootWrapper at (4,10) size 21x43
-            RenderMathMLSpace {mspace} at (0,0) size 20x10 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x53
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,30) size 53x31
-          RenderMathMLRootWrapper at (4,7) size 21x24
-            RenderMathMLSpace {mspace} at (0,0) size 20x5 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x31
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
-      RenderMathMLMath {math} at (0,145) size 784x91 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x82
-          RenderMathMLRootWrapper at (4,0) size 21x82
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x82
-            RenderMathMLRadicalOperator (anonymous) at (0,29) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,31) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,52) size 53x38
-          RenderMathMLRootWrapper at (4,0) size 21x38
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x38
-            RenderMathMLRadicalOperator (anonymous) at (0,8) size 17x30
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,9) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlpresentationmostretchexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderView at (0,0) size 800x600
</span><del>-layer at (0,0) size 800x259
-  RenderBlock {HTML} at (0,0) size 800x259
-    RenderBody {BODY} at (8,8) size 784x243
</del><ins>+layer at (0,0) size 800x260
+  RenderBlock {HTML} at (0,0) size 800x260
+    RenderBody {BODY} at (8,8) size 784x244
</ins><span class="cx">       RenderMathMLMath {math} at (0,0) size 126x24 [padding: 0 1 0 1]
</span><span class="cx">         RenderMathMLRow {mrow} at (1,0) size 124x24
</span><span class="cx">           RenderMathMLOperator {mo} at (0,5) size 7x14
</span><span class="lines">@@ -305,14 +305,8 @@
</span><span class="cx">         text run at (383,85) width 5: &quot; &quot;
</span><span class="cx">       RenderBR {BR} at (0,0) size 0x0
</span><span class="cx">       RenderMathMLMath {math} at (0,166) size 138x78 [padding: 0 1 0 1]
</span><del>-        RenderMathMLSquareRoot {msqrt} at (1,0) size 136x78
-          RenderMathMLBlock (anonymous, flex) at (0,0) size 12x78
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x78
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 12x78
-                RenderBlock (anonymous) at (0,0) size 12x78
-                  RenderText at (0,-1) size 15x25
-                    text run at (0,-1) width 15: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (12,3) size 124x75
</del><ins>+        RenderMathMLSquareRoot {msqrt} at (1,0) size 136x78 [intrinsic padding: 3 0 3 12]
+          RenderMathMLRow (anonymous) at (12,3) size 124x72
</ins><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 7x72
</span><span class="cx">               RenderMathMLBlock (anonymous, flex) at (0,0) size 7x14
</span><span class="cx">                 RenderBlock (anonymous) at (0,0) size 5x14
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlpresentationrootsexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlpresentationrootsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,37 +1,25 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderView at (0,0) size 800x600
</span><del>-layer at (0,0) size 800x506
-  RenderBlock {html} at (0,0) size 800x506
-    RenderBody {body} at (8,16) size 784x474
-      RenderBlock {p} at (0,0) size 784x18
-        RenderText {#text} at (0,1) size 177x17
-          text run at (0,1) width 177: &quot;square root (should be red): &quot;
-        RenderMathMLMath {math} at (177,0) size 22x18 [padding: 0 1 0 1]
-          RenderMathMLSquareRoot {msqrt} at (1,0) size 20x18 [color=#FF0000]
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x18
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                  RenderBlock (anonymous) at (0,0) size 12x18
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 8x15
</del><ins>+layer at (0,0) size 800x512
+  RenderBlock {html} at (0,0) size 800x512
+    RenderBody {body} at (8,16) size 784x480
+      RenderBlock {p} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 177x17
+          text run at (0,0) width 177: &quot;square root (should be red): &quot;
+        RenderMathMLMath {math} at (177,0) size 22x15 [padding: 0 1 0 1]
+          RenderMathMLSquareRoot {msqrt} at (1,0) size 20x15 [color=#FF0000] [intrinsic padding: 3 0 0 12]
+            RenderMathMLRow (anonymous) at (12,3) size 8x12
</ins><span class="cx">               RenderMathMLToken {mn} at (0,0) size 8x12
</span><span class="cx">                 RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                     RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                       text run at (0,-6) width 8: &quot;2&quot;
</span><del>-      RenderBlock {p} at (0,34) size 784x18
-        RenderText {#text} at (0,1) size 110x17
-          text run at (0,1) width 110: &quot;long square root: &quot;
-        RenderMathMLMath {math} at (110,0) size 49x18 [padding: 0 1 0 1]
-          RenderMathMLSquareRoot {msqrt} at (1,0) size 47x18
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x18
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                  RenderBlock (anonymous) at (0,0) size 12x18
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 35x15
</del><ins>+      RenderBlock {p} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 110x17
+          text run at (0,0) width 110: &quot;long square root: &quot;
+        RenderMathMLMath {math} at (110,0) size 49x15 [padding: 0 1 0 1]
+          RenderMathMLSquareRoot {msqrt} at (1,0) size 47x15 [intrinsic padding: 3 0 0 12]
+            RenderMathMLRow (anonymous) at (12,3) size 35x12
</ins><span class="cx">               RenderMathMLRow {mrow} at (0,0) size 35x12
</span><span class="cx">                 RenderMathMLToken {mi} at (0,3) size 9x9 [padding: 0 2 0 0]
</span><span class="cx">                   RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
</span><span class="lines">@@ -48,18 +36,12 @@
</span><span class="cx">                     RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                       RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                         text run at (0,-6) width 8: &quot;1&quot;
</span><del>-      RenderBlock {p} at (0,68) size 784x22
-        RenderText {#text} at (0,5) size 222x17
-          text run at (0,5) width 222: &quot;long square root with implied row: &quot;
-        RenderMathMLMath {math} at (222,0) size 55x22 [padding: 0 1 0 1]
-          RenderMathMLSquareRoot {msqrt} at (1,0) size 53x22
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x22
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x22
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x22
-                  RenderBlock (anonymous) at (0,0) size 12x22
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 41x19
</del><ins>+      RenderBlock {p} at (0,66) size 784x21
+        RenderText {#text} at (0,4) size 222x17
+          text run at (0,4) width 222: &quot;long square root with implied row: &quot;
+        RenderMathMLMath {math} at (222,0) size 55x19 [padding: 0 1 0 1]
+          RenderMathMLSquareRoot {msqrt} at (1,0) size 53x19 [intrinsic padding: 3 0 0 12]
+            RenderMathMLRow (anonymous) at (12,3) size 41x16
</ins><span class="cx">               RenderMathMLScripts {msup} at (0,0) size 15x16
</span><span class="cx">                 Base Wrapper at (0,0) size 9x16 [padding: 7 0 0 0]
</span><span class="cx">                   RenderMathMLToken {mi} at (0,7) size 9x9 [padding: 0 2 0 0]
</span><span class="lines">@@ -83,18 +65,12 @@
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                     RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                       text run at (0,-6) width 8: &quot;1&quot;
</span><del>-      RenderBlock {p} at (0,106) size 784x37
-        RenderText {#text} at (0,10) size 113x17
-          text run at (0,10) width 113: &quot;root of a fraction: &quot;
</del><ins>+      RenderBlock {p} at (0,103) size 784x37
+        RenderText {#text} at (0,9) size 113x17
+          text run at (0,9) width 113: &quot;root of a fraction: &quot;
</ins><span class="cx">         RenderMathMLMath {math} at (113,0) size 51x38 [padding: 0 1 0 1]
</span><del>-          RenderMathMLSquareRoot {msqrt} at (1,0) size 49x38
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x38
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x38
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x37
-                  RenderBlock (anonymous) at (0,0) size 12x37
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 37x35
</del><ins>+          RenderMathMLSquareRoot {msqrt} at (1,0) size 49x38 [intrinsic padding: 3 0 3 12]
+            RenderMathMLRow (anonymous) at (12,3) size 37x32
</ins><span class="cx">               RenderMathMLFraction {mfrac} at (1,0) size 35x32
</span><span class="cx">                 RenderMathMLBlock (anonymous, flex) at (0,0) size 35x16
</span><span class="cx">                   RenderMathMLRow {mrow} at (0,0) size 35x12
</span><span class="lines">@@ -130,551 +106,443 @@
</span><span class="cx">                         RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                           RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                             text run at (0,-6) width 8: &quot;2&quot;
</span><del>-      RenderBlock {p} at (0,159) size 784x18
-        RenderText {#text} at (0,1) size 173x17
-          text run at (0,1) width 173: &quot;cube root (should be blue): &quot;
</del><ins>+      RenderBlock {p} at (0,156) size 784x21
+        RenderText {#text} at (0,4) size 173x17
+          text run at (0,4) width 173: &quot;cube root (should be blue): &quot;
</ins><span class="cx">         RenderMathMLMath {math} at (173,0) size 23x19 [color=#0000FF] [padding: 0 1 0 1]
</span><del>-          RenderMathMLRoot {mroot} at (1,0) size 21x19
-            RenderMathMLRootWrapper at (4,0) size 6x19
-              RenderMathMLToken {mn} at (0,0) size 5x8
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                  RenderBlock (anonymous) at (0,0) size 5x8
-                    RenderText {#text} at (0,-3) size 5x15
-                      text run at (0,-3) width 5: &quot;3&quot;
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x19
-              RenderMathMLRadicalOperator (anonymous) at (0,1) size 12x18
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                  RenderBlock (anonymous) at (0,0) size 12x18
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,4) size 9x15
-              RenderMathMLToken {mn} at (0,0) size 8x12
</del><ins>+      RenderBlock {p} at (0,193) size 784x21
+        RenderText {#text} at (0,4) size 75x17
+          text run at (0,4) width 75: &quot;long index: &quot;
+        RenderMathMLMath {math} at (75,0) size 62x19 [padding: 0 1 0 1]
+      RenderBlock {p} at (0,230) size 784x37
+        RenderText {#text} at (0,9) size 185x17
+          text run at (0,9) width 185: &quot;long index w/ complex base: &quot;
+        RenderMathMLMath {math} at (185,0) size 92x38 [padding: 0 1 0 1]
+      RenderBlock {p} at (0,283) size 784x46
+        RenderText {#text} at (0,29) size 75x17
+          text run at (0,29) width 75: &quot;high index: &quot;
+        RenderMathMLMath {math} at (75,0) size 25x44 [padding: 0 1 0 1]
+      RenderBlock {p} at (0,345) size 784x45
+        RenderText {#text} at (0,21) size 155x17
+          text run at (0,21) width 155: &quot;Imbricated square roots: &quot;
+        RenderMathMLMath {math} at (155,0) size 293x45 [padding: 0 1 0 1]
+          RenderMathMLSquareRoot {msqrt} at (1,0) size 291x45 [intrinsic padding: 3 0 3 12]
+            RenderMathMLRow (anonymous) at (12,3) size 279x39
+              RenderMathMLToken {mn} at (0,21) size 8x12
</ins><span class="cx">                 RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                     RenderText {#text} at (0,-6) size 8x25
</span><del>-                      text run at (0,-6) width 8: &quot;2&quot;
-      RenderBlock {p} at (0,193) size 784x18
-        RenderText {#text} at (0,1) size 75x17
-          text run at (0,1) width 75: &quot;long index: &quot;
-        RenderMathMLMath {math} at (75,0) size 53x18 [padding: 0 1 0 1]
-          RenderMathMLRoot {mroot} at (1,0) size 51x18
-            RenderMathMLRootWrapper at (4,0) size 36x18
-              RenderMathMLRow {mrow} at (0,0) size 35x7
-                RenderMathMLToken {mi} at (0,1) size 5x5 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                    RenderBlock (anonymous) at (0,0) size 4x5
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;x&quot;
-                RenderMathMLOperator {mo} at (4,0) size 11x6
-                  RenderMathMLBlock (anonymous, flex) at (2,0) size 6x6
-                    RenderBlock (anonymous) at (0,0) size 6x6
-                      RenderText at (0,-5) size 6x15
-                        text run at (0,-5) width 6: &quot;+&quot;
-                RenderMathMLToken {mi} at (14,1) size 6x6 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                    RenderBlock (anonymous) at (0,0) size 4x6
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;y&quot;
-                RenderMathMLOperator {mo} at (19,0) size 11x6
-                  RenderMathMLBlock (anonymous, flex) at (2,0) size 6x6
-                    RenderBlock (anonymous) at (0,0) size 6x6
-                      RenderText at (0,-5) size 6x15
-                        text run at (0,-5) width 6: &quot;+&quot;
-                RenderMathMLToken {mi} at (29,1) size 6x5 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                    RenderBlock (anonymous) at (0,0) size 4x5
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;z&quot;
-            RenderMathMLBlock (anonymous, flex) at (30,0) size 13x18
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x18
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                  RenderBlock (anonymous) at (0,0) size 12x18
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (42,3) size 9x15
-              RenderMathMLToken {mn} at (0,0) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-6) size 8x25
-                      text run at (0,-6) width 8: &quot;2&quot;
-      RenderBlock {p} at (0,227) size 784x37
-        RenderText {#text} at (0,10) size 185x17
-          text run at (0,10) width 185: &quot;long index w/ complex base: &quot;
-        RenderMathMLMath {math} at (185,0) size 81x38 [padding: 0 1 0 1]
-          RenderMathMLRoot {mroot} at (1,0) size 79x38
-            RenderMathMLRootWrapper at (4,8) size 36x30
-              RenderMathMLRow {mrow} at (0,0) size 35x7
-                RenderMathMLToken {mi} at (0,1) size 5x5 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                    RenderBlock (anonymous) at (0,0) size 4x5
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;x&quot;
-                RenderMathMLOperator {mo} at (4,0) size 11x6
-                  RenderMathMLBlock (anonymous, flex) at (2,0) size 6x6
-                    RenderBlock (anonymous) at (0,0) size 6x6
-                      RenderText at (0,-5) size 6x15
-                        text run at (0,-5) width 6: &quot;+&quot;
-                RenderMathMLToken {mi} at (14,1) size 6x6 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                    RenderBlock (anonymous) at (0,0) size 4x6
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;y&quot;
-                RenderMathMLOperator {mo} at (19,0) size 11x6
-                  RenderMathMLBlock (anonymous, flex) at (2,0) size 6x6
-                    RenderBlock (anonymous) at (0,0) size 6x6
-                      RenderText at (0,-5) size 6x15
-                        text run at (0,-5) width 6: &quot;+&quot;
-                RenderMathMLToken {mi} at (29,1) size 6x5 [padding: 0 1 0 0]
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                    RenderBlock (anonymous) at (0,0) size 4x5
-                      RenderText {#text} at (0,-6) size 4x15
-                        text run at (0,-6) width 4: &quot;z&quot;
-            RenderMathMLBlock (anonymous, flex) at (30,0) size 13x38
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x38
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x37
-                  RenderBlock (anonymous) at (0,0) size 12x37
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (42,3) size 37x35
-              RenderMathMLFraction {mfrac} at (1,0) size 35x32
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 35x16
-                  RenderMathMLRow {mrow} at (0,0) size 35x12
-                    RenderMathMLToken {mi} at (0,3) size 9x9 [padding: 0 2 0 0]
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                        RenderBlock (anonymous) at (0,0) size 7x9
-                          RenderText {#text} at (0,-9) size 7x25
-                            text run at (0,-9) width 7: &quot;x&quot;
-                    RenderMathMLOperator {mo} at (8,2) size 19x10
-                      RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                        RenderBlock (anonymous) at (0,0) size 11x10
-                          RenderText at (0,-8) size 11x25
-                            text run at (0,-8) width 11: &quot;+&quot;
-                    RenderMathMLToken {mn} at (26,0) size 9x12
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                        RenderBlock (anonymous) at (0,0) size 8x12
-                          RenderText {#text} at (0,-6) size 8x25
-                            text run at (0,-6) width 8: &quot;1&quot;
-                RenderMathMLBlock (anonymous, flex) at (0,15) size 35x17 [padding: 1 0 0 0]
-                  RenderMathMLRow {mrow} at (0,4) size 35x13
-                    RenderMathMLToken {mi} at (0,3) size 9x9 [padding: 0 2 0 0]
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
-                        RenderBlock (anonymous) at (0,0) size 7x9
-                          RenderText {#text} at (0,-9) size 7x25
-                            text run at (0,-9) width 7: &quot;x&quot;
-                    RenderMathMLOperator {mo} at (8,2) size 19x10
-                      RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                        RenderBlock (anonymous) at (0,0) size 11x10
-                          RenderText at (0,-8) size 11x25
-                            text run at (0,-8) width 11: &quot;+&quot;
-                    RenderMathMLToken {mn} at (26,0) size 9x12
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                        RenderBlock (anonymous) at (0,0) size 8x12
-                          RenderText {#text} at (0,-6) size 8x25
-                            text run at (0,-6) width 8: &quot;2&quot;
-      RenderBlock {p} at (0,280) size 784x35
-        RenderText {#text} at (0,18) size 75x17
-          text run at (0,18) width 75: &quot;high index: &quot;
-        RenderMathMLMath {math} at (75,0) size 27x36 [padding: 0 1 0 1]
-          RenderMathMLRoot {mroot} at (1,0) size 25x36
-            RenderMathMLRootWrapper at (4,0) size 10x36
-              RenderMathMLFraction {mfrac} at (1,0) size 7x26
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 7x18
-                  RenderMathMLFraction {mfrac} at (1,0) size 5x16
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
-                      RenderMathMLToken {mi} at (0,0) size 5x5 [padding: 0 1 0 0]
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                          RenderBlock (anonymous) at (0,0) size 4x5
-                            RenderText {#text} at (0,-6) size 4x15
-                              text run at (0,-6) width 4: &quot;x&quot;
-                    RenderMathMLBlock (anonymous, flex) at (0,6) size 5x10 [padding: 1 0 0 0]
-                      RenderMathMLToken {mi} at (0,2) size 5x7 [padding: 0 1 0 0]
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                          RenderBlock (anonymous) at (0,0) size 4x6
-                            RenderText {#text} at (0,-6) size 4x15
-                              text run at (0,-6) width 4: &quot;y&quot;
-                RenderMathMLBlock (anonymous, flex) at (0,17) size 7x9 [padding: 1 0 0 0]
-                  RenderMathMLToken {mi} at (1,2) size 5x6 [padding: 0 1 0 0]
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                      RenderBlock (anonymous) at (0,0) size 4x5
-                        RenderText {#text} at (0,-6) size 4x15
-                          text run at (0,-6) width 4: &quot;z&quot;
-            RenderMathMLBlock (anonymous, flex) at (4,0) size 13x36
-              RenderMathMLRadicalOperator (anonymous) at (0,18) size 12x18
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                  RenderBlock (anonymous) at (0,0) size 12x18
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (16,21) size 9x15
-              RenderMathMLToken {mn} at (0,0) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-6) size 8x25
-                      text run at (0,-6) width 8: &quot;2&quot;
-      RenderBlock {p} at (0,331) size 784x59
-        RenderText {#text} at (0,29) size 155x17
-          text run at (0,29) width 155: &quot;Imbricated square roots: &quot;
-        RenderMathMLMath {math} at (155,0) size 293x60 [padding: 0 1 0 1]
-          RenderMathMLSquareRoot {msqrt} at (1,0) size 291x60
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x60
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x60
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x60
-                  RenderBlock (anonymous) at (0,0) size 12x60
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 279x57
-              RenderMathMLToken {mn} at (0,28) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-6) size 8x25
</del><span class="cx">                       text run at (0,-6) width 8: &quot;1&quot;
</span><del>-              RenderMathMLOperator {mo} at (8,30) size 19x10
</del><ins>+              RenderMathMLOperator {mo} at (8,23) size 19x10
</ins><span class="cx">                 RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                     RenderText at (0,-8) size 11x25
</span><span class="cx">                       text run at (0,-8) width 11: &quot;+&quot;
</span><del>-              RenderMathMLSquareRoot {msqrt} at (26,0) size 253x54
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x54
-                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x54
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 12x54
-                      RenderBlock (anonymous) at (0,0) size 12x54
-                        RenderText at (0,-1) size 15x25
-                          text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                RenderMathMLRootWrapper at (12,3) size 241x51
-                  RenderMathMLRow {mrow} at (0,0) size 241x48
-                    RenderMathMLToken {mn} at (0,24) size 8x12
</del><ins>+              RenderMathMLSquareRoot {msqrt} at (26,0) size 253x39 [intrinsic padding: 3 0 3 12]
+                RenderMathMLRow (anonymous) at (12,3) size 241x33
+                  RenderMathMLRow {mrow} at (0,0) size 241x33
+                    RenderMathMLToken {mn} at (0,18) size 8x12
</ins><span class="cx">                       RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                         RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                           RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                             text run at (0,-6) width 8: &quot;2&quot;
</span><del>-                    RenderMathMLOperator {mo} at (8,26) size 19x10
</del><ins>+                    RenderMathMLOperator {mo} at (8,20) size 19x10
</ins><span class="cx">                       RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                         RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                           RenderText at (0,-8) size 11x25
</span><span class="cx">                             text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                    RenderMathMLSquareRoot {msqrt} at (26,0) size 215x48
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 12x48
-                        RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x48
-                          RenderMathMLBlock (anonymous, flex) at (0,0) size 12x48
-                            RenderBlock (anonymous) at (0,0) size 12x48
-                              RenderText at (0,-1) size 15x25
-                                text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                      RenderMathMLRootWrapper at (12,3) size 203x45
-                        RenderMathMLRow {mrow} at (0,0) size 203x42
-                          RenderMathMLToken {mn} at (0,20) size 8x12
</del><ins>+                    RenderMathMLSquareRoot {msqrt} at (26,0) size 215x33 [intrinsic padding: 3 0 3 12]
+                      RenderMathMLRow (anonymous) at (12,3) size 203x27
+                        RenderMathMLRow {mrow} at (0,0) size 203x27
+                          RenderMathMLToken {mn} at (0,15) size 8x12
</ins><span class="cx">                             RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                               RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                                 RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                                   text run at (0,-6) width 8: &quot;3&quot;
</span><del>-                          RenderMathMLOperator {mo} at (8,22) size 19x10
</del><ins>+                          RenderMathMLOperator {mo} at (8,17) size 19x10
</ins><span class="cx">                             RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                               RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                                 RenderText at (0,-8) size 11x25
</span><span class="cx">                                   text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                          RenderMathMLSquareRoot {msqrt} at (26,0) size 177x42
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x42
-                              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x42
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x42
-                                  RenderBlock (anonymous) at (0,0) size 12x42
-                                    RenderText at (0,-1) size 15x25
-                                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                            RenderMathMLRootWrapper at (12,3) size 164x39
-                              RenderMathMLRow {mrow} at (0,0) size 164x36
-                                RenderMathMLToken {mn} at (0,16) size 8x12
</del><ins>+                          RenderMathMLSquareRoot {msqrt} at (26,0) size 177x27 [intrinsic padding: 3 0 0 12]
+                            RenderMathMLRow (anonymous) at (12,3) size 164x24
+                              RenderMathMLRow {mrow} at (0,0) size 164x24
+                                RenderMathMLToken {mn} at (0,12) size 8x12
</ins><span class="cx">                                   RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                                     RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                                       RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                                         text run at (0,-6) width 8: &quot;4&quot;
</span><del>-                                RenderMathMLOperator {mo} at (8,18) size 19x10
</del><ins>+                                RenderMathMLOperator {mo} at (8,14) size 19x10
</ins><span class="cx">                                   RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                                     RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                                       RenderText at (0,-8) size 11x25
</span><span class="cx">                                         text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                                RenderMathMLSquareRoot {msqrt} at (26,0) size 138x36
-                                  RenderMathMLBlock (anonymous, flex) at (0,0) size 12x36
-                                    RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x36
-                                      RenderMathMLBlock (anonymous, flex) at (0,0) size 12x36
-                                        RenderBlock (anonymous) at (0,0) size 12x36
-                                          RenderText at (0,-1) size 15x25
-                                            text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                  RenderMathMLRootWrapper at (12,3) size 126x33
-                                    RenderMathMLRow {mrow} at (0,0) size 126x30
-                                      RenderMathMLToken {mn} at (0,11) size 8x13
</del><ins>+                                RenderMathMLSquareRoot {msqrt} at (26,0) size 138x24 [intrinsic padding: 3 0 0 12]
+                                  RenderMathMLRow (anonymous) at (12,3) size 126x21
+                                    RenderMathMLRow {mrow} at (0,0) size 126x21
+                                      RenderMathMLToken {mn} at (0,8) size 8x13
</ins><span class="cx">                                         RenderMathMLBlock (anonymous, flex) at (0,0) size 8x13
</span><span class="cx">                                           RenderBlock (anonymous) at (0,0) size 8x13
</span><span class="cx">                                             RenderText {#text} at (0,-5) size 8x25
</span><span class="cx">                                               text run at (0,-5) width 8: &quot;5&quot;
</span><del>-                                      RenderMathMLOperator {mo} at (8,14) size 19x10
</del><ins>+                                      RenderMathMLOperator {mo} at (8,11) size 19x10
</ins><span class="cx">                                         RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                                           RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                                             RenderText at (0,-8) size 11x25
</span><span class="cx">                                               text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                                      RenderMathMLSquareRoot {msqrt} at (26,0) size 100x30
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 12x30
-                                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x30
-                                            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x30
-                                              RenderBlock (anonymous) at (0,0) size 12x30
-                                                RenderText at (0,-1) size 15x25
-                                                  text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                        RenderMathMLRootWrapper at (12,3) size 88x27
-                                          RenderMathMLRow {mrow} at (0,0) size 88x24
-                                            RenderMathMLToken {mn} at (0,8) size 8x12
</del><ins>+                                      RenderMathMLSquareRoot {msqrt} at (26,0) size 100x21 [intrinsic padding: 3 0 0 12]
+                                        RenderMathMLRow (anonymous) at (12,3) size 88x18
+                                          RenderMathMLRow {mrow} at (0,0) size 88x18
+                                            RenderMathMLToken {mn} at (0,6) size 8x12
</ins><span class="cx">                                               RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                                                 RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                                                   RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                                                     text run at (0,-6) width 8: &quot;6&quot;
</span><del>-                                            RenderMathMLOperator {mo} at (8,10) size 19x10
</del><ins>+                                            RenderMathMLOperator {mo} at (8,8) size 19x10
</ins><span class="cx">                                               RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                                                 RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                                                   RenderText at (0,-8) size 11x25
</span><span class="cx">                                                     text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                                            RenderMathMLSquareRoot {msqrt} at (26,0) size 62x24
-                                              RenderMathMLBlock (anonymous, flex) at (0,0) size 12x24
-                                                RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x24
-                                                  RenderMathMLBlock (anonymous, flex) at (0,0) size 12x24
-                                                    RenderBlock (anonymous) at (0,0) size 12x24
-                                                      RenderText at (0,-1) size 15x25
-                                                        text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                              RenderMathMLRootWrapper at (12,3) size 50x21
-                                                RenderMathMLRow {mrow} at (0,0) size 50x18
-                                                  RenderMathMLToken {mn} at (0,4) size 8x12
</del><ins>+                                            RenderMathMLSquareRoot {msqrt} at (26,0) size 62x18 [intrinsic padding: 3 0 0 12]
+                                              RenderMathMLRow (anonymous) at (12,3) size 50x15
+                                                RenderMathMLRow {mrow} at (0,0) size 50x15
+                                                  RenderMathMLToken {mn} at (0,3) size 8x12
</ins><span class="cx">                                                     RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
</span><span class="cx">                                                       RenderBlock (anonymous) at (0,0) size 8x12
</span><span class="cx">                                                         RenderText {#text} at (0,-6) size 8x25
</span><span class="cx">                                                           text run at (0,-6) width 8: &quot;7&quot;
</span><del>-                                                  RenderMathMLOperator {mo} at (8,6) size 19x10
</del><ins>+                                                  RenderMathMLOperator {mo} at (8,5) size 19x10
</ins><span class="cx">                                                     RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
</span><span class="cx">                                                       RenderBlock (anonymous) at (0,0) size 11x10
</span><span class="cx">                                                         RenderText at (0,-8) size 11x25
</span><span class="cx">                                                           text run at (0,-8) width 11: &quot;+&quot;
</span><del>-                                                  RenderMathMLSquareRoot {msqrt} at (26,0) size 24x18
-                                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x18
-                                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                                                          RenderBlock (anonymous) at (0,0) size 12x18
-                                                            RenderText at (0,-1) size 15x25
-                                                              text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                                    RenderMathMLRootWrapper at (12,3) size 12x15
</del><ins>+                                                  RenderMathMLSquareRoot {msqrt} at (26,0) size 24x15 [intrinsic padding: 3 0 0 12]
+                                                    RenderMathMLRow (anonymous) at (12,3) size 12x12
</ins><span class="cx">                                                       RenderMathMLToken {mi} at (0,0) size 12x12 [padding: 0 2 0 0]
</span><span class="cx">                                                         RenderMathMLBlock (anonymous, flex) at (0,0) size 10x12
</span><span class="cx">                                                           RenderBlock (anonymous) at (0,0) size 10x12
</span><span class="cx">                                                             RenderText {#text} at (0,-6) size 10x25
</span><span class="cx">                                                               text run at (0,-6) width 10: &quot;A&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {p} at (0,406) size 784x68
</del><ins>+      RenderBlock {p} at (0,406) size 784x74
</ins><span class="cx">         RenderText {#text} at (0,38) size 110x17
</span><span class="cx">           text run at (0,38) width 110: &quot;Imbricated roots: &quot;
</span><del>-        RenderMathMLMath {math} at (110,0) size 314x69 [padding: 0 1 0 1]
-          RenderMathMLRoot {mroot} at (1,0) size 312x69
-            RenderMathMLRootWrapper at (4,19) size 6x50
-              RenderMathMLToken {mn} at (0,0) size 5x8
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                  RenderBlock (anonymous) at (0,0) size 5x8
-                    RenderText {#text} at (0,-3) size 5x15
-                      text run at (0,-3) width 5: &quot;3&quot;
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x69
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x69
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 12x68
-                  RenderBlock (anonymous) at (0,0) size 12x68
-                    RenderText at (0,-1) size 15x25
-                      text run at (0,-1) width 15: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (12,3) size 300x66
-              RenderMathMLRow {mrow} at (0,0) size 299x63
-                RenderMathMLToken {mn} at (0,37) size 8x12
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                    RenderBlock (anonymous) at (0,0) size 8x12
-                      RenderText {#text} at (0,-6) size 8x25
-                        text run at (0,-6) width 8: &quot;1&quot;
-                RenderMathMLOperator {mo} at (8,39) size 19x10
-                  RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                    RenderBlock (anonymous) at (0,0) size 11x10
-                      RenderText at (0,-8) size 11x25
-                        text run at (0,-8) width 11: &quot;+&quot;
-                RenderMathMLRoot {mroot} at (26,0) size 273x63
-                  RenderMathMLRootWrapper at (4,17) size 6x46
-                    RenderMathMLToken {mn} at (0,0) size 5x8
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                        RenderBlock (anonymous) at (0,0) size 5x8
-                          RenderText {#text} at (0,-3) size 5x15
-                            text run at (0,-3) width 5: &quot;4&quot;
-                  RenderMathMLBlock (anonymous, flex) at (0,0) size 13x63
-                    RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x63
-                      RenderMathMLBlock (anonymous, flex) at (0,0) size 12x63
-                        RenderBlock (anonymous) at (0,0) size 12x63
-                          RenderText at (0,-1) size 15x25
-                            text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                  RenderMathMLRootWrapper at (12,3) size 261x60
-                    RenderMathMLRow {mrow} at (0,0) size 261x57
-                      RenderMathMLToken {mn} at (0,33) size 8x12
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                          RenderBlock (anonymous) at (0,0) size 8x12
-                            RenderText {#text} at (0,-6) size 8x25
-                              text run at (0,-6) width 8: &quot;2&quot;
-                      RenderMathMLOperator {mo} at (8,35) size 19x10
-                        RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                          RenderBlock (anonymous) at (0,0) size 11x10
-                            RenderText at (0,-8) size 11x25
-                              text run at (0,-8) width 11: &quot;+&quot;
-                      RenderMathMLRoot {mroot} at (26,0) size 235x57
-                        RenderMathMLRootWrapper at (4,15) size 6x42
-                          RenderMathMLToken {mn} at (0,0) size 5x8
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                              RenderBlock (anonymous) at (0,0) size 5x8
-                                RenderText {#text} at (0,-3) size 5x15
-                                  text run at (0,-3) width 5: &quot;5&quot;
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x57
-                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x57
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 12x57
-                              RenderBlock (anonymous) at (0,0) size 12x57
-                                RenderText at (0,-1) size 15x25
-                                  text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                        RenderMathMLRootWrapper at (12,3) size 223x54
-                          RenderMathMLRow {mrow} at (0,0) size 222x51
-                            RenderMathMLToken {mn} at (0,29) size 8x12
-                              RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                RenderBlock (anonymous) at (0,0) size 8x12
-                                  RenderText {#text} at (0,-6) size 8x25
-                                    text run at (0,-6) width 8: &quot;3&quot;
-                            RenderMathMLOperator {mo} at (8,31) size 19x10
-                              RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                                RenderBlock (anonymous) at (0,0) size 11x10
-                                  RenderText at (0,-8) size 11x25
-                                    text run at (0,-8) width 11: &quot;+&quot;
-                            RenderMathMLRoot {mroot} at (26,0) size 196x51
-                              RenderMathMLRootWrapper at (4,12) size 6x39
-                                RenderMathMLToken {mn} at (0,0) size 5x8
-                                  RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                                    RenderBlock (anonymous) at (0,0) size 5x8
-                                      RenderText {#text} at (0,-3) size 5x15
-                                        text run at (0,-3) width 5: &quot;6&quot;
-                              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x51
-                                RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x51
-                                  RenderMathMLBlock (anonymous, flex) at (0,0) size 12x51
-                                    RenderBlock (anonymous) at (0,0) size 12x51
-                                      RenderText at (0,-1) size 15x25
-                                        text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                              RenderMathMLRootWrapper at (12,3) size 184x48
-                                RenderMathMLRow {mrow} at (0,0) size 183x45
-                                  RenderMathMLToken {mn} at (0,25) size 8x12
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                      RenderBlock (anonymous) at (0,0) size 8x12
-                                        RenderText {#text} at (0,-6) size 8x25
-                                          text run at (0,-6) width 8: &quot;4&quot;
-                                  RenderMathMLOperator {mo} at (8,27) size 19x10
-                                    RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                                      RenderBlock (anonymous) at (0,0) size 11x10
-                                        RenderText at (0,-8) size 11x25
-                                          text run at (0,-8) width 11: &quot;+&quot;
-                                  RenderMathMLRoot {mroot} at (26,0) size 157x45
-                                    RenderMathMLRootWrapper at (4,11) size 6x34
-                                      RenderMathMLToken {mn} at (0,0) size 5x7
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
-                                          RenderBlock (anonymous) at (0,0) size 5x7
-                                            RenderText {#text} at (0,-4) size 5x15
-                                              text run at (0,-4) width 5: &quot;7&quot;
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x45
-                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x45
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 12x45
-                                          RenderBlock (anonymous) at (0,0) size 12x45
-                                            RenderText at (0,-1) size 15x25
-                                              text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                    RenderMathMLRootWrapper at (12,3) size 145x42
-                                      RenderMathMLRow {mrow} at (0,0) size 145x39
-                                        RenderMathMLToken {mn} at (0,20) size 8x13
-                                          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x13
-                                            RenderBlock (anonymous) at (0,0) size 8x13
-                                              RenderText {#text} at (0,-5) size 8x25
-                                                text run at (0,-5) width 8: &quot;5&quot;
-                                        RenderMathMLOperator {mo} at (8,23) size 19x10
-                                          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                                            RenderBlock (anonymous) at (0,0) size 11x10
-                                              RenderText at (0,-8) size 11x25
-                                                text run at (0,-8) width 11: &quot;+&quot;
-                                        RenderMathMLRoot {mroot} at (26,0) size 119x39
-                                          RenderMathMLRootWrapper at (4,8) size 6x31
-                                            RenderMathMLToken {mn} at (0,0) size 5x8
-                                              RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                                                RenderBlock (anonymous) at (0,0) size 5x8
-                                                  RenderText {#text} at (0,-3) size 5x15
-                                                    text run at (0,-3) width 5: &quot;8&quot;
-                                          RenderMathMLBlock (anonymous, flex) at (0,0) size 13x39
-                                            RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x39
-                                              RenderMathMLBlock (anonymous, flex) at (0,0) size 12x39
-                                                RenderBlock (anonymous) at (0,0) size 12x39
-                                                  RenderText at (0,-1) size 15x25
-                                                    text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                          RenderMathMLRootWrapper at (12,3) size 107x36
-                                            RenderMathMLRow {mrow} at (0,0) size 106x33
-                                              RenderMathMLToken {mn} at (0,17) size 8x12
-                                                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                                  RenderBlock (anonymous) at (0,0) size 8x12
-                                                    RenderText {#text} at (0,-6) size 8x25
-                                                      text run at (0,-6) width 8: &quot;6&quot;
-                                              RenderMathMLOperator {mo} at (8,19) size 19x10
-                                                RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                                                  RenderBlock (anonymous) at (0,0) size 11x10
-                                                    RenderText at (0,-8) size 11x25
-                                                      text run at (0,-8) width 11: &quot;+&quot;
-                                              RenderMathMLRoot {mroot} at (26,0) size 80x33
-                                                RenderMathMLRootWrapper at (4,5) size 6x28
-                                                  RenderMathMLToken {mn} at (0,0) size 5x8
-                                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 5x8
-                                                      RenderBlock (anonymous) at (0,0) size 5x8
-                                                        RenderText {#text} at (0,-3) size 5x15
-                                                          text run at (0,-3) width 5: &quot;9&quot;
-                                                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x33
-                                                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 12x33
-                                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 12x33
-                                                      RenderBlock (anonymous) at (0,0) size 12x33
-                                                        RenderText at (0,-1) size 15x25
-                                                          text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                                RenderMathMLRootWrapper at (12,3) size 68x30
-                                                  RenderMathMLRow {mrow} at (0,0) size 68x27
-                                                    RenderMathMLToken {mn} at (0,13) size 8x12
-                                                      RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                                        RenderBlock (anonymous) at (0,0) size 8x12
-                                                          RenderText {#text} at (0,-6) size 8x25
-                                                            text run at (0,-6) width 8: &quot;7&quot;
-                                                    RenderMathMLOperator {mo} at (8,15) size 19x10
-                                                      RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
-                                                        RenderBlock (anonymous) at (0,0) size 11x10
-                                                          RenderText at (0,-8) size 11x25
-                                                            text run at (0,-8) width 11: &quot;+&quot;
-                                                    RenderMathMLRoot {mroot} at (26,0) size 42x27
-                                                      RenderMathMLRootWrapper at (4,0) size 23x27
-                                                        RenderMathMLFraction {mfrac} at (1,0) size 20x17
-                                                          RenderMathMLBlock (anonymous, flex) at (0,0) size 20x9
-                                                            RenderMathMLRow {mrow} at (0,0) size 20x7
-                                                              RenderMathMLToken {mi} at (0,1) size 5x5 [padding: 0 1 0 0]
-                                                                RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                                                                  RenderBlock (anonymous) at (0,0) size 4x5
-                                                                    RenderText {#text} at (0,-6) size 4x15
-                                                                      text run at (0,-6) width 4: &quot;x&quot;
-                                                              RenderMathMLOperator {mo} at (4,0) size 11x6
-                                                                RenderMathMLBlock (anonymous, flex) at (2,0) size 6x6
-                                                                  RenderBlock (anonymous) at (0,0) size 6x6
-                                                                    RenderText at (0,-5) size 6x15
-                                                                      text run at (0,-5) width 6: &quot;+&quot;
-                                                              RenderMathMLToken {mi} at (14,1) size 6x6 [padding: 0 1 0 0]
-                                                                RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
-                                                                  RenderBlock (anonymous) at (0,0) size 4x6
-                                                                    RenderText {#text} at (0,-6) size 4x15
-                                                                      text run at (0,-6) width 4: &quot;y&quot;
-                                                          RenderMathMLBlock (anonymous, flex) at (0,8) size 20x9 [padding: 1 0 0 0]
-                                                            RenderMathMLToken {mi} at (7,2) size 6x6 [padding: 0 1 0 0]
-                                                              RenderMathMLBlock (anonymous, flex) at (0,0) size 4x5
-                                                                RenderBlock (anonymous) at (0,0) size 4x5
-                                                                  RenderText {#text} at (0,-6) size 4x15
-                                                                    text run at (0,-6) width 4: &quot;z&quot;
-                                                      RenderMathMLBlock (anonymous, flex) at (17,0) size 13x27
-                                                        RenderMathMLRadicalOperator (anonymous) at (0,9) size 12x18
-                                                          RenderMathMLBlock (anonymous, flex) at (0,0) size 12x18
-                                                            RenderBlock (anonymous) at (0,0) size 12x18
-                                                              RenderText at (0,-1) size 15x25
-                                                                text run at (0,-1) width 15: &quot;\x{221A}&quot;
-                                                      RenderMathMLRootWrapper at (29,12) size 12x15
-                                                        RenderMathMLToken {mi} at (0,0) size 12x12 [padding: 0 2 0 0]
-                                                          RenderMathMLBlock (anonymous, flex) at (0,0) size 10x12
-                                                            RenderBlock (anonymous) at (0,0) size 10x12
-                                                              RenderText {#text} at (0,-6) size 10x25
-                                                                text run at (0,-6) width 10: &quot;A&quot;
</del><ins>+        RenderMathMLMath {math} at (110,0) size 355x74 [padding: 0 1 0 1]
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><ins>+layer at (182,172) size 21x19
+  RenderMathMLRoot {mroot} at (1,0) size 21x19 [intrinsic padding: 7 0 0 13]
+    RenderMathMLRow (anonymous) at (13,7) size 8x12
+      RenderMathMLToken {mn} at (0,0) size 8x12
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+          RenderBlock (anonymous) at (0,0) size 8x12
+            RenderText {#text} at (0,-6) size 8x25
+              text run at (0,-6) width 8: &quot;2&quot;
+layer at (182,172) size 13x14
+  RenderMathMLToken {mn} at (0,0) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;3&quot;
+layer at (84,209) size 60x19
+  RenderMathMLRoot {mroot} at (1,0) size 60x19 [intrinsic padding: 7 0 0 52]
+    RenderMathMLRow (anonymous) at (52,7) size 8x12
+      RenderMathMLToken {mn} at (0,0) size 8x12
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+          RenderBlock (anonymous) at (0,0) size 8x12
+            RenderText {#text} at (0,-6) size 8x25
+              text run at (0,-6) width 8: &quot;2&quot;
+layer at (84,209) size 52x14
+  RenderMathMLRow {mrow} at (0,0) size 53x15 [padding: 0 5 4 2]
+    RenderMathMLToken {mi} at (2,1) size 7x7 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+        RenderBlock (anonymous) at (0,0) size 5x7
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;x&quot;
+    RenderMathMLOperator {mo} at (8,0) size 14x8
+      RenderMathMLBlock (anonymous, flex) at (2,0) size 9x8
+        RenderBlock (anonymous) at (0,0) size 8x8
+          RenderText at (0,-6) size 8x19
+            text run at (0,-6) width 8: &quot;+&quot;
+    RenderMathMLToken {mi} at (21,1) size 8x9 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x9
+        RenderBlock (anonymous) at (0,0) size 5x9
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;y&quot;
+    RenderMathMLOperator {mo} at (28,0) size 14x8
+      RenderMathMLBlock (anonymous, flex) at (2,0) size 9x8
+        RenderBlock (anonymous) at (0,0) size 8x8
+          RenderText at (0,-6) size 8x19
+            text run at (0,-6) width 8: &quot;+&quot;
+    RenderMathMLToken {mi} at (41,1) size 7x7 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+        RenderBlock (anonymous) at (0,0) size 5x7
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;z&quot;
+layer at (194,246) size 90x37
+  RenderMathMLRoot {mroot} at (1,0) size 90x38 [intrinsic padding: 3 0 3 53]
+    RenderMathMLRow (anonymous) at (53,3) size 37x32
+      RenderMathMLFraction {mfrac} at (1,0) size 35x32
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 35x16
+          RenderMathMLRow {mrow} at (0,0) size 35x12
+            RenderMathMLToken {mi} at (0,3) size 9x9 [padding: 0 2 0 0]
+              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
+                RenderBlock (anonymous) at (0,0) size 7x9
+                  RenderText {#text} at (0,-9) size 7x25
+                    text run at (0,-9) width 7: &quot;x&quot;
+            RenderMathMLOperator {mo} at (8,2) size 19x10
+              RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+                RenderBlock (anonymous) at (0,0) size 11x10
+                  RenderText at (0,-8) size 11x25
+                    text run at (0,-8) width 11: &quot;+&quot;
+            RenderMathMLToken {mn} at (26,0) size 9x12
+              RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+                RenderBlock (anonymous) at (0,0) size 8x12
+                  RenderText {#text} at (0,-6) size 8x25
+                    text run at (0,-6) width 8: &quot;1&quot;
+        RenderMathMLBlock (anonymous, flex) at (0,15) size 35x17 [padding: 1 0 0 0]
+          RenderMathMLRow {mrow} at (0,4) size 35x13
+            RenderMathMLToken {mi} at (0,3) size 9x9 [padding: 0 2 0 0]
+              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x9
+                RenderBlock (anonymous) at (0,0) size 7x9
+                  RenderText {#text} at (0,-9) size 7x25
+                    text run at (0,-9) width 7: &quot;x&quot;
+            RenderMathMLOperator {mo} at (8,2) size 19x10
+              RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+                RenderBlock (anonymous) at (0,0) size 11x10
+                  RenderText at (0,-8) size 11x25
+                    text run at (0,-8) width 11: &quot;+&quot;
+            RenderMathMLToken {mn} at (26,0) size 9x12
+              RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+                RenderBlock (anonymous) at (0,0) size 8x12
+                  RenderText {#text} at (0,-6) size 8x25
+                    text run at (0,-6) width 8: &quot;2&quot;
+layer at (194,254) size 52x14
+  RenderMathMLRow {mrow} at (0,8) size 53x15 [padding: 0 5 4 2]
+    RenderMathMLToken {mi} at (2,1) size 7x7 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+        RenderBlock (anonymous) at (0,0) size 5x7
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;x&quot;
+    RenderMathMLOperator {mo} at (8,0) size 14x8
+      RenderMathMLBlock (anonymous, flex) at (2,0) size 9x8
+        RenderBlock (anonymous) at (0,0) size 8x8
+          RenderText at (0,-6) size 8x19
+            text run at (0,-6) width 8: &quot;+&quot;
+    RenderMathMLToken {mi} at (21,1) size 8x9 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x9
+        RenderBlock (anonymous) at (0,0) size 5x9
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;y&quot;
+    RenderMathMLOperator {mo} at (28,0) size 14x8
+      RenderMathMLBlock (anonymous, flex) at (2,0) size 9x8
+        RenderBlock (anonymous) at (0,0) size 8x8
+          RenderText at (0,-6) size 8x19
+            text run at (0,-6) width 8: &quot;+&quot;
+    RenderMathMLToken {mi} at (41,1) size 7x7 [padding: 0 1 0 0]
+      RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+        RenderBlock (anonymous) at (0,0) size 5x7
+          RenderText {#text} at (0,-7) size 5x19
+            text run at (0,-7) width 5: &quot;z&quot;
+layer at (84,299) size 23x44
+  RenderMathMLRoot {mroot} at (1,0) size 23x44 [intrinsic padding: 32 0 0 15]
+    RenderMathMLRow (anonymous) at (15,32) size 8x12
+      RenderMathMLToken {mn} at (0,0) size 8x12
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+          RenderBlock (anonymous) at (0,0) size 8x12
+            RenderText {#text} at (0,-6) size 8x25
+              text run at (0,-6) width 8: &quot;2&quot;
+layer at (85,299) size 15x39
+  RenderMathMLFraction {mfrac} at (1,0) size 16x39 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 9x25
+      RenderMathMLFraction {mfrac} at (1,0) size 7x22
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 7x10
+          RenderMathMLToken {mi} at (0,0) size 7x7 [padding: 0 1 0 0]
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+              RenderBlock (anonymous) at (0,0) size 5x7
+                RenderText {#text} at (0,-7) size 5x19
+                  text run at (0,-7) width 5: &quot;x&quot;
+        RenderMathMLBlock (anonymous, flex) at (0,9) size 7x13 [padding: 1 0 0 0]
+          RenderMathMLToken {mi} at (0,3) size 7x10 [padding: 0 1 0 0]
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 5x9
+              RenderBlock (anonymous) at (0,0) size 5x9
+                RenderText {#text} at (0,-7) size 5x19
+                  text run at (0,-7) width 5: &quot;y&quot;
+    RenderMathMLBlock (anonymous, flex) at (2,24) size 9x11 [padding: 1 0 0 0]
+      RenderMathMLToken {mi} at (1,3) size 7x8 [padding: 0 1 0 0]
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+          RenderBlock (anonymous) at (0,0) size 5x7
+            RenderText {#text} at (0,-7) size 5x19
+              text run at (0,-7) width 5: &quot;z&quot;
+layer at (119,422) size 352x74
+  RenderMathMLRoot {mroot} at (1,0) size 353x74 [intrinsic padding: 3 0 3 19]
+    RenderMathMLRow (anonymous) at (19,3) size 334x68
+      RenderMathMLRow {mrow} at (0,0) size 334x68
+        RenderMathMLToken {mn} at (0,38) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;1&quot;
+        RenderMathMLOperator {mo} at (8,40) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (164,425) size 307x68
+  RenderMathMLRoot {mroot} at (26,0) size 308x68 [intrinsic padding: 3 0 3 19]
+    RenderMathMLRow (anonymous) at (19,3) size 289x62
+      RenderMathMLRow {mrow} at (0,0) size 289x62
+        RenderMathMLToken {mn} at (0,35) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;2&quot;
+        RenderMathMLOperator {mo} at (8,37) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (209,428) size 262x62
+  RenderMathMLRoot {mroot} at (26,0) size 263x62 [intrinsic padding: 3 0 3 19]
+    RenderMathMLRow (anonymous) at (19,3) size 244x56
+      RenderMathMLRow {mrow} at (0,0) size 244x56
+        RenderMathMLToken {mn} at (0,32) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;3&quot;
+        RenderMathMLOperator {mo} at (8,34) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (254,431) size 217x56
+  RenderMathMLRoot {mroot} at (26,0) size 218x56 [intrinsic padding: 3 0 3 19]
+    RenderMathMLRow (anonymous) at (19,3) size 198x50
+      RenderMathMLRow {mrow} at (0,0) size 198x50
+        RenderMathMLToken {mn} at (0,29) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;4&quot;
+        RenderMathMLOperator {mo} at (8,31) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (299,434) size 172x50
+  RenderMathMLRoot {mroot} at (26,0) size 172x50 [intrinsic padding: 3 0 3 18]
+    RenderMathMLRow (anonymous) at (18,3) size 154x44
+      RenderMathMLRow {mrow} at (0,0) size 154x44
+        RenderMathMLToken {mn} at (0,25) size 8x13
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x13
+            RenderBlock (anonymous) at (0,0) size 8x13
+              RenderText {#text} at (0,-5) size 8x25
+                text run at (0,-5) width 8: &quot;5&quot;
+        RenderMathMLOperator {mo} at (8,28) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (343,437) size 128x44
+  RenderMathMLRoot {mroot} at (26,0) size 128x44 [intrinsic padding: 3 0 3 16]
+    RenderMathMLRow (anonymous) at (16,3) size 112x38
+      RenderMathMLRow {mrow} at (0,0) size 112x38
+        RenderMathMLToken {mn} at (0,23) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;6&quot;
+        RenderMathMLOperator {mo} at (8,25) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (386,440) size 86x38
+  RenderMathMLRoot {mroot} at (26,0) size 86x38 [intrinsic padding: 3 0 3 15]
+    RenderMathMLRow (anonymous) at (15,3) size 71x32
+      RenderMathMLRow {mrow} at (0,0) size 71x32
+        RenderMathMLToken {mn} at (0,20) size 8x12
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
+            RenderBlock (anonymous) at (0,0) size 8x12
+              RenderText {#text} at (0,-6) size 8x25
+                text run at (0,-6) width 8: &quot;7&quot;
+        RenderMathMLOperator {mo} at (8,22) size 19x10
+          RenderMathMLBlock (anonymous, flex) at (3,0) size 12x10
+            RenderBlock (anonymous) at (0,0) size 11x10
+              RenderText at (0,-8) size 11x25
+                text run at (0,-8) width 11: &quot;+&quot;
+layer at (427,443) size 45x32
+  RenderMathMLRoot {mroot} at (26,0) size 45x32 [intrinsic padding: 20 0 0 33]
+    RenderMathMLRow (anonymous) at (33,20) size 12x12
+      RenderMathMLToken {mi} at (0,0) size 12x12 [padding: 0 2 0 0]
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 10x12
+          RenderBlock (anonymous) at (0,0) size 10x12
+            RenderText {#text} at (0,-6) size 10x25
+              text run at (0,-6) width 10: &quot;A&quot;
+layer at (428,443) size 33x27
+  RenderMathMLFraction {mfrac} at (1,0) size 33x27 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 27x13
+      RenderMathMLRow {mrow} at (0,0) size 26x10
+        RenderMathMLToken {mi} at (0,1) size 7x7 [padding: 0 1 0 0]
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+            RenderBlock (anonymous) at (0,0) size 5x7
+              RenderText {#text} at (0,-7) size 5x19
+                text run at (0,-7) width 5: &quot;x&quot;
+        RenderMathMLOperator {mo} at (6,0) size 14x8
+          RenderMathMLBlock (anonymous, flex) at (2,0) size 9x8
+            RenderBlock (anonymous) at (0,0) size 8x8
+              RenderText at (0,-6) size 8x19
+                text run at (0,-6) width 8: &quot;+&quot;
+        RenderMathMLToken {mi} at (19,1) size 7x9 [padding: 0 1 0 0]
+          RenderMathMLBlock (anonymous, flex) at (0,0) size 5x9
+            RenderBlock (anonymous) at (0,0) size 5x9
+              RenderText {#text} at (0,-7) size 5x19
+                text run at (0,-7) width 5: &quot;y&quot;
+    RenderMathMLBlock (anonymous, flex) at (2,12) size 27x11 [padding: 1 0 0 0]
+      RenderMathMLToken {mi} at (9,3) size 7x8 [padding: 0 1 0 0]
+        RenderMathMLBlock (anonymous, flex) at (0,0) size 5x7
+          RenderBlock (anonymous) at (0,0) size 5x7
+            RenderText {#text} at (0,-7) size 5x19
+              text run at (0,-7) width 5: &quot;z&quot;
+layer at (386,449) size 13x14
+  RenderMathMLToken {mn} at (0,9) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;9&quot;
+layer at (343,450) size 13x14
+  RenderMathMLToken {mn} at (0,13) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;8&quot;
+layer at (299,451) size 13x13
+  RenderMathMLToken {mn} at (0,17) size 14x14 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x9
+      RenderBlock (anonymous) at (0,0) size 6x9
+        RenderText {#text} at (0,-5) size 6x19
+          text run at (0,-5) width 6: &quot;7&quot;
+layer at (254,451) size 13x14
+  RenderMathMLToken {mn} at (0,20) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;6&quot;
+layer at (209,452) size 13x14
+  RenderMathMLToken {mn} at (0,24) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;5&quot;
+layer at (164,453) size 13x14
+  RenderMathMLToken {mn} at (0,28) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;4&quot;
+layer at (119,453) size 13x14
+  RenderMathMLToken {mn} at (0,31) size 14x15 [padding: 0 5 4 2]
+    RenderMathMLBlock (anonymous, flex) at (2,0) size 7x10
+      RenderBlock (anonymous) at (0,0) size 6x10
+        RenderText {#text} at (0,-4) size 6x19
+          text run at (0,-4) width 6: &quot;3&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1325,12 +1325,7 @@
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/opentype-stretchy-horizontal.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern-munderover.html [ Failure ]
</span><del>-webkit.org/b/119038 mathml/opentype/roots-LatinModern.html [ Failure ]
</del><span class="cx"> 
</span><del>-# Missing references
-webkit.org/b/119038 mathml/presentation/mo-stretch.html [ Failure ]
-webkit.org/b/119038 mathml/presentation/roots.xhtml [ Failure ]
-
</del><span class="cx"> # WebKitDataCue is supported, not DataCue
</span><span class="cx"> media/track/track-datacue.html [ Skip ]
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmathmlopentyperootsLatinModernexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,184 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x259
-  RenderBlock {HTML} at (0,0) size 800x260
-    RenderBody {BODY} at (8,8) size 784x236
-      RenderMathMLMath {math} at (0,0) size 784x53 [padding: 0 1 0 1]
-        RenderMathMLRow {mrow} at (232,0) size 320x53
-          RenderMathMLSquareRoot {msqrt} at (0,0) size 319x53
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x53
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x53
-                  RenderBlock (anonymous) at (0,0) size 13x53
-                    RenderText at (0,-56) size 13x106
-                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (17,2) size 302x51
-              RenderMathMLToken {mn} at (0,12) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-46) size 8x106
-                      text run at (0,-46) width 8: &quot;1&quot;
-              RenderMathMLOperator {mo} at (8,13) size 20x12
-                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                  RenderBlock (anonymous) at (0,0) size 12x12
-                    RenderText at (0,-47) size 12x106
-                      text run at (0,-47) width 12: &quot;+&quot;
-              RenderMathMLSquareRoot {msqrt} at (27,0) size 275x51
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x51
-                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x51
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x51
-                      RenderBlock (anonymous) at (0,0) size 13x51
-                        RenderText at (0,-56) size 13x106
-                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                RenderMathMLRootWrapper at (17,2) size 258x49
-                  RenderMathMLToken {mn} at (0,10) size 8x12
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                      RenderBlock (anonymous) at (0,0) size 8x12
-                        RenderText {#text} at (0,-46) size 8x106
-                          text run at (0,-46) width 8: &quot;1&quot;
-                  RenderMathMLOperator {mo} at (8,11) size 20x12
-                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                      RenderBlock (anonymous) at (0,0) size 12x12
-                        RenderText at (0,-47) size 12x106
-                          text run at (0,-47) width 12: &quot;+&quot;
-                  RenderMathMLSquareRoot {msqrt} at (27,0) size 231x49
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x49
-                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x49
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x48
-                          RenderBlock (anonymous) at (0,0) size 13x48
-                            RenderText at (0,-56) size 13x106
-                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                    RenderMathMLRootWrapper at (17,2) size 214x47
-                      RenderMathMLToken {mn} at (0,8) size 8x12
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                          RenderBlock (anonymous) at (0,0) size 8x12
-                            RenderText {#text} at (0,-46) size 8x106
-                              text run at (0,-46) width 8: &quot;1&quot;
-                      RenderMathMLOperator {mo} at (8,9) size 20x12
-                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                          RenderBlock (anonymous) at (0,0) size 12x12
-                            RenderText at (0,-47) size 12x106
-                              text run at (0,-47) width 12: &quot;+&quot;
-                      RenderMathMLSquareRoot {msqrt} at (27,0) size 187x41
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 17x41
-                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x41
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x40
-                              RenderBlock (anonymous) at (0,0) size 13x40
-                                RenderText at (0,-56) size 13x106
-                                  text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                        RenderMathMLRootWrapper at (17,2) size 169x39
-                          RenderMathMLToken {mn} at (0,6) size 8x12
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                              RenderBlock (anonymous) at (0,0) size 8x12
-                                RenderText {#text} at (0,-46) size 8x106
-                                  text run at (0,-46) width 8: &quot;1&quot;
-                          RenderMathMLOperator {mo} at (8,7) size 20x12
-                            RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                              RenderBlock (anonymous) at (0,0) size 12x12
-                                RenderText at (0,-47) size 12x106
-                                  text run at (0,-47) width 12: &quot;+&quot;
-                          RenderMathMLSquareRoot {msqrt} at (27,0) size 142x31
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x31
-                              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                                  RenderBlock (anonymous) at (0,0) size 13x30
-                                    RenderText at (0,-56) size 13x106
-                                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                            RenderMathMLRootWrapper at (17,2) size 125x29
-                              RenderMathMLToken {mn} at (0,4) size 8x12
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                  RenderBlock (anonymous) at (0,0) size 8x12
-                                    RenderText {#text} at (0,-46) size 8x106
-                                      text run at (0,-46) width 8: &quot;1&quot;
-                              RenderMathMLOperator {mo} at (8,5) size 20x12
-                                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                  RenderBlock (anonymous) at (0,0) size 12x12
-                                    RenderText at (0,-47) size 12x106
-                                      text run at (0,-47) width 12: &quot;+&quot;
-                              RenderMathMLSquareRoot {msqrt} at (27,0) size 98x21
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x21
-                                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x21
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x20
-                                      RenderBlock (anonymous) at (0,0) size 13x20
-                                        RenderText at (0,-56) size 13x106
-                                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                RenderMathMLRootWrapper at (17,2) size 81x19
-                                  RenderMathMLToken {mn} at (0,2) size 8x12
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                      RenderBlock (anonymous) at (0,0) size 8x12
-                                        RenderText {#text} at (0,-46) size 8x106
-                                          text run at (0,-46) width 8: &quot;1&quot;
-                                  RenderMathMLOperator {mo} at (8,3) size 20x12
-                                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                      RenderBlock (anonymous) at (0,0) size 12x12
-                                        RenderText at (0,-47) size 12x106
-                                          text run at (0,-47) width 12: &quot;+&quot;
-                                  RenderMathMLSquareRoot {msqrt} at (27,0) size 54x18
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x18
-                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x18
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x17
-                                          RenderBlock (anonymous) at (0,0) size 13x17
-                                            RenderText at (0,-56) size 13x106
-                                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                    RenderMathMLRootWrapper at (17,2) size 37x16
-                                      RenderMathMLToken {mn} at (0,0) size 8x12
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                          RenderBlock (anonymous) at (0,0) size 8x12
-                                            RenderText {#text} at (0,-46) size 8x106
-                                              text run at (0,-46) width 8: &quot;1&quot;
-                                      RenderMathMLOperator {mo} at (8,1) size 20x12
-                                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                          RenderBlock (anonymous) at (0,0) size 12x12
-                                            RenderText at (0,-47) size 12x106
-                                              text run at (0,-47) width 12: &quot;+&quot;
-                                      RenderMathMLToken {mi} at (27,4) size 10x8 [padding: 0 2 0 0]
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
-                                          RenderBlock (anonymous) at (0,0) size 8x8
-                                            RenderText {#text} at (0,-50) size 8x106
-                                              text run at (0,-50) width 8: &quot;x&quot;
-      RenderMathMLMath {math} at (0,68) size 784x62 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x53
-          RenderMathMLRootWrapper at (4,10) size 21x43
-            RenderMathMLSpace {mspace} at (0,0) size 20x10 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x53
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,30) size 53x31
-          RenderMathMLRootWrapper at (4,7) size 21x24
-            RenderMathMLSpace {mspace} at (0,0) size 20x5 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x31
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
-      RenderMathMLMath {math} at (0,145) size 784x91 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x82
-          RenderMathMLRootWrapper at (4,0) size 21x82
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x82
-            RenderMathMLRadicalOperator (anonymous) at (0,29) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,31) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,52) size 53x38
-          RenderMathMLRootWrapper at (4,0) size 21x38
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x38
-            RenderMathMLRadicalOperator (anonymous) at (0,8) size 17x30
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,9) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/win/TestExpectations        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -2818,6 +2818,3 @@
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/opentype-stretchy-horizontal.html [ Failure ]
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-LatinModern-munderover.html [ Failure ]
</span><del>-webkit.org/b/119038 mathml/opentype/roots-LatinModern.html [ Failure ]
-webkit.org/b/119038 mathml/presentation/mo-stretch.html [ Failure ]
-webkit.org/b/119038 mathml/presentation/roots.xhtml [ Failure ]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformwinmathmlopentyperootsLatinModernexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,184 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x259
-  RenderBlock {HTML} at (0,0) size 800x260
-    RenderBody {BODY} at (8,8) size 784x236
-      RenderMathMLMath {math} at (0,0) size 784x53 [padding: 0 1 0 1]
-        RenderMathMLRow {mrow} at (232,0) size 320x53
-          RenderMathMLSquareRoot {msqrt} at (0,0) size 319x53
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x53
-              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x53
-                  RenderBlock (anonymous) at (0,0) size 13x53
-                    RenderText at (0,-56) size 13x106
-                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-            RenderMathMLRootWrapper at (17,2) size 302x51
-              RenderMathMLToken {mn} at (0,12) size 8x12
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                  RenderBlock (anonymous) at (0,0) size 8x12
-                    RenderText {#text} at (0,-46) size 8x106
-                      text run at (0,-46) width 8: &quot;1&quot;
-              RenderMathMLOperator {mo} at (8,13) size 20x12
-                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                  RenderBlock (anonymous) at (0,0) size 12x12
-                    RenderText at (0,-47) size 12x106
-                      text run at (0,-47) width 12: &quot;+&quot;
-              RenderMathMLSquareRoot {msqrt} at (27,0) size 275x51
-                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x51
-                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x51
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x51
-                      RenderBlock (anonymous) at (0,0) size 13x51
-                        RenderText at (0,-56) size 13x106
-                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                RenderMathMLRootWrapper at (17,2) size 258x49
-                  RenderMathMLToken {mn} at (0,10) size 8x12
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                      RenderBlock (anonymous) at (0,0) size 8x12
-                        RenderText {#text} at (0,-46) size 8x106
-                          text run at (0,-46) width 8: &quot;1&quot;
-                  RenderMathMLOperator {mo} at (8,11) size 20x12
-                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                      RenderBlock (anonymous) at (0,0) size 12x12
-                        RenderText at (0,-47) size 12x106
-                          text run at (0,-47) width 12: &quot;+&quot;
-                  RenderMathMLSquareRoot {msqrt} at (27,0) size 231x49
-                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x49
-                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x49
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x48
-                          RenderBlock (anonymous) at (0,0) size 13x48
-                            RenderText at (0,-56) size 13x106
-                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                    RenderMathMLRootWrapper at (17,2) size 214x47
-                      RenderMathMLToken {mn} at (0,8) size 8x12
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                          RenderBlock (anonymous) at (0,0) size 8x12
-                            RenderText {#text} at (0,-46) size 8x106
-                              text run at (0,-46) width 8: &quot;1&quot;
-                      RenderMathMLOperator {mo} at (8,9) size 20x12
-                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                          RenderBlock (anonymous) at (0,0) size 12x12
-                            RenderText at (0,-47) size 12x106
-                              text run at (0,-47) width 12: &quot;+&quot;
-                      RenderMathMLSquareRoot {msqrt} at (27,0) size 187x41
-                        RenderMathMLBlock (anonymous, flex) at (0,0) size 17x41
-                          RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x41
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 13x40
-                              RenderBlock (anonymous) at (0,0) size 13x40
-                                RenderText at (0,-56) size 13x106
-                                  text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                        RenderMathMLRootWrapper at (17,2) size 169x39
-                          RenderMathMLToken {mn} at (0,6) size 8x12
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                              RenderBlock (anonymous) at (0,0) size 8x12
-                                RenderText {#text} at (0,-46) size 8x106
-                                  text run at (0,-46) width 8: &quot;1&quot;
-                          RenderMathMLOperator {mo} at (8,7) size 20x12
-                            RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                              RenderBlock (anonymous) at (0,0) size 12x12
-                                RenderText at (0,-47) size 12x106
-                                  text run at (0,-47) width 12: &quot;+&quot;
-                          RenderMathMLSquareRoot {msqrt} at (27,0) size 142x31
-                            RenderMathMLBlock (anonymous, flex) at (0,0) size 17x31
-                              RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                                  RenderBlock (anonymous) at (0,0) size 13x30
-                                    RenderText at (0,-56) size 13x106
-                                      text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                            RenderMathMLRootWrapper at (17,2) size 125x29
-                              RenderMathMLToken {mn} at (0,4) size 8x12
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                  RenderBlock (anonymous) at (0,0) size 8x12
-                                    RenderText {#text} at (0,-46) size 8x106
-                                      text run at (0,-46) width 8: &quot;1&quot;
-                              RenderMathMLOperator {mo} at (8,5) size 20x12
-                                RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                  RenderBlock (anonymous) at (0,0) size 12x12
-                                    RenderText at (0,-47) size 12x106
-                                      text run at (0,-47) width 12: &quot;+&quot;
-                              RenderMathMLSquareRoot {msqrt} at (27,0) size 98x21
-                                RenderMathMLBlock (anonymous, flex) at (0,0) size 17x21
-                                  RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x21
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 13x20
-                                      RenderBlock (anonymous) at (0,0) size 13x20
-                                        RenderText at (0,-56) size 13x106
-                                          text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                RenderMathMLRootWrapper at (17,2) size 81x19
-                                  RenderMathMLToken {mn} at (0,2) size 8x12
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                      RenderBlock (anonymous) at (0,0) size 8x12
-                                        RenderText {#text} at (0,-46) size 8x106
-                                          text run at (0,-46) width 8: &quot;1&quot;
-                                  RenderMathMLOperator {mo} at (8,3) size 20x12
-                                    RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                      RenderBlock (anonymous) at (0,0) size 12x12
-                                        RenderText at (0,-47) size 12x106
-                                          text run at (0,-47) width 12: &quot;+&quot;
-                                  RenderMathMLSquareRoot {msqrt} at (27,0) size 54x18
-                                    RenderMathMLBlock (anonymous, flex) at (0,0) size 17x18
-                                      RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x18
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 13x17
-                                          RenderBlock (anonymous) at (0,0) size 13x17
-                                            RenderText at (0,-56) size 13x106
-                                              text run at (0,-56) width 13: &quot;\x{221A}&quot;
-                                    RenderMathMLRootWrapper at (17,2) size 37x16
-                                      RenderMathMLToken {mn} at (0,0) size 8x12
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x12
-                                          RenderBlock (anonymous) at (0,0) size 8x12
-                                            RenderText {#text} at (0,-46) size 8x106
-                                              text run at (0,-46) width 8: &quot;1&quot;
-                                      RenderMathMLOperator {mo} at (8,1) size 20x12
-                                        RenderMathMLBlock (anonymous, flex) at (3,0) size 13x12
-                                          RenderBlock (anonymous) at (0,0) size 12x12
-                                            RenderText at (0,-47) size 12x106
-                                              text run at (0,-47) width 12: &quot;+&quot;
-                                      RenderMathMLToken {mi} at (27,4) size 10x8 [padding: 0 2 0 0]
-                                        RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
-                                          RenderBlock (anonymous) at (0,0) size 8x8
-                                            RenderText {#text} at (0,-50) size 8x106
-                                              text run at (0,-50) width 8: &quot;x&quot;
-      RenderMathMLMath {math} at (0,68) size 784x62 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x53
-          RenderMathMLRootWrapper at (4,10) size 21x43
-            RenderMathMLSpace {mspace} at (0,0) size 20x10 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x53
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,30) size 53x31
-          RenderMathMLRootWrapper at (4,7) size 21x24
-            RenderMathMLSpace {mspace} at (0,0) size 20x5 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x31
-            RenderMathMLRadicalOperator (anonymous) at (0,0) size 17x31
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,2) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
-      RenderMathMLMath {math} at (0,145) size 784x91 [padding: 0 1 0 1]
-        RenderMathMLRoot {mroot} at (339,0) size 53x82
-          RenderMathMLRootWrapper at (4,0) size 21x82
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#008000]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x82
-            RenderMathMLRadicalOperator (anonymous) at (0,29) size 17x53
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x52
-                RenderBlock (anonymous) at (0,0) size 13x52
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,31) size 21x51
-            RenderMathMLSpace {mspace} at (0,0) size 20x50 [bgcolor=#FF0000]
-        RenderMathMLRoot {mroot} at (392,52) size 53x38
-          RenderMathMLRootWrapper at (4,0) size 21x38
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#0000FF]
-          RenderMathMLBlock (anonymous, flex) at (15,0) size 18x38
-            RenderMathMLRadicalOperator (anonymous) at (0,8) size 17x30
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 13x30
-                RenderBlock (anonymous) at (0,0) size 13x30
-                  RenderText at (0,-56) size 13x106
-                    text run at (0,-56) width 13: &quot;\x{221A}&quot;
-          RenderMathMLRootWrapper at (32,9) size 21x29
-            RenderMathMLSpace {mspace} at (0,0) size 20x20 [bgcolor=#FF0000]
</del></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -2368,7 +2368,6 @@
</span><span class="cx">     rendering/mathml/RenderMathMLMath.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLMenclose.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLOperator.cpp
</span><del>-    rendering/mathml/RenderMathMLRadicalOperator.cpp
</del><span class="cx">     rendering/mathml/RenderMathMLRoot.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLRow.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLScripts.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/ChangeLog        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-06-14  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r169963.
+        https://bugs.webkit.org/show_bug.cgi?id=133899
+
+        Assertion in mathml/roots-removeChild.html (Requested by fredw
+        on #webkit).
+
+        Reverted changeset:
+
+        &quot;Draw radicals with glyphs for better rendering&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=119038
+        http://trac.webkit.org/changeset/169963
+
</ins><span class="cx"> 2014-06-14  Frédéric Wang  &lt;fred.wang@free.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Draw radicals with glyphs for better rendering
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -11422,7 +11422,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMath.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMenclose.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLOperator.cpp&quot; /&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRadicalOperator.cpp&quot; /&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRoot.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRow.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLSpace.cpp&quot; /&gt;
</span><span class="lines">@@ -20134,7 +20133,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMath.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMenclose.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLOperator.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRadicalOperator.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRoot.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRow.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLSpace.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -2742,9 +2742,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLOperator.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRadicalOperator.cpp&quot;&gt;
-      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRoot.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -9655,9 +9652,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLOperator.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRadicalOperator.h&quot;&gt;
-      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRoot.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1493,8 +1493,6 @@
</span><span class="cx">                 439046DE12DA25E800AF80A2 /* RenderMathMLMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046CA12DA25E800AF80A2 /* RenderMathMLMath.h */; };
</span><span class="cx">                 439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046CB12DA25E800AF80A2 /* RenderMathMLOperator.cpp */; };
</span><span class="cx">                 439046E012DA25E800AF80A2 /* RenderMathMLOperator.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046CC12DA25E800AF80A2 /* RenderMathMLOperator.h */; };
</span><del>-                439046DF12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046CB12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp */; };
-                439046E012DA25E800BF80A3 /* RenderMathMLRadicalOperator.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046CC12DA25E800BF80A3 /* RenderMathMLRadicalOperator.h */; };
</del><span class="cx">                 439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046CD12DA25E800AF80A2 /* RenderMathMLRoot.cpp */; };
</span><span class="cx">                 439046E212DA25E800AF80A2 /* RenderMathMLRoot.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046CE12DA25E800AF80A2 /* RenderMathMLRoot.h */; };
</span><span class="cx">                 439046E312DA25E800AF80A2 /* RenderMathMLRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046CF12DA25E800AF80A2 /* RenderMathMLRow.cpp */; };
</span><span class="lines">@@ -8516,8 +8514,6 @@
</span><span class="cx">                 439046CA12DA25E800AF80A2 /* RenderMathMLMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLMath.h; path = mathml/RenderMathMLMath.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 439046CB12DA25E800AF80A2 /* RenderMathMLOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLOperator.cpp; path = mathml/RenderMathMLOperator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 439046CC12DA25E800AF80A2 /* RenderMathMLOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLOperator.h; path = mathml/RenderMathMLOperator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                439046CB12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRadicalOperator.cpp; path = mathml/RenderMathMLRadicalOperator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                439046CC12DA25E800BF80A3 /* RenderMathMLRadicalOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLRadicalOperator.h; path = mathml/RenderMathMLRadicalOperator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 439046CD12DA25E800AF80A2 /* RenderMathMLRoot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRoot.cpp; path = mathml/RenderMathMLRoot.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 439046CE12DA25E800AF80A2 /* RenderMathMLRoot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLRoot.h; path = mathml/RenderMathMLRoot.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 439046CF12DA25E800AF80A2 /* RenderMathMLRow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRow.cpp; path = mathml/RenderMathMLRow.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -15581,8 +15577,6 @@
</span><span class="cx">                                 A208E222A56A0C7575F2A72E /* RenderMathMLMenclose.h */,
</span><span class="cx">                                 439046CB12DA25E800AF80A2 /* RenderMathMLOperator.cpp */,
</span><span class="cx">                                 439046CC12DA25E800AF80A2 /* RenderMathMLOperator.h */,
</span><del>-                                439046CB12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp */,
-                                439046CC12DA25E800BF80A3 /* RenderMathMLRadicalOperator.h */,
</del><span class="cx">                                 439046CD12DA25E800AF80A2 /* RenderMathMLRoot.cpp */,
</span><span class="cx">                                 439046CE12DA25E800AF80A2 /* RenderMathMLRoot.h */,
</span><span class="cx">                                 439046CF12DA25E800AF80A2 /* RenderMathMLRow.cpp */,
</span><span class="lines">@@ -25504,7 +25498,6 @@
</span><span class="cx">                                 07AB996F18DA3C740018771E /* RTCConfigurationPrivate.h in Headers */,
</span><span class="cx">                                 439046DE12DA25E800AF80A2 /* RenderMathMLMath.h in Headers */,
</span><span class="cx">                                 439046E012DA25E800AF80A2 /* RenderMathMLOperator.h in Headers */,
</span><del>-                                439046E012DA25E800BF80A3 /* RenderMathMLRadicalOperator.h in Headers */,
</del><span class="cx">                                 439046E212DA25E800AF80A2 /* RenderMathMLRoot.h in Headers */,
</span><span class="cx">                                 439046E412DA25E800AF80A2 /* RenderMathMLRow.h in Headers */,
</span><span class="cx">                                 439046E812DA25E800AF80A2 /* RenderMathMLScripts.h in Headers */,
</span><span class="lines">@@ -28969,7 +28962,6 @@
</span><span class="cx">                                 439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
</span><span class="cx">                                 3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */,
</span><span class="cx">                                 439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */,
</span><del>-                                439046DF12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp in Sources */,
</del><span class="cx">                                 439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in Sources */,
</span><span class="cx">                                 439046E312DA25E800AF80A2 /* RenderMathMLRow.cpp in Sources */,
</span><span class="cx">                                 439046E712DA25E800AF80A2 /* RenderMathMLScripts.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorecssmathmlcss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/mathml.css (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/mathml.css        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/css/mathml.css        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -37,9 +37,12 @@
</span><span class="cx">     display: -webkit-inline-flex !important;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-math, mrow, mfenced, merror, mphantom, mstyle, menclose {
</del><ins>+math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose {
</ins><span class="cx">     -webkit-align-items: baseline;
</span><span class="cx"> }
</span><ins>+msqrt &gt; * { /* This rule is needed because of &lt;msqrt&gt;'s anonymous &lt;mrow&gt;. */
+    -webkit-align-self: baseline;
+}
</ins><span class="cx"> 
</span><span class="cx"> mo, mfrac, munder, mover, munderover {
</span><span class="cx">     -webkit-flex-direction: column;
</span><span class="lines">@@ -82,9 +85,6 @@
</span><span class="cx"> msub &gt; * + *, msup &gt; * + *, msubsup &gt; * + *, mmultiscripts &gt; * + *, munder &gt; * + *, mover &gt; * + *, munderover &gt; * + * {
</span><span class="cx">     font-size: 0.75em; /* FIXME: MathML standard is 0.71em */
</span><span class="cx"> }
</span><del>-mroot &gt; *:last-child {
-    font-size: 0.5625em; /* This 0.75^2 since the scriptlevel is incremented by 2 in the index. */
-}
</del><span class="cx"> 
</span><span class="cx"> mi {
</span><span class="cx">     -webkit-padding-end: 0.1em;
</span><span class="lines">@@ -96,6 +96,19 @@
</span><span class="cx">     -webkit-margin-start: 0.14em; /* This is larger than 0.1em because the child's font-size is smaller than the &lt;msubsup&gt;'s. */
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+mroot {
+    position: relative;
+}
+mroot &gt; * + * {
+    font-size: 0.75em;
+    position: absolute;
+    left: 0;
+    top: 0;
+    padding-right: 0.4em;
+    padding-left: 0.2em;
+    padding-bottom: 0.35em;
+}
+
</ins><span class="cx"> math[mathvariant=&quot;normal&quot;], mstyle[mathvariant=&quot;normal&quot;], mo[mathvariant=&quot;normal&quot;], mn[mathvariant=&quot;normal&quot;], mi[mathvariant=&quot;normal&quot;], mtext[mathvariant=&quot;normal&quot;], mspace[mathvariant=&quot;normal&quot;], ms[mathvariant=&quot;normal&quot;] {
</span><span class="cx">     font-style: normal;
</span><span class="cx">     font-weight: normal;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.h (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.h        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/RenderObject.h        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -410,13 +410,11 @@
</span><span class="cx">     virtual bool isRenderMathMLBlock() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLTable() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLOperator() const { return false; }
</span><del>-    virtual bool isRenderMathMLRadicalOperator() const { return false; }
</del><span class="cx">     virtual bool isRenderMathMLRow() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLMath() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLFenced() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLFraction() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLRoot() const { return false; }
</span><del>-    virtual bool isRenderMathMLRootWrapper() const { return false; }
</del><span class="cx">     virtual bool isRenderMathMLSpace() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLSquareRoot() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLScripts() const { return false; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLOperatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1145,21 +1145,21 @@
</span><span class="cx">     updateTokenContent();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderMathMLOperator::RenderMathMLOperator(Document&amp; document, PassRef&lt;RenderStyle&gt; style, const String&amp; operatorString, MathMLOperatorDictionary::Form form, unsigned short flags)
</del><ins>+RenderMathMLOperator::RenderMathMLOperator(Document&amp; document, PassRef&lt;RenderStyle&gt; style, const String&amp; operatorString, MathMLOperatorDictionary::Form form, MathMLOperatorDictionary::Flag flag)
</ins><span class="cx">     : RenderMathMLToken(document, std::move(style))
</span><span class="cx">     , m_stretchHeightAboveBaseline(0)
</span><span class="cx">     , m_stretchDepthBelowBaseline(0)
</span><span class="cx">     , m_operator(0)
</span><span class="cx">     , m_isVertical(true)
</span><span class="cx">     , m_operatorForm(form)
</span><del>-    , m_operatorFlags(flags)
</del><ins>+    , m_operatorFlags(flag)
</ins><span class="cx"> {
</span><span class="cx">     updateTokenContent(operatorString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLOperator::setOperatorFlagFromAttribute(MathMLOperatorDictionary::Flag flag, const QualifiedName&amp; name)
</span><span class="cx"> {
</span><del>-    ASSERT(!isAnonymous());
</del><ins>+    ASSERT(!isFencedOperator());
</ins><span class="cx">     const AtomicString&amp; attributeValue = element().fastGetAttribute(name);
</span><span class="cx">     if (attributeValue == &quot;true&quot;)
</span><span class="cx">         m_operatorFlags |= flag;
</span><span class="lines">@@ -1170,8 +1170,8 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry(const MathMLOperatorDictionary::Entry* entry)
</span><span class="cx"> {
</span><del>-    // If this operator is anonymous, we preserve the Fence and Separator properties. This is to handle the case of RenderMathMLFenced.
-    if (isAnonymous())
</del><ins>+    // If this operator has been created by RenderMathMLFenced, we preserve the Fence and Separator properties.
+    if (isFencedOperator())
</ins><span class="cx">         m_operatorFlags = (m_operatorFlags &amp; (MathMLOperatorDictionary::Fence | MathMLOperatorDictionary::Separator)) | entry-&gt;flags;
</span><span class="cx">     else
</span><span class="cx">         m_operatorFlags = entry-&gt;flags;
</span><span class="lines">@@ -1188,7 +1188,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We determine the form of the operator.
</span><span class="cx">     bool explicitForm = true;
</span><del>-    if (!isAnonymous()) {
</del><ins>+    if (!isFencedOperator()) {
</ins><span class="cx">         const AtomicString&amp; form = element().fastGetAttribute(MathMLNames::formAttr);
</span><span class="cx">         if (form == &quot;prefix&quot;)
</span><span class="cx">             m_operatorForm = MathMLOperatorDictionary::Prefix;
</span><span class="lines">@@ -1211,7 +1211,7 @@
</span><span class="cx">     // We determine the default values of the operator properties.
</span><span class="cx"> 
</span><span class="cx">     // First we initialize with the default values for unknown operators.
</span><del>-    if (isAnonymous())
</del><ins>+    if (isFencedOperator())
</ins><span class="cx">         m_operatorFlags &amp;= MathMLOperatorDictionary::Fence | MathMLOperatorDictionary::Separator; // This resets all but the Fence and Separator properties.
</span><span class="cx">     else
</span><span class="cx">         m_operatorFlags = 0; // This resets all the operator properties.
</span><span class="lines">@@ -1238,7 +1238,7 @@
</span><span class="cx">     }
</span><span class="cx"> #undef MATHML_OPDICT_SIZE
</span><span class="cx"> 
</span><del>-    if (!isAnonymous()) {
</del><ins>+    if (!isFencedOperator()) {
</ins><span class="cx">         // Finally, we make the attribute values override the default.
</span><span class="cx"> 
</span><span class="cx">         setOperatorFlagFromAttribute(MathMLOperatorDictionary::Fence, MathMLNames::fenceAttr);
</span><span class="lines">@@ -1386,13 +1386,13 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLOperator::updateTokenContent(const String&amp; operatorString)
</span><span class="cx"> {
</span><del>-    ASSERT(isAnonymous());
</del><ins>+    ASSERT(isFencedOperator());
</ins><span class="cx">     rebuildTokenContent(operatorString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLOperator::updateTokenContent()
</span><span class="cx"> {
</span><del>-    ASSERT(!isAnonymous());
</del><ins>+    ASSERT(!isFencedOperator());
</ins><span class="cx">     rebuildTokenContent(element().textContent());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLOperatorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -58,12 +58,12 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-class RenderMathMLOperator : public RenderMathMLToken {
</del><ins>+class RenderMathMLOperator final : public RenderMathMLToken {
</ins><span class="cx"> public:
</span><span class="cx">     RenderMathMLOperator(MathMLElement&amp;, PassRef&lt;RenderStyle&gt;);
</span><del>-    RenderMathMLOperator(Document&amp;, PassRef&lt;RenderStyle&gt;, const String&amp; operatorString, MathMLOperatorDictionary::Form, unsigned short flags = 0);
</del><ins>+    RenderMathMLOperator(Document&amp;, PassRef&lt;RenderStyle&gt;, const String&amp; operatorString, MathMLOperatorDictionary::Form, MathMLOperatorDictionary::Flag);
</ins><span class="cx"> 
</span><del>-    virtual void stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline);
</del><ins>+    void stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline);
</ins><span class="cx">     void stretchTo(LayoutUnit width);
</span><span class="cx">     LayoutUnit stretchSize() const { return m_isVertical ? m_stretchHeightAboveBaseline + m_stretchDepthBelowBaseline : m_stretchWidth; }
</span><span class="cx">     
</span><span class="lines">@@ -73,16 +73,17 @@
</span><span class="cx"> 
</span><span class="cx">     void updateStyle() override final;
</span><span class="cx"> 
</span><del>-    virtual void paint(PaintInfo&amp;, const LayoutPoint&amp;);
</del><ins>+    void paint(PaintInfo&amp;, const LayoutPoint&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void updateTokenContent(const String&amp; operatorString);
</span><span class="cx">     void updateTokenContent() override final;
</span><span class="cx">     void updateOperatorProperties();
</span><span class="cx"> 
</span><del>-protected:
</del><ins>+private:
</ins><span class="cx">     virtual const char* renderName() const override { return isAnonymous() ? &quot;RenderMathMLOperator (anonymous)&quot; : &quot;RenderMathMLOperator&quot;; }
</span><span class="cx">     virtual void paintChildren(PaintInfo&amp; forSelf, const LayoutPoint&amp;, PaintInfo&amp; forChild, bool usePrintRect) override;
</span><span class="cx">     virtual bool isRenderMathMLOperator() const override { return true; }
</span><ins>+    bool isFencedOperator() { return isAnonymous(); }
</ins><span class="cx">     // The following operators are invisible: U+2061 FUNCTION APPLICATION, U+2062 INVISIBLE TIMES, U+2063 INVISIBLE SEPARATOR, U+2064 INVISIBLE PLUS.
</span><span class="cx">     bool isInvisibleOperator() const { return 0x2061 &lt;= m_operator &amp;&amp; m_operator &lt;= 0x2064; }
</span><span class="cx">     virtual bool isChildAllowed(const RenderObject&amp;, const RenderStyle&amp;) const override;
</span><span class="lines">@@ -186,7 +187,7 @@
</span><span class="cx"> 
</span><span class="cx">     void setOperatorFlagFromAttribute(MathMLOperatorDictionary::Flag, const QualifiedName&amp;);
</span><span class="cx">     void setOperatorPropertiesFromOpDictEntry(const MathMLOperatorDictionary::Entry*);
</span><del>-    virtual void SetOperatorProperties();
</del><ins>+    void SetOperatorProperties();
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> RENDER_OBJECT_TYPE_CASTS(RenderMathMLOperator, isRenderMathMLOperator())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRadicalOperatorcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,207 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Frédéric Wang (fred.wang@free.fr). All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(MATHML)
-#include &quot;RenderMathMLRadicalOperator.h&quot;
-
-namespace WebCore {
-
-using namespace MathMLNames;
-
-static const UChar gRadicalCharacter = 0x221A;
-
-// This class relies on the RenderMathMLOperator class to draw a radical symbol.
-// This does not work well when an OpenType MATH font is not available.
-// In that case, we fallback to the old implementation of RenderMathMLRoot.cpp with graphic primitives.
-
-// Normal width of the front of the radical sign, before the base &amp; overbar (em)
-const float gFrontWidthEms = 0.75f;
-// Horizontal position of the bottom point of the radical (* frontWidth)
-const float gRadicalBottomPointXFront = 0.5f;
-// Lower the radical sign's bottom point (px)
-const int gRadicalBottomPointLower = 3;
-// Horizontal position of the top left point of the radical &quot;dip&quot; (* frontWidth)
-const float gRadicalDipLeftPointXFront = 0.8f;
-// Vertical position of the top left point of a sqrt radical &quot;dip&quot; (* baseHeight)
-const float gSqrtRadicalDipLeftPointYPos = 0.5f;
-// Vertical shift of the left end point of the radical (em)
-const float gRadicalLeftEndYShiftEms = 0.05f;
-
-// Radical line thickness (em)
-const float gRadicalLineThicknessEms = 0.02f;
-// Radical thick line thickness (em)
-const float gRadicalThickLineThicknessEms = 0.1f;
-
-RenderMathMLRadicalOperator::RenderMathMLRadicalOperator(Document&amp; document, PassRef&lt;RenderStyle&gt; style)
-    : RenderMathMLOperator(document, std::move(style), String(&amp;gRadicalCharacter, 1), MathMLOperatorDictionary::Prefix)
-{
-}
-
-void RenderMathMLRadicalOperator::stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline)
-{
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (!primaryFontData || !primaryFontData-&gt;mathData()) {
-        // If we do not have an OpenType MATH font, we always make the radical depth a bit larger than the target.
-        depthBelowBaseline += gRadicalBottomPointLower;
-    }
-
-    RenderMathMLOperator::stretchTo(heightAboveBaseline, depthBelowBaseline);
-}
-
-void RenderMathMLRadicalOperator::SetOperatorProperties()
-{
-    RenderMathMLOperator::SetOperatorProperties();
-    // We remove spacing around the radical symbol.
-    m_leadingSpace = 0;
-    m_trailingSpace = 0;
-}
-
-void RenderMathMLRadicalOperator::computePreferredLogicalWidths()
-{
-    ASSERT(preferredLogicalWidthsDirty());
-
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (primaryFontData &amp;&amp; primaryFontData-&gt;mathData()) {
-        RenderMathMLOperator::computePreferredLogicalWidths();
-        return;
-    }
-
-    // If we do not have an OpenType MATH font, the front width is just given by the gFrontWidthEms constant.
-    int frontWidth = lroundf(gFrontWidthEms * style().fontSize());
-    m_minPreferredLogicalWidth = frontWidth;
-    m_maxPreferredLogicalWidth = frontWidth;
-}
-
-void RenderMathMLRadicalOperator::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&amp; computedValues) const
-{
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (primaryFontData &amp;&amp; primaryFontData-&gt;mathData()) {
-        RenderMathMLOperator::computeLogicalHeight(logicalHeight, logicalTop, computedValues);
-        return;
-    }
-
-    // If we do not have an OpenType MATH font, the logical height is always the stretch size.
-    logicalHeight = stretchSize();
-    RenderBox::computeLogicalHeight(logicalHeight, logicalTop, computedValues);
-}
-
-void RenderMathMLRadicalOperator::paint(PaintInfo&amp; info, const LayoutPoint&amp; paintOffset)
-{
-    if (info.context-&gt;paintingDisabled() || info.phase != PaintPhaseForeground || style().visibility() != VISIBLE)
-        return;
-
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (primaryFontData &amp;&amp; primaryFontData-&gt;mathData()) {
-        RenderMathMLOperator::paint(info, paintOffset);
-        return;
-    }
-
-    // If we do not have an OpenType MATH font, we paint the radical sign with graphic primitives.
-    IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset + location() + contentBoxRect().location());
-    int frontWidth = lroundf(gFrontWidthEms * style().fontSize());
-    int startX = adjustedPaintOffset.x() + frontWidth;
-    int baseHeight = stretchSize() - gRadicalBottomPointLower;
-
-    float radicalDipLeftPointYPos = gSqrtRadicalDipLeftPointYPos * baseHeight;
-
-    FloatPoint overbarLeftPoint(startX, adjustedPaintOffset.y());
-    FloatPoint bottomPoint(startX - gRadicalBottomPointXFront * frontWidth, adjustedPaintOffset.y() + baseHeight + gRadicalBottomPointLower);
-    FloatPoint dipLeftPoint(startX - gRadicalDipLeftPointXFront * frontWidth, adjustedPaintOffset.y() + radicalDipLeftPointYPos);
-    FloatPoint leftEnd(startX - frontWidth, dipLeftPoint.y() + gRadicalLeftEndYShiftEms * style().fontSize());
-
-    GraphicsContextStateSaver stateSaver(*info.context);
-
-    info.context-&gt;setStrokeThickness(gRadicalLineThicknessEms * style().fontSize());
-    info.context-&gt;setStrokeStyle(SolidStroke);
-    info.context-&gt;setStrokeColor(style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
-    info.context-&gt;setLineJoin(MiterJoin);
-    info.context-&gt;setMiterLimit(style().fontSize());
-
-    Path root;
-
-    root.moveTo(FloatPoint(overbarLeftPoint.x(), adjustedPaintOffset.y()));
-    // draw from top left corner to bottom point of radical
-    root.addLineTo(bottomPoint);
-    // draw from bottom point to top of left part of radical base &quot;dip&quot;
-    root.addLineTo(dipLeftPoint);
-    // draw to end
-    root.addLineTo(leftEnd);
-
-    info.context-&gt;strokePath(root);
-
-    GraphicsContextStateSaver maskStateSaver(*info.context);
-
-    // Build a mask to draw the thick part of the root.
-    Path mask;
-
-    mask.moveTo(overbarLeftPoint);
-    mask.addLineTo(bottomPoint);
-    mask.addLineTo(dipLeftPoint);
-    mask.addLineTo(FloatPoint(2 * dipLeftPoint.x() - leftEnd.x(), 2 * dipLeftPoint.y() - leftEnd.y()));
-
-    info.context-&gt;clip(mask);
-
-    // Draw the thick part of the root.
-    info.context-&gt;setStrokeThickness(gRadicalThickLineThicknessEms * style().fontSize());
-    info.context-&gt;setLineCap(SquareCap);
-
-    Path line;
-    line.moveTo(bottomPoint);
-    line.addLineTo(dipLeftPoint);
-
-    info.context-&gt;strokePath(line);
-}
-
-LayoutUnit RenderMathMLRadicalOperator::trailingSpaceError()
-{
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (!primaryFontData || !primaryFontData-&gt;mathData())
-        return 0;
-
-    // For OpenType MATH font, the layout is based on RenderMathOperator for which the preferred width is sometimes overestimated (bug https://bugs.webkit.org/show_bug.cgi?id=130326).
-    // Hence we determine the error in the logical width with respect to the actual width of the glyph(s) used to paint the radical.
-    LayoutUnit width = logicalWidth();
-
-    if (m_stretchyData.mode() == DrawNormal) {
-        GlyphData data = style().font().glyphDataForCharacter(m_operator, !style().isLeftToRightDirection());
-        return width - advanceForGlyph(data);
-    }
-
-    if (m_stretchyData.mode() == DrawSizeVariant)
-        return width - advanceForGlyph(m_stretchyData.variant());
-
-    float assemblyWidth = advanceForGlyph(m_stretchyData.top());
-    assemblyWidth = std::max(assemblyWidth, advanceForGlyph(m_stretchyData.bottom()));
-    assemblyWidth = std::max(assemblyWidth, advanceForGlyph(m_stretchyData.extension()));
-    if (m_stretchyData.middle().glyph)
-        assemblyWidth = std::max(assemblyWidth, advanceForGlyph(m_stretchyData.middle()));
-    return width - assemblyWidth;
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRadicalOperatorh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -1,56 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Frédéric Wang (fred.wang@free.fr). All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef RenderMathMLOperator_h
-#define RenderMathMLRadicalOperator_h
-
-#if ENABLE(MATHML)
-
-#include &quot;PaintInfo.h&quot;
-#include &quot;RenderMathMLOperator.h&quot;
-
-namespace WebCore {
-
-class RenderMathMLRadicalOperator final : public RenderMathMLOperator {
-public:
-    RenderMathMLRadicalOperator(Document&amp;, PassRef&lt;RenderStyle&gt;);
-    virtual void stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline);
-    virtual void computePreferredLogicalWidths() override;
-    virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&amp;) const override;
-    virtual void paint(PaintInfo&amp;, const LayoutPoint&amp; paintOffset) override;
-    LayoutUnit trailingSpaceError();
-
-private:
-    virtual bool isRenderMathMLRadicalOperator() const override { return true; }
-    virtual const char* renderName() const override { return isAnonymous() ? &quot;RenderMathMLRadicalOperator (anonymous)&quot; : &quot;RenderMathMLRadicalOperator&quot;; }
-    void SetOperatorProperties() override;
-};
-
-RENDER_OBJECT_TYPE_CASTS(RenderMathMLRadicalOperator, isRenderMathMLRadicalOperator())
-
-}
-
-#endif // ENABLE(MATHML)
-#endif // RenderMathMLRadicalOperator_h
</del></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -30,339 +30,282 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderMathMLRoot.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;FontCache.h&quot;
</del><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;PaintInfo.h&quot;
</span><span class="cx"> #include &quot;RenderIterator.h&quot;
</span><del>-#include &quot;RenderMathMLRadicalOperator.h&quot;
</del><ins>+#include &quot;RenderMathMLRow.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><del>-// RenderMathMLRoot implements drawing of radicals via the &lt;mroot&gt; and &lt;msqrt&gt; elements. For valid MathML elements, the DOM is
-//
-// &lt;mroot&gt; Base Index &lt;/mroot&gt;
-// &lt;msqrt&gt; Child1 Child2 ... ChildN &lt;/msqrt&gt;
-//
-// and the structure of the render tree will be
-//
-// IndexWrapper RadicalWrapper BaseWrapper
-//
-// where RadicalWrapper contains an &lt;mo&gt;&amp;#x221A;&lt;/mo&gt;.
-// For &lt;mroot&gt;, the IndexWrapper and BaseWrapper should contain exactly one child (Index and Base respectively).
-// For &lt;msqrt&gt;, the IndexWrapper should be empty and the BaseWrapper can contain any number of children (Child1, ... ChildN).
-//
-// In order to accept invalid markup and to handle &lt;mroot&gt; and &lt;msqrt&gt; consistently, we will allow any number of children in the BaseWrapper of &lt;mroot&gt; too.
-// We will allow the IndexWrapper to be empty and it will always contain the last child of the &lt;mroot&gt; if there are at least 2 elements.
</del><ins>+// FIXME: This whole file should be changed to work with various writing modes. See https://bugs.webkit.org/show_bug.cgi?id=48951.
</ins><span class="cx"> 
</span><ins>+// Threshold above which the radical shape is modified to look nice with big bases (em)
+const float gThresholdBaseHeightEms = 1.5f;
+// Normal width of the front of the radical sign, before the base &amp; overbar (em)
+const float gFrontWidthEms = 0.75f;
+// Gap between the base and overbar (em)
+const float gSpaceAboveEms = 0.2f;
+// Horizontal position of the bottom point of the radical (* frontWidth)
+const float gRadicalBottomPointXFront = 0.5f;
+// Lower the radical sign's bottom point (px)
+const int gRadicalBottomPointLower = 3;
+// Horizontal position of the top left point of the radical &quot;dip&quot; (* frontWidth)
+const float gRadicalDipLeftPointXFront = 0.8f;
+// Vertical position of the top left point of a sqrt radical &quot;dip&quot; (* baseHeight)
+const float gSqrtRadicalDipLeftPointYPos = 0.5f;
+// Vertical position of the top left point of an nth root radical &quot;dip&quot; (* baseHeight)
+const float gRootRadicalDipLeftPointYPos = 0.625f;
+// Vertical shift of the left end point of the radical (em)
+const float gRadicalLeftEndYShiftEms = 0.05f;
+// Additional bottom root padding if baseHeight &gt; threshold (em)
+const float gBigRootBottomPaddingEms = 0.2f;
+
+// Radical line thickness (em)
+const float gRadicalLineThicknessEms = 0.02f;
+// Radical thick line thickness (em)
+const float gRadicalThickLineThicknessEms = 0.1f;
+    
</ins><span class="cx"> RenderMathMLRoot::RenderMathMLRoot(Element&amp; element, PassRef&lt;RenderStyle&gt; style)
</span><span class="cx">     : RenderMathMLBlock(element, std::move(style))
</span><ins>+    , m_intrinsicPaddingBefore(0)
+    , m_intrinsicPaddingAfter(0)
+    , m_intrinsicPaddingStart(0)
+    , m_intrinsicPaddingEnd(0)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderMathMLRoot::RenderMathMLRoot(Document&amp; document, PassRef&lt;RenderStyle&gt; style)
</span><span class="cx">     : RenderMathMLBlock(document, std::move(style))
</span><ins>+    , m_intrinsicPaddingBefore(0)
+    , m_intrinsicPaddingAfter(0)
+    , m_intrinsicPaddingStart(0)
+    , m_intrinsicPaddingEnd(0)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><del>-
-RenderMathMLRootWrapper* RenderMathMLRoot::baseWrapper() const
</del><ins>+LayoutUnit RenderMathMLRoot::paddingTop() const
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-    return toRenderMathMLRootWrapper(lastChild());
</del><ins>+    LayoutUnit result = computedCSSPaddingTop();
+    switch (style().writingMode()) {
+    case TopToBottomWritingMode:
+        return result + m_intrinsicPaddingBefore;
+    case BottomToTopWritingMode:
+        return result + m_intrinsicPaddingAfter;
+    case LeftToRightWritingMode:
+    case RightToLeftWritingMode:
+        return result + (style().isLeftToRightDirection() ? m_intrinsicPaddingStart : m_intrinsicPaddingEnd);
+    }
+    ASSERT_NOT_REACHED();
+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderMathMLBlock* RenderMathMLRoot::radicalWrapper() const
</del><ins>+LayoutUnit RenderMathMLRoot::paddingBottom() const
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-    return toRenderMathMLBlock(lastChild()-&gt;previousSibling());
</del><ins>+    LayoutUnit result = computedCSSPaddingBottom();
+    switch (style().writingMode()) {
+    case TopToBottomWritingMode:
+        return result + m_intrinsicPaddingAfter;
+    case BottomToTopWritingMode:
+        return result + m_intrinsicPaddingBefore;
+    case LeftToRightWritingMode:
+    case RightToLeftWritingMode:
+        return result + (style().isLeftToRightDirection() ? m_intrinsicPaddingEnd : m_intrinsicPaddingStart);
+    }
+    ASSERT_NOT_REACHED();
+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderMathMLRootWrapper* RenderMathMLRoot::indexWrapper() const
</del><ins>+LayoutUnit RenderMathMLRoot::paddingLeft() const
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-    return isRenderMathMLSquareRoot() ? nullptr : toRenderMathMLRootWrapper(firstChild());
</del><ins>+    LayoutUnit result = computedCSSPaddingLeft();
+    switch (style().writingMode()) {
+    case LeftToRightWritingMode:
+        return result + m_intrinsicPaddingBefore;
+    case RightToLeftWritingMode:
+        return result + m_intrinsicPaddingAfter;
+    case TopToBottomWritingMode:
+    case BottomToTopWritingMode:
+        return result + (style().isLeftToRightDirection() ? m_intrinsicPaddingStart : m_intrinsicPaddingEnd);
+    }
+    ASSERT_NOT_REACHED();
+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderMathMLRadicalOperator* RenderMathMLRoot::radicalOperator() const
</del><ins>+LayoutUnit RenderMathMLRoot::paddingRight() const
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-    return toRenderMathMLRadicalOperator(radicalWrapper()-&gt;firstChild());
</del><ins>+    LayoutUnit result = computedCSSPaddingRight();
+    switch (style().writingMode()) {
+    case RightToLeftWritingMode:
+        return result + m_intrinsicPaddingBefore;
+    case LeftToRightWritingMode:
+        return result + m_intrinsicPaddingAfter;
+    case TopToBottomWritingMode:
+    case BottomToTopWritingMode:
+        return result + (style().isLeftToRightDirection() ? m_intrinsicPaddingEnd : m_intrinsicPaddingStart);
+    }
+    ASSERT_NOT_REACHED();
+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMathMLRoot::restructureWrappers()
</del><ins>+LayoutUnit RenderMathMLRoot::paddingBefore() const
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-
-    auto base = baseWrapper();
-    auto index = indexWrapper();
-    auto radical = radicalWrapper();
-
-    // For visual consistency with the initial state, we remove the radical when the base/index wrappers become empty.
-    if (base-&gt;isEmpty() &amp;&amp; (!index || index-&gt;isEmpty())) {
-        if (!radical-&gt;isEmpty()) {
-            auto child = radicalOperator();
-            radical-&gt;removeChild(*child);
-            child-&gt;destroy();
-        }
-        return;
-    }
-
-    if (radical-&gt;isEmpty()) {
-        // We create the radical operator.
-        RenderPtr&lt;RenderMathMLRadicalOperator&gt; radicalOperator = createRenderer&lt;RenderMathMLRadicalOperator&gt;(document(), RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), FLEX));
-        radicalOperator-&gt;initializeStyle();
-        radical-&gt;addChild(radicalOperator.leakPtr());
-    }
-
-    if (isRenderMathMLSquareRoot())
-        return;
-
-    if (auto childToMove = base-&gt;lastChild()) {
-        // We move the last child of the base wrapper into the index wrapper if the index wrapper is empty and the base wrapper has at least two children.
-        if (childToMove-&gt;previousSibling() &amp;&amp; index-&gt;isEmpty()) {
-            base-&gt;removeChildWithoutRestructuring(*childToMove);
-            index-&gt;addChild(childToMove);
-        }
-    }
-
-    if (auto childToMove = index-&gt;firstChild()) {
-        // We move the first child of the index wrapper into the base wrapper if:
-        // - either the index wrapper has at least two children.
-        // - or the base wrapper is empty but the index wrapper is not.
-        if (childToMove-&gt;nextSibling() || base-&gt;isEmpty()) {
-            index-&gt;removeChildWithoutRestructuring(*childToMove);
-            base-&gt;addChild(childToMove);
-        }
-    }
</del><ins>+    return computedCSSPaddingBefore() + m_intrinsicPaddingBefore;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMathMLRoot::addChild(RenderObject* newChild, RenderObject* beforeChild)
</del><ins>+LayoutUnit RenderMathMLRoot::paddingAfter() const
</ins><span class="cx"> {
</span><del>-    if (isEmpty()) {
-        if (!isRenderMathMLSquareRoot()) {
-            // We add the IndexWrapper.
-            RenderMathMLBlock::addChild(RenderMathMLRootWrapper::createAnonymousWrapper(this).leakPtr());
-        }
-
-        // We create the radicalWrapper
-        RenderMathMLBlock::addChild(RenderMathMLBlock::createAnonymousMathMLBlock().leakPtr());
-
-        // We create the BaseWrapper.
-        RenderMathMLBlock::addChild(RenderMathMLRootWrapper::createAnonymousWrapper(this).leakPtr());
-
-        updateStyle();
-    }
-
-    // We insert the child.
-    auto base = baseWrapper();
-    auto index = indexWrapper();
-    RenderElement* actualParent;
-    RenderElement* actualBeforeChild;
-    if (isRenderMathMLSquareRoot()) {
-        // For square root, we always insert the child into the base wrapper.
-        actualParent = base;
-        if (beforeChild &amp;&amp; beforeChild-&gt;parent() == base)
-            actualBeforeChild = toRenderElement(beforeChild);
-        else
-            actualBeforeChild = nullptr;
-    } else {
-        // For mroot, we insert the child into the parent of beforeChild, or at the end of the index. The wrapper structure is reorganize below.
-        actualParent = beforeChild ? beforeChild-&gt;parent() : nullptr;
-        if (actualParent == base || actualParent == index)
-            actualBeforeChild = toRenderElement(beforeChild);
-        else {
-            actualParent = index;
-            actualBeforeChild = nullptr;
-        }
-    }
-    actualParent-&gt;addChild(newChild, actualBeforeChild);
-    restructureWrappers();
</del><ins>+    return computedCSSPaddingAfter() + m_intrinsicPaddingAfter;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMathMLRoot::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
</del><ins>+LayoutUnit RenderMathMLRoot::paddingStart() const
</ins><span class="cx"> {
</span><del>-    RenderMathMLBlock::styleDidChange(diff, oldStyle);
-    if (!isEmpty())
-        updateStyle();
</del><ins>+    return computedCSSPaddingStart() + m_intrinsicPaddingStart;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMathMLRoot::updateFromElement()
</del><ins>+LayoutUnit RenderMathMLRoot::paddingEnd() const
</ins><span class="cx"> {
</span><del>-    RenderMathMLBlock::updateFromElement();
-    if (!isEmpty())
-        updateStyle();
</del><ins>+    return computedCSSPaddingEnd() + m_intrinsicPaddingEnd;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMathMLRoot::updateStyle()
</del><ins>+void RenderMathMLRoot::addChild(RenderObject* newChild, RenderObject* beforeChild)
</ins><span class="cx"> {
</span><del>-    ASSERT(!isEmpty());
-
-    // We set some constants to draw the radical, as defined in the OpenType MATH tables.
-
-    m_ruleThickness = 0.05f * style().font().size();
-
-    // FIXME: The recommended default for m_verticalGap in displaystyle is rule thickness + 1/4 x-height (https://bugs.webkit.org/show_bug.cgi?id=118737).
-    m_verticalGap = 11 * m_ruleThickness / 4;
-    m_extraAscender = m_ruleThickness;
-    LayoutUnit kernBeforeDegree = 5 * style().font().size() / 18;
-    LayoutUnit kernAfterDegree = -10 * style().font().size() / 18;
-    m_degreeBottomRaisePercent = 0.6f;
-
-    const auto&amp; primaryFontData = style().font().primaryFont();
-    if (primaryFontData &amp;&amp; primaryFontData-&gt;mathData()) {
-        // FIXME: m_verticalGap should use RadicalDisplayStyleVertical in display mode (https://bugs.webkit.org/show_bug.cgi?id=118737).
-        m_verticalGap = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalVerticalGap);
-        m_ruleThickness = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalRuleThickness);
-        m_extraAscender = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalExtraAscender);
-
-        if (!isRenderMathMLSquareRoot()) {
-            kernBeforeDegree = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalKernBeforeDegree);
-            kernAfterDegree = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalKernAfterDegree);
-            m_degreeBottomRaisePercent = primaryFontData-&gt;mathData()-&gt;getMathConstant(primaryFontData, OpenTypeMathData::RadicalDegreeBottomRaisePercent);
-        }
-    }
-
-    // We set the style of the anonymous wrappers.
-
-    auto radical = radicalWrapper();
-    auto radicalStyle = RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), FLEX);
-    radicalStyle.get().setMarginTop(Length(0, Fixed)); // This will be updated in RenderMathMLRoot::layout().
-    radical-&gt;setStyle(std::move(radicalStyle));
-    radical-&gt;setNeedsLayoutAndPrefWidthsRecalc();
-
-    auto base = baseWrapper();
-    auto baseStyle = RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), FLEX);
-    baseStyle.get().setMarginTop(Length(0, Fixed)); // This will be updated in RenderMathMLRoot::layout().
-    baseStyle.get().setAlignItems(AlignBaseline);
-    base-&gt;setStyle(std::move(baseStyle));
-    base-&gt;setNeedsLayoutAndPrefWidthsRecalc();
-
-    if (!isRenderMathMLSquareRoot()) {
-        // For mroot, we also set the style of the index wrapper.
-        auto index = indexWrapper();
-        auto indexStyle = RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), FLEX);
-        indexStyle.get().setMarginTop(Length(0, Fixed)); // This will be updated in RenderMathMLRoot::layout().
-        indexStyle.get().setMarginStart(Length(kernBeforeDegree, Fixed));
-        indexStyle.get().setMarginEnd(Length(kernAfterDegree, Fixed));
-        indexStyle.get().setAlignItems(AlignBaseline);
-        index-&gt;setStyle(std::move(indexStyle));
-        index-&gt;setNeedsLayoutAndPrefWidthsRecalc();
-    }
</del><ins>+    // Insert an implicit &lt;mrow&gt; for &lt;mroot&gt; as well as &lt;msqrt&gt;, to ensure firstChild() will have a box
+    // to measure and store a glyph-based height for preferredLogicalHeightAfterSizing.
+    if (!firstChild())
+        RenderMathMLBlock::addChild(RenderMathMLRow::createAnonymousWithParentRenderer(*this).leakPtr());
+    
+    // An &lt;mroot&gt;'s index has { position: absolute }.
+    if (newChild-&gt;style().position() == AbsolutePosition)
+        RenderMathMLBlock::addChild(newChild);
+    else
+        toRenderElement(firstChild())-&gt;addChild(newChild, beforeChild &amp;&amp; beforeChild-&gt;parent() == firstChild() ? beforeChild : 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int RenderMathMLRoot::firstLineBaseline() const
</del><ins>+RenderBox* RenderMathMLRoot::index() const
</ins><span class="cx"> {
</span><del>-    if (!isEmpty()) {
-        auto base = baseWrapper();
-        return static_cast&lt;int&gt;(lroundf(base-&gt;firstLineBaseline() + base-&gt;marginTop()));
-    }
-
-    return RenderMathMLBlock::firstLineBaseline();
</del><ins>+    if (!firstChild())
+        return 0;
+    RenderObject* index = firstChild()-&gt;nextSibling();
+    if (!index || !index-&gt;isBox())
+        return 0;
+    return toRenderBox(index);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLRoot::layout()
</span><span class="cx"> {
</span><del>-    if (isEmpty()) {
-        RenderMathMLBlock::layout();
-        return;
-    }
</del><ins>+    for (auto&amp; box : childrenOfType&lt;RenderBox&gt;(*this))
+        box.layoutIfNeeded();
</ins><span class="cx"> 
</span><del>-    // FIXME: It seems that changing the top margin of the base below modifies its logical height and leads to reftest failures.
-    // For now, we workaround that by avoiding to recompute the child margins if they were not reset in updateStyle().
-    auto base = baseWrapper();
-    if (base-&gt;marginTop() &gt; 0) {
-        RenderMathMLBlock::layout();
-        return;
</del><ins>+    int baseHeight = firstChild() &amp;&amp; firstChild()-&gt;isBox() ? roundToInt(toRenderBox(firstChild())-&gt;logicalHeight()) : style().fontSize();
+    int frontWidth = lroundf(gFrontWidthEms * style().fontSize());
+    
+    // Base height above which the shape of the root changes
+    float thresholdHeight = gThresholdBaseHeightEms * style().fontSize();
+    if (baseHeight &gt; thresholdHeight &amp;&amp; thresholdHeight) {
+        float shift = std::min&lt;float&gt;((baseHeight - thresholdHeight) / thresholdHeight, 1.0f);
+        m_overbarLeftPointShift = static_cast&lt;int&gt;(shift * gRadicalBottomPointXFront * frontWidth);
+        m_intrinsicPaddingAfter = lroundf(gBigRootBottomPaddingEms * style().fontSize());
+    } else {
+        m_overbarLeftPointShift = 0;
+        m_intrinsicPaddingAfter = 0;
</ins><span class="cx">     }
</span><ins>+    
+    int rootPad = lroundf(gSpaceAboveEms * style().fontSize());
+    m_intrinsicPaddingBefore = rootPad;
+    m_indexTop = 0;
+    if (RenderBox* index = this-&gt;index()) {
+        m_intrinsicPaddingStart = roundToInt(index-&gt;maxPreferredLogicalWidth()) + m_overbarLeftPointShift;
</ins><span class="cx"> 
</span><del>-    // We layout the children.
-    for (RenderObject* child = firstChild(); child; child = child-&gt;nextSibling()) {
-        if (child-&gt;needsLayout())
-            toRenderElement(child)-&gt;layout();
-    }
</del><ins>+        int indexHeight = roundToInt(index-&gt;logicalHeight());
+        int partDipHeight = lroundf((1 - gRootRadicalDipLeftPointYPos) * baseHeight);
+        int rootExtraTop = partDipHeight + indexHeight - (baseHeight + rootPad);
+        if (rootExtraTop &gt; 0)
+            m_intrinsicPaddingBefore += rootExtraTop;
+        else
+            m_indexTop = - rootExtraTop;
+    } else
+        m_intrinsicPaddingStart = frontWidth;
</ins><span class="cx"> 
</span><del>-    auto radical = radicalOperator();
-    if (radical) {
-        // We stretch the radical sign to cover the height of the base wrapper.
-        float baseHeight = base-&gt;logicalHeight();
-        float baseHeightAboveBaseline = base-&gt;firstLineBaseline();
-        if (baseHeightAboveBaseline == -1)
-            baseHeightAboveBaseline = baseHeight;
-        float baseDepthBelowBaseline = baseHeight - baseHeightAboveBaseline;
-        baseHeightAboveBaseline += m_verticalGap;
-        radical-&gt;stretchTo(baseHeightAboveBaseline, baseDepthBelowBaseline);
</del><ins>+    // FIXME: We should rewrite RenderMathMLRoot to rewrite -webkit-flex-order to get rid of the need
+    // for intrinsic padding. See https://bugs.webkit.org/show_bug.cgi?id=107151#c2.
+    // FIXME: We should make it so that the preferred width of RenderMathMLRoots doesn't change during layout.
+    // Technically, we currently only need to set the dirty bit here if one of the member variables above changes.
+    setPreferredLogicalWidthsDirty(true);
</ins><span class="cx"> 
</span><del>-        // We modify the top margins to adjust the vertical positions of wrappers.
-        float radicalTopMargin = m_extraAscender;
-        float baseTopMargin = m_verticalGap + m_ruleThickness + m_extraAscender;
-        if (!isRenderMathMLSquareRoot()) {
-            // For mroot, we try to place the index so the space below its baseline is m_degreeBottomRaisePercent times the height of the radical.
-            auto index = indexWrapper();
-            float indexHeight = 0;
-            if (!index-&gt;isEmpty())
-                indexHeight = toRenderBlock(index-&gt;firstChild())-&gt;logicalHeight();
-            float indexTopMargin = (1.0 - m_degreeBottomRaisePercent) * radical-&gt;stretchSize() + radicalTopMargin - indexHeight;
-            if (indexTopMargin &lt; 0) {
-                // If the index is too tall, we must add space at the top of renderer.
-                radicalTopMargin -= indexTopMargin;
-                baseTopMargin -= indexTopMargin;
-                indexTopMargin = 0;
-            }
-            index-&gt;style().setMarginTop(Length(indexTopMargin, Fixed));
-        }
-        radical-&gt;style().setMarginTop(Length(radicalTopMargin, Fixed));
-        base-&gt;style().setMarginTop(Length(baseTopMargin, Fixed));
-    }
-
</del><span class="cx">     RenderMathMLBlock::layout();
</span><ins>+
+    if (RenderBox* index = this-&gt;index())
+        index-&gt;setLogicalTop(m_indexTop);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderMathMLRoot::paint(PaintInfo&amp; info, const LayoutPoint&amp; paintOffset)
</span><span class="cx"> {
</span><span class="cx">     RenderMathMLBlock::paint(info, paintOffset);
</span><span class="cx">     
</span><del>-    if (isEmpty() || info.context-&gt;paintingDisabled() || style().visibility() != VISIBLE)
</del><ins>+    if (info.context-&gt;paintingDisabled() || style().visibility() != VISIBLE)
</ins><span class="cx">         return;
</span><del>-
-    auto base = baseWrapper();
-    auto radical = radicalOperator();
-    if (!base || !radical || !m_ruleThickness)
-        return;
-
-    // We draw the radical line.
</del><ins>+    
+    IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset + location() + contentBoxRect().location());
+    
+    int startX = adjustedPaintOffset.x();
+    int frontWidth = lroundf(gFrontWidthEms * style().fontSize());
+    int overbarWidth = roundToInt(contentLogicalWidth()) + m_overbarLeftPointShift;
+    
+    int baseHeight = roundToInt(contentLogicalHeight());
+    int rootPad = lroundf(gSpaceAboveEms * style().fontSize());
+    adjustedPaintOffset.setY(adjustedPaintOffset.y() - rootPad);
+    
+    float radicalDipLeftPointYPos = (index() ? gRootRadicalDipLeftPointYPos : gSqrtRadicalDipLeftPointYPos) * baseHeight;
+    
+    FloatPoint overbarLeftPoint(startX - m_overbarLeftPointShift, adjustedPaintOffset.y());
+    FloatPoint bottomPoint(startX - gRadicalBottomPointXFront * frontWidth, adjustedPaintOffset.y() + baseHeight + gRadicalBottomPointLower);
+    FloatPoint dipLeftPoint(startX - gRadicalDipLeftPointXFront * frontWidth, adjustedPaintOffset.y() + radicalDipLeftPointYPos);
+    FloatPoint leftEnd(startX - frontWidth, dipLeftPoint.y() + gRadicalLeftEndYShiftEms * style().fontSize());
+    
</ins><span class="cx">     GraphicsContextStateSaver stateSaver(*info.context);
</span><del>-
-    info.context-&gt;setStrokeThickness(m_ruleThickness);
</del><ins>+    
+    info.context-&gt;setStrokeThickness(gRadicalLineThicknessEms * style().fontSize());
</ins><span class="cx">     info.context-&gt;setStrokeStyle(SolidStroke);
</span><span class="cx">     info.context-&gt;setStrokeColor(style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
</span><del>-
-    // The preferred width of the radical is sometimes incorrect, so we draw a slightly longer line to ensure it touches the radical symbol (https://bugs.webkit.org/show_bug.cgi?id=130326).
-    LayoutUnit sizeError = radical-&gt;trailingSpaceError();
-    IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset + location() + base-&gt;location() + LayoutPoint(-sizeError, -(m_verticalGap + m_ruleThickness / 2)));
-    info.context-&gt;drawLine(adjustedPaintOffset, IntPoint(adjustedPaintOffset.x() + base-&gt;pixelSnappedOffsetWidth() + sizeError, adjustedPaintOffset.y()));
</del><ins>+    info.context-&gt;setLineJoin(MiterJoin);
+    info.context-&gt;setMiterLimit(style().fontSize());
+    
+    Path root;
+    
+    root.moveTo(FloatPoint(overbarLeftPoint.x() + overbarWidth, adjustedPaintOffset.y()));
+    // draw top
+    root.addLineTo(overbarLeftPoint);
+    // draw from top left corner to bottom point of radical
+    root.addLineTo(bottomPoint);
+    // draw from bottom point to top of left part of radical base &quot;dip&quot;
+    root.addLineTo(dipLeftPoint);
+    // draw to end
+    root.addLineTo(leftEnd);
+    
+    info.context-&gt;strokePath(root);
+    
+    GraphicsContextStateSaver maskStateSaver(*info.context);
+    
+    // Build a mask to draw the thick part of the root.
+    Path mask;
+    
+    mask.moveTo(overbarLeftPoint);
+    mask.addLineTo(bottomPoint);
+    mask.addLineTo(dipLeftPoint);
+    mask.addLineTo(FloatPoint(2 * dipLeftPoint.x() - leftEnd.x(), 2 * dipLeftPoint.y() - leftEnd.y()));
+    
+    info.context-&gt;clip(mask);
+    
+    // Draw the thick part of the root.
+    info.context-&gt;setStrokeThickness(gRadicalThickLineThicknessEms * style().fontSize());
+    info.context-&gt;setLineCap(SquareCap);
+    
+    Path line;
+    line.moveTo(bottomPoint);
+    line.addLineTo(dipLeftPoint);
+    
+    info.context-&gt;strokePath(line);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderPtr&lt;RenderMathMLRootWrapper&gt; RenderMathMLRootWrapper::createAnonymousWrapper(RenderMathMLRoot* renderObject)
-{
-    RenderPtr&lt;RenderMathMLRootWrapper&gt; newBlock = createRenderer&lt;RenderMathMLRootWrapper&gt;(renderObject-&gt;document(), RenderStyle::createAnonymousStyleWithDisplay(&amp;renderObject-&gt;style(), FLEX));
-    newBlock-&gt;initializeStyle();
-    return newBlock;
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderObject* RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject&amp; child)
-{
-    return RenderMathMLBlock::removeChild(child);
-}
-
-RenderObject* RenderMathMLRootWrapper::removeChild(RenderObject&amp; child)
-{
-    RenderObject* next = RenderMathMLBlock::removeChild(child);
-
-    if (!(beingDestroyed() || documentBeingDestroyed()))
-        toRenderMathMLRoot(parent())-&gt;restructureWrappers();
-
-    return next;
-}
-
-}
-
</del><span class="cx"> #endif // ENABLE(MATHML)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRooth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h (169964 => 169965)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-06-14 06:31:11 UTC (rev 169964)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-06-14 08:01:23 UTC (rev 169965)
</span><span class="lines">@@ -29,25 +29,25 @@
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderMathMLBlock.h&quot;
</span><del>-#include &quot;RenderMathMLRow.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-
-class RenderMathMLRadicalOperator;
-class RenderMathMLRootWrapper;
</del><span class="cx">     
</span><span class="cx"> // Render base^(1/index), or sqrt(base) via the derived class RenderMathMLSquareRoot, using radical notation.
</span><span class="cx"> class RenderMathMLRoot : public RenderMathMLBlock {
</span><del>-
-friend class RenderMathMLRootWrapper;
-
</del><span class="cx"> public:
</span><span class="cx">     RenderMathMLRoot(Element&amp;, PassRef&lt;RenderStyle&gt;);
</span><span class="cx">     RenderMathMLRoot(Document&amp;, PassRef&lt;RenderStyle&gt;);
</span><span class="cx"> 
</span><ins>+    virtual LayoutUnit paddingTop() const override;
+    virtual LayoutUnit paddingBottom() const override;
+    virtual LayoutUnit paddingLeft() const override;
+    virtual LayoutUnit paddingRight() const override;
+    virtual LayoutUnit paddingBefore() const override;
+    virtual LayoutUnit paddingAfter() const override;
+    virtual LayoutUnit paddingStart() const override;
+    virtual LayoutUnit paddingEnd() const override;
+
</ins><span class="cx">     virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
</span><del>-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
-    virtual void updateFromElement() override;
</del><span class="cx">     
</span><span class="cx"> protected:
</span><span class="cx">     virtual void layout() override;
</span><span class="lines">@@ -57,42 +57,18 @@
</span><span class="cx"> private:
</span><span class="cx">     virtual bool isRenderMathMLRoot() const override final { return true; }
</span><span class="cx">     virtual const char* renderName() const override { return &quot;RenderMathMLRoot&quot;; }
</span><del>-    virtual int firstLineBaseline() const override;
-    void updateStyle();
-    void restructureWrappers();
-
-    RenderMathMLRootWrapper* baseWrapper() const;
-    RenderMathMLBlock* radicalWrapper() const;
-    RenderMathMLRootWrapper* indexWrapper() const;
-    RenderMathMLRadicalOperator* radicalOperator() const;
-
-    LayoutUnit m_verticalGap;
-    LayoutUnit m_ruleThickness;
-    LayoutUnit m_extraAscender;
-    float m_degreeBottomRaisePercent;
-};
</del><span class="cx">     
</span><del>-RENDER_OBJECT_TYPE_CASTS(RenderMathMLRoot, isRenderMathMLRoot())
</del><ins>+    // This may return 0 for a non-MathML index (which won't occur in valid MathML).
+    RenderBox* index() const;
</ins><span class="cx"> 
</span><del>-// These are specific wrappers for the index and base, that ask the parent to restructure the renderers after child removal.
-class RenderMathMLRootWrapper : public RenderMathMLRow {
-
-friend class RenderMathMLRoot;
-
-public:
-    RenderMathMLRootWrapper(Document&amp; document, PassRef&lt;RenderStyle&gt; style)
-        : RenderMathMLRow(document, std::move(style)) { }
-
-private:
-    RenderObject* removeChildWithoutRestructuring(RenderObject&amp;);
-    RenderObject* removeChild(RenderObject&amp;) override;
-    static RenderPtr&lt;RenderMathMLRootWrapper&gt; createAnonymousWrapper(RenderMathMLRoot* renderObject);
-    virtual bool isRenderMathMLRootWrapper() const override final { return true; }
-    virtual const char* renderName() const override { return &quot;RenderMathMLRootWrapper&quot;; }
</del><ins>+    int m_intrinsicPaddingBefore;
+    int m_intrinsicPaddingAfter;
+    int m_intrinsicPaddingStart;
+    int m_intrinsicPaddingEnd;
+    int m_overbarLeftPointShift;
+    int m_indexTop;
</ins><span class="cx"> };
</span><del>-
-RENDER_OBJECT_TYPE_CASTS(RenderMathMLRootWrapper, isRenderMathMLRootWrapper())
-
</del><ins>+    
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(MATHML)
</span></span></pre>
</div>
</div>

</body>
</html>