<!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>[169945] 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/169945">169945</a></dd>
<dt>Author</dt> <dd>fred.wang@free.fr</dd>
<dt>Date</dt> <dd>2014-06-13 13:34:54 -0700 (Fri, 13 Jun 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/169939">r169939</a>.
https://bugs.webkit.org/show_bug.cgi?id=133878
This patch raises assertions on mac (Requested by fredw on
#webkit).
Reverted changeset:
"Draw radicals with glyphs for better rendering"
https://bugs.webkit.org/show_bug.cgi?id=119038
http://trac.webkit.org/changeset/169939
Patch by Commit Queue <commit-queue@webkit.org> on 2014-06-13</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/ChangeLog        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-06-13 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r169939.
+ https://bugs.webkit.org/show_bug.cgi?id=133878
+
+ This patch raises assertions on mac (Requested by fredw on
+ #webkit).
+
+ Reverted changeset:
+
+ "Draw radicals with glyphs for better rendering"
+ https://bugs.webkit.org/show_bug.cgi?id=119038
+ http://trac.webkit.org/changeset/169939
+
</ins><span class="cx"> 2014-06-13 Enrique Ocaña González <eocanha@igalia.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed GTK gardening.
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/TestExpectations        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/opentype/roots-LatinModern.html        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/mathml/opentype/roots-LatinModern.html        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -1,80 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <title>Roots Latin Modern</title>
- <meta charset="utf-8"/>
- <style type="text/css">
- @font-face {
- font-family: "Latin Modern Math";
- src: local("Latin Modern Math"), local("LatinModernMath-Regular"), url("latinmodern-math.woff");
- }
- math {
- font-family: "Latin Modern Math";
- }
- </style>
- </head>
- <body>
-
- <!-- We test the rendering roots with the Latin Modern Math font -->
-
- <!-- nested square roots of various sizes -->
- <math display="block">
- <mrow>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <msqrt>
- <mn>1</mn>
- <mo>+</mo>
- <mi>x</mi>
- </msqrt>
- </msqrt>
- </msqrt>
- </msqrt>
- </msqrt>
- </msqrt>
- </msqrt>
- </mrow>
- </math>
-
- <!-- mroot with short index -->
- <math display="block">
- <mroot>
- <mspace width="20px" height="50px" mathbackground="red"/>
- <mspace width="20px" height="10px" mathbackground="green"/>
- </mroot>
- <mroot>
- <mspace width="20px" height="20px" mathbackground="red"/>
- <mspace width="20px" height="5px" mathbackground="blue"/>
- </mroot>
- </math>
-
- <!-- mroot with tall index -->
- <math display="block">
- <mroot>
- <mspace width="20px" height="50px" mathbackground="red"/>
- <mspace width="20px" height="50px" mathbackground="green"/>
- </mroot>
- <mroot>
- <mspace width="20px" height="20px" mathbackground="red"/>
- <mspace width="20px" height="20px" mathbackground="blue"/>
- </mroot>
- </math>
-
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmroottransformexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/mathml/presentation/mroot-transform-expected.html        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <title>mroot transform (bug 126516)</title>
- </head>
- <body>
-
- <div style="position: absolute; top: 0; left: 0;">
- <svg>
- <g transform="translate(200,0)">
- <rect width="100" height="100" fill="red"/>
- </g>
- </svg>
- </div>
-
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmroottransformhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/mathml/presentation/mroot-transform.html (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mroot-transform.html        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/mathml/presentation/mroot-transform.html        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -1,33 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <title>mroot transform (bug 126516)</title>
- </head>
- <body>
-
- <!-- This cubic root should be translated to the left... -->
- <div style="position: absolute; top: 0; left: 0;">
- <svg>
- <g transform="translate(200,0)">
- <switch>
- <foreignObject width="100" height="100">
- <math>
- <mroot><mi>x</mi><mn>3</mn></mroot>
- </math>
- </foreignObject>
- </switch>
- </g>
- </svg>
- </div>
-
- <!-- ... and thus hidden by this red rectangle. -->
- <div style="position: absolute; top: 0; left: 0;">
- <svg>
- <g transform="translate(200,0)">
- <rect width="100" height="100" fill="red"/>
- </g>
- </svg>
- </div>
-
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/TestExpectations (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/TestExpectations        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/efl/TestExpectations        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/efl/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "x"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/gtk/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "x"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: " "
</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: "\x{221A}"
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/gtk/mathml/presentation/roots-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: "square root (should be red): "
- 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: "\x{221A}"
- 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: "square root (should be red): "
+ 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: "2"
</span><del>- RenderBlock {p} at (0,34) size 784x18
- RenderText {#text} at (0,1) size 110x17
- text run at (0,1) width 110: "long square root: "
- 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: "\x{221A}"
- 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: "long square root: "
+ 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: "1"
</span><del>- RenderBlock {p} at (0,68) size 784x22
- RenderText {#text} at (0,5) size 222x17
- text run at (0,5) width 222: "long square root with implied row: "
- 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: "\x{221A}"
- 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: "long square root with implied row: "
+ 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: "1"
</span><del>- RenderBlock {p} at (0,106) size 784x37
- RenderText {#text} at (0,10) size 113x17
- text run at (0,10) width 113: "root of a fraction: "
</del><ins>+ RenderBlock {p} at (0,103) size 784x37
+ RenderText {#text} at (0,9) size 113x17
+ text run at (0,9) width 113: "root of a fraction: "
</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: "\x{221A}"
- 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: "2"
</span><del>- RenderBlock {p} at (0,159) size 784x18
- RenderText {#text} at (0,1) size 173x17
- text run at (0,1) width 173: "cube root (should be blue): "
</del><ins>+ RenderBlock {p} at (0,156) size 784x21
+ RenderText {#text} at (0,4) size 173x17
+ text run at (0,4) width 173: "cube root (should be blue): "
</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: "3"
- 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: "\x{221A}"
- 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: "long index: "
+ 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: "long index w/ complex base: "
+ 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: "high index: "
+ 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: "Imbricated square roots: "
+ 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: "2"
- RenderBlock {p} at (0,193) size 784x18
- RenderText {#text} at (0,1) size 75x17
- text run at (0,1) width 75: "long index: "
- 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: "x"
- 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: "+"
- 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: "y"
- 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: "+"
- 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: "z"
- 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: "\x{221A}"
- 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: "2"
- RenderBlock {p} at (0,227) size 784x37
- RenderText {#text} at (0,10) size 185x17
- text run at (0,10) width 185: "long index w/ complex base: "
- 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: "x"
- 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: "+"
- 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: "y"
- 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: "+"
- 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: "z"
- 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: "\x{221A}"
- 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: "x"
- 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: "+"
- 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: "1"
- 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: "x"
- 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: "+"
- 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: "2"
- RenderBlock {p} at (0,280) size 784x35
- RenderText {#text} at (0,18) size 75x17
- text run at (0,18) width 75: "high index: "
- 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: "x"
- 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: "y"
- 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: "z"
- 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: "\x{221A}"
- 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: "2"
- RenderBlock {p} at (0,331) size 784x59
- RenderText {#text} at (0,29) size 155x17
- text run at (0,29) width 155: "Imbricated square roots: "
- 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: "\x{221A}"
- 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: "1"
</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: "+"
</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: "\x{221A}"
- 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: "2"
</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: "+"
</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: "\x{221A}"
- 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: "3"
</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: "+"
</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: "\x{221A}"
- 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: "4"
</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: "+"
</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: "\x{221A}"
- 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: "5"
</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: "+"
</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: "\x{221A}"
- 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: "6"
</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: "+"
</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: "\x{221A}"
- 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: "7"
</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: "+"
</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: "\x{221A}"
- 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: "A"
</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: "Imbricated roots: "
</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: "3"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "4"
- 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: "\x{221A}"
- 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: "2"
- 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: "+"
- 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: "5"
- 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: "\x{221A}"
- 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: "3"
- 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: "+"
- 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: "6"
- 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: "\x{221A}"
- 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: "4"
- 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: "+"
- 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: "7"
- 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: "\x{221A}"
- 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: "5"
- 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: "+"
- 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: "8"
- 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: "\x{221A}"
- 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: "6"
- 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: "+"
- 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: "9"
- 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: "\x{221A}"
- 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: "7"
- 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: "+"
- 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: "x"
- 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: "+"
- 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: "y"
- 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: "z"
- 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: "\x{221A}"
- 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: "A"
</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: "2"
+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: "3"
+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: "2"
+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: "x"
+ 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: "+"
+ 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: "y"
+ 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: "+"
+ 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: "z"
+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: "x"
+ 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: "+"
+ 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: "1"
+ 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: "x"
+ 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: "+"
+ 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: "2"
+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: "x"
+ 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: "+"
+ 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: "y"
+ 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: "+"
+ 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: "z"
+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: "2"
+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: "x"
+ 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: "y"
+ 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: "z"
+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: "1"
+ 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: "+"
+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: "2"
+ 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: "+"
+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: "3"
+ 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: "+"
+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: "4"
+ 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: "+"
+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: "5"
+ 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: "+"
+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: "6"
+ 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: "+"
+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: "7"
+ 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: "+"
+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: "A"
+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: "x"
+ 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: "+"
+ 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: "y"
+ 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: "z"
+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: "9"
+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: "8"
+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: "7"
+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: "6"
+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: "5"
+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: "4"
+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: "3"
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/mac/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "x"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/win/TestExpectations        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/LayoutTests/platform/win/mathml/opentype/roots-LatinModern-expected.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "\x{221A}"
- 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: "1"
- 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: "+"
- 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: "x"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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: "\x{221A}"
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/ChangeLog        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-06-13 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r169939.
+ https://bugs.webkit.org/show_bug.cgi?id=133878
+
+ This patch raises assertions on mac (Requested by fredw on
+ #webkit).
+
+ Reverted changeset:
+
+ "Draw radicals with glyphs for better rendering"
+ https://bugs.webkit.org/show_bug.cgi?id=119038
+ http://trac.webkit.org/changeset/169939
+
</ins><span class="cx"> 2014-06-13 Anders Carlsson <andersca@apple.com>
</span><span class="cx">
</span><span class="cx"> Add a HTTPHeaderMap::set overload that takes a HTTPHeaderName
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -11422,7 +11422,6 @@
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLMath.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLMenclose.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLOperator.cpp" />
</span><del>- <ClCompile Include="..\rendering\mathml\RenderMathMLRadicalOperator.cpp" />
</del><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLRoot.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLRow.cpp" />
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLSpace.cpp" />
</span><span class="lines">@@ -20134,7 +20133,6 @@
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLMath.h" />
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLMenclose.h" />
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLOperator.h" />
</span><del>- <ClInclude Include="..\rendering\mathml\RenderMathMLRadicalOperator.h" />
</del><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLRoot.h" />
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLRow.h" />
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLSpace.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -2742,9 +2742,6 @@
</span><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLOperator.cpp">
</span><span class="cx"> <Filter>rendering\mathml</Filter>
</span><span class="cx"> </ClCompile>
</span><del>- <ClCompile Include="..\rendering\mathml\RenderMathMLRadicalOperator.cpp">
- <Filter>rendering\mathml</Filter>
- </ClCompile>
</del><span class="cx"> <ClCompile Include="..\rendering\mathml\RenderMathMLRoot.cpp">
</span><span class="cx"> <Filter>rendering\mathml</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -9655,9 +9652,6 @@
</span><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLOperator.h">
</span><span class="cx"> <Filter>rendering\mathml</Filter>
</span><span class="cx"> </ClInclude>
</span><del>- <ClInclude Include="..\rendering\mathml\RenderMathMLRadicalOperator.h">
- <Filter>rendering\mathml</Filter>
- </ClInclude>
</del><span class="cx"> <ClInclude Include="..\rendering\mathml\RenderMathMLRoot.h">
</span><span class="cx"> <Filter>rendering\mathml</Filter>
</span><span class="cx"> </ClInclude>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-13 20:34:54 UTC (rev 169945)
</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 = "<group>"; };
</span><span class="cx">                 439046CB12DA25E800AF80A2 /* RenderMathMLOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLOperator.cpp; path = mathml/RenderMathMLOperator.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 439046CC12DA25E800AF80A2 /* RenderMathMLOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLOperator.h; path = mathml/RenderMathMLOperator.h; sourceTree = "<group>"; };
</span><del>-                439046CB12DA25E800BF80A3 /* RenderMathMLRadicalOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRadicalOperator.cpp; path = mathml/RenderMathMLRadicalOperator.cpp; sourceTree = "<group>"; };
-                439046CC12DA25E800BF80A3 /* RenderMathMLRadicalOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLRadicalOperator.h; path = mathml/RenderMathMLRadicalOperator.h; sourceTree = "<group>"; };
</del><span class="cx">                 439046CD12DA25E800AF80A2 /* RenderMathMLRoot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRoot.cpp; path = mathml/RenderMathMLRoot.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 439046CE12DA25E800AF80A2 /* RenderMathMLRoot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLRoot.h; path = mathml/RenderMathMLRoot.h; sourceTree = "<group>"; };
</span><span class="cx">                 439046CF12DA25E800AF80A2 /* RenderMathMLRow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLRow.cpp; path = mathml/RenderMathMLRow.cpp; sourceTree = "<group>"; };
</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">@@ -25505,7 +25499,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">@@ -28970,7 +28963,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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/mathml.css        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/css/mathml.css        2014-06-13 20:34:54 UTC (rev 169945)
</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 > * { /* This rule is needed because of <msqrt>'s anonymous <mrow>. */
+ -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 > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + * {
</span><span class="cx"> font-size: 0.75em; /* FIXME: MathML standard is 0.71em */
</span><span class="cx"> }
</span><del>-mroot > *: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 <msubsup>'s. */
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+mroot {
+ position: relative;
+}
+mroot > * + * {
+ 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="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"] {
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.h        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/RenderObject.h        2014-06-13 20:34:54 UTC (rev 169945)
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-06-13 20:34:54 UTC (rev 169945)
</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& document, PassRef<RenderStyle> style, const String& operatorString, MathMLOperatorDictionary::Form form, unsigned short flags)
</del><ins>+RenderMathMLOperator::RenderMathMLOperator(Document& document, PassRef<RenderStyle> style, const String& 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& name)
</span><span class="cx"> {
</span><del>- ASSERT(!isAnonymous());
</del><ins>+ ASSERT(!isFencedOperator());
</ins><span class="cx"> const AtomicString& attributeValue = element().fastGetAttribute(name);
</span><span class="cx"> if (attributeValue == "true")
</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 & (MathMLOperatorDictionary::Fence | MathMLOperatorDictionary::Separator)) | entry->flags;
</span><span class="cx"> else
</span><span class="cx"> m_operatorFlags = entry->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& form = element().fastGetAttribute(MathMLNames::formAttr);
</span><span class="cx"> if (form == "prefix")
</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 &= 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& 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2014-06-13 20:34:54 UTC (rev 169945)
</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&, PassRef<RenderStyle>);
</span><del>- RenderMathMLOperator(Document&, PassRef<RenderStyle>, const String& operatorString, MathMLOperatorDictionary::Form, unsigned short flags = 0);
</del><ins>+ RenderMathMLOperator(Document&, PassRef<RenderStyle>, const String& 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&, const LayoutPoint&);
</del><ins>+ void paint(PaintInfo&, const LayoutPoint&);
</ins><span class="cx">
</span><span class="cx"> void updateTokenContent(const String& 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() ? "RenderMathMLOperator (anonymous)" : "RenderMathMLOperator"; }
</span><span class="cx"> virtual void paintChildren(PaintInfo& forSelf, const LayoutPoint&, PaintInfo& 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 <= m_operator && m_operator <= 0x2064; }
</span><span class="cx"> virtual bool isChildAllowed(const RenderObject&, const RenderStyle&) const override;
</span><span class="lines">@@ -186,7 +187,7 @@
</span><span class="cx">
</span><span class="cx"> void setOperatorFlagFromAttribute(MathMLOperatorDictionary::Flag, const QualifiedName&);
</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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.cpp        2014-06-13 20:34:54 UTC (rev 169945)
</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
- * "AS IS" 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 "config.h"
-
-#if ENABLE(MATHML)
-#include "RenderMathMLRadicalOperator.h"
-
-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 & 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 "dip" (* frontWidth)
-const float gRadicalDipLeftPointXFront = 0.8f;
-// Vertical position of the top left point of a sqrt radical "dip" (* 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& document, PassRef<RenderStyle> style)
- : RenderMathMLOperator(document, std::move(style), String(&gRadicalCharacter, 1), MathMLOperatorDictionary::Prefix)
-{
-}
-
-void RenderMathMLRadicalOperator::stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline)
-{
- const auto& primaryFontData = style().font().primaryFont();
- if (!primaryFontData || !primaryFontData->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& primaryFontData = style().font().primaryFont();
- if (primaryFontData && primaryFontData->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& computedValues) const
-{
- const auto& primaryFontData = style().font().primaryFont();
- if (primaryFontData && primaryFontData->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& info, const LayoutPoint& paintOffset)
-{
- if (info.context->paintingDisabled() || info.phase != PaintPhaseForeground || style().visibility() != VISIBLE)
- return;
-
- const auto& primaryFontData = style().font().primaryFont();
- if (primaryFontData && primaryFontData->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->setStrokeThickness(gRadicalLineThicknessEms * style().fontSize());
- info.context->setStrokeStyle(SolidStroke);
- info.context->setStrokeColor(style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
- info.context->setLineJoin(MiterJoin);
- info.context->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 "dip"
- root.addLineTo(dipLeftPoint);
- // draw to end
- root.addLineTo(leftEnd);
-
- info.context->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->clip(mask);
-
- // Draw the thick part of the root.
- info.context->setStrokeThickness(gRadicalThickLineThicknessEms * style().fontSize());
- info.context->setLineCap(SquareCap);
-
- Path line;
- line.moveTo(bottomPoint);
- line.addLineTo(dipLeftPoint);
-
- info.context->strokePath(line);
-}
-
-LayoutUnit RenderMathMLRadicalOperator::trailingSpaceError()
-{
- const auto& primaryFontData = style().font().primaryFont();
- if (!primaryFontData || !primaryFontData->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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRadicalOperator.h        2014-06-13 20:34:54 UTC (rev 169945)
</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
- * "AS IS" 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 "PaintInfo.h"
-#include "RenderMathMLOperator.h"
-
-namespace WebCore {
-
-class RenderMathMLRadicalOperator final : public RenderMathMLOperator {
-public:
- RenderMathMLRadicalOperator(Document&, PassRef<RenderStyle>);
- virtual void stretchTo(LayoutUnit heightAboveBaseline, LayoutUnit depthBelowBaseline);
- virtual void computePreferredLogicalWidths() override;
- virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const override;
- virtual void paint(PaintInfo&, const LayoutPoint& paintOffset) override;
- LayoutUnit trailingSpaceError();
-
-private:
- virtual bool isRenderMathMLRadicalOperator() const override { return true; }
- virtual const char* renderName() const override { return isAnonymous() ? "RenderMathMLRadicalOperator (anonymous)" : "RenderMathMLRadicalOperator"; }
- 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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -30,339 +30,282 @@
</span><span class="cx">
</span><span class="cx"> #include "RenderMathMLRoot.h"
</span><span class="cx">
</span><del>-#include "FontCache.h"
</del><span class="cx"> #include "GraphicsContext.h"
</span><span class="cx"> #include "PaintInfo.h"
</span><span class="cx"> #include "RenderIterator.h"
</span><del>-#include "RenderMathMLRadicalOperator.h"
</del><ins>+#include "RenderMathMLRow.h"
</ins><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-// RenderMathMLRoot implements drawing of radicals via the <mroot> and <msqrt> elements. For valid MathML elements, the DOM is
-//
-// <mroot> Base Index </mroot>
-// <msqrt> Child1 Child2 ... ChildN </msqrt>
-//
-// and the structure of the render tree will be
-//
-// IndexWrapper RadicalWrapper BaseWrapper
-//
-// where RadicalWrapper contains an <mo>&#x221A;</mo>.
-// For <mroot>, the IndexWrapper and BaseWrapper should contain exactly one child (Index and Base respectively).
-// For <msqrt>, 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 <mroot> and <msqrt> consistently, we will allow any number of children in the BaseWrapper of <mroot> too.
-// We will allow the IndexWrapper to be empty and it will always contain the last child of the <mroot> 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 & 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 "dip" (* frontWidth)
+const float gRadicalDipLeftPointXFront = 0.8f;
+// Vertical position of the top left point of a sqrt radical "dip" (* baseHeight)
+const float gSqrtRadicalDipLeftPointYPos = 0.5f;
+// Vertical position of the top left point of an nth root radical "dip" (* 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 > 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& element, PassRef<RenderStyle> 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& document, PassRef<RenderStyle> 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()->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()->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->isEmpty() && (!index || index->isEmpty())) {
- if (!radical->isEmpty()) {
- auto child = radicalOperator();
- radical->removeChild(*child);
- child->destroy();
- }
- return;
- }
-
- if (radical->isEmpty()) {
- // We create the radical operator.
- RenderPtr<RenderMathMLRadicalOperator> radicalOperator = createRenderer<RenderMathMLRadicalOperator>(document(), RenderStyle::createAnonymousStyleWithDisplay(&style(), FLEX));
- radicalOperator->initializeStyle();
- radical->addChild(radicalOperator.leakPtr());
- }
-
- if (isRenderMathMLSquareRoot())
- return;
-
- if (auto childToMove = base->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->previousSibling() && index->isEmpty()) {
- base->removeChildWithoutRestructuring(*childToMove);
- index->addChild(childToMove);
- }
- }
-
- if (auto childToMove = index->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->nextSibling() || base->isEmpty()) {
- index->removeChildWithoutRestructuring(*childToMove);
- base->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 && beforeChild->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->parent() : nullptr;
- if (actualParent == base || actualParent == index)
- actualBeforeChild = toRenderElement(beforeChild);
- else {
- actualParent = index;
- actualBeforeChild = nullptr;
- }
- }
- actualParent->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& primaryFontData = style().font().primaryFont();
- if (primaryFontData && primaryFontData->mathData()) {
- // FIXME: m_verticalGap should use RadicalDisplayStyleVertical in display mode (https://bugs.webkit.org/show_bug.cgi?id=118737).
- m_verticalGap = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalVerticalGap);
- m_ruleThickness = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalRuleThickness);
- m_extraAscender = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalExtraAscender);
-
- if (!isRenderMathMLSquareRoot()) {
- kernBeforeDegree = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalKernBeforeDegree);
- kernAfterDegree = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalKernAfterDegree);
- m_degreeBottomRaisePercent = primaryFontData->mathData()->getMathConstant(primaryFontData, OpenTypeMathData::RadicalDegreeBottomRaisePercent);
- }
- }
-
- // We set the style of the anonymous wrappers.
-
- auto radical = radicalWrapper();
- auto radicalStyle = RenderStyle::createAnonymousStyleWithDisplay(&style(), FLEX);
- radicalStyle.get().setMarginTop(Length(0, Fixed)); // This will be updated in RenderMathMLRoot::layout().
- radical->setStyle(std::move(radicalStyle));
- radical->setNeedsLayoutAndPrefWidthsRecalc();
-
- auto base = baseWrapper();
- auto baseStyle = RenderStyle::createAnonymousStyleWithDisplay(&style(), FLEX);
- baseStyle.get().setMarginTop(Length(0, Fixed)); // This will be updated in RenderMathMLRoot::layout().
- baseStyle.get().setAlignItems(AlignBaseline);
- base->setStyle(std::move(baseStyle));
- base->setNeedsLayoutAndPrefWidthsRecalc();
-
- if (!isRenderMathMLSquareRoot()) {
- // For mroot, we also set the style of the index wrapper.
- auto index = indexWrapper();
- auto indexStyle = RenderStyle::createAnonymousStyleWithDisplay(&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->setStyle(std::move(indexStyle));
- index->setNeedsLayoutAndPrefWidthsRecalc();
- }
</del><ins>+ // Insert an implicit <mrow> for <mroot> as well as <msqrt>, 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 <mroot>'s index has { position: absolute }.
+ if (newChild->style().position() == AbsolutePosition)
+ RenderMathMLBlock::addChild(newChild);
+ else
+ toRenderElement(firstChild())->addChild(newChild, beforeChild && beforeChild->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<int>(lroundf(base->firstLineBaseline() + base->marginTop()));
- }
-
- return RenderMathMLBlock::firstLineBaseline();
</del><ins>+ if (!firstChild())
+ return 0;
+ RenderObject* index = firstChild()->nextSibling();
+ if (!index || !index->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& box : childrenOfType<RenderBox>(*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->marginTop() > 0) {
- RenderMathMLBlock::layout();
- return;
</del><ins>+ int baseHeight = firstChild() && firstChild()->isBox() ? roundToInt(toRenderBox(firstChild())->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 > thresholdHeight && thresholdHeight) {
+ float shift = std::min<float>((baseHeight - thresholdHeight) / thresholdHeight, 1.0f);
+ m_overbarLeftPointShift = static_cast<int>(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->index()) {
+ m_intrinsicPaddingStart = roundToInt(index->maxPreferredLogicalWidth()) + m_overbarLeftPointShift;
</ins><span class="cx">
</span><del>- // We layout the children.
- for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
- if (child->needsLayout())
- toRenderElement(child)->layout();
- }
</del><ins>+ int indexHeight = roundToInt(index->logicalHeight());
+ int partDipHeight = lroundf((1 - gRootRadicalDipLeftPointYPos) * baseHeight);
+ int rootExtraTop = partDipHeight + indexHeight - (baseHeight + rootPad);
+ if (rootExtraTop > 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->logicalHeight();
- float baseHeightAboveBaseline = base->firstLineBaseline();
- if (baseHeightAboveBaseline == -1)
- baseHeightAboveBaseline = baseHeight;
- float baseDepthBelowBaseline = baseHeight - baseHeightAboveBaseline;
- baseHeightAboveBaseline += m_verticalGap;
- radical->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->isEmpty())
- indexHeight = toRenderBlock(index->firstChild())->logicalHeight();
- float indexTopMargin = (1.0 - m_degreeBottomRaisePercent) * radical->stretchSize() + radicalTopMargin - indexHeight;
- if (indexTopMargin < 0) {
- // If the index is too tall, we must add space at the top of renderer.
- radicalTopMargin -= indexTopMargin;
- baseTopMargin -= indexTopMargin;
- indexTopMargin = 0;
- }
- index->style().setMarginTop(Length(indexTopMargin, Fixed));
- }
- radical->style().setMarginTop(Length(radicalTopMargin, Fixed));
- base->style().setMarginTop(Length(baseTopMargin, Fixed));
- }
-
</del><span class="cx"> RenderMathMLBlock::layout();
</span><ins>+
+ if (RenderBox* index = this->index())
+ index->setLogicalTop(m_indexTop);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderMathMLRoot::paint(PaintInfo& info, const LayoutPoint& paintOffset)
</span><span class="cx"> {
</span><span class="cx"> RenderMathMLBlock::paint(info, paintOffset);
</span><span class="cx">
</span><del>- if (isEmpty() || info.context->paintingDisabled() || style().visibility() != VISIBLE)
</del><ins>+ if (info.context->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->setStrokeThickness(m_ruleThickness);
</del><ins>+
+ info.context->setStrokeThickness(gRadicalLineThicknessEms * style().fontSize());
</ins><span class="cx"> info.context->setStrokeStyle(SolidStroke);
</span><span class="cx"> info.context->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->trailingSpaceError();
- IntPoint adjustedPaintOffset = roundedIntPoint(paintOffset + location() + base->location() + LayoutPoint(-sizeError, -(m_verticalGap + m_ruleThickness / 2)));
- info.context->drawLine(adjustedPaintOffset, IntPoint(adjustedPaintOffset.x() + base->pixelSnappedOffsetWidth() + sizeError, adjustedPaintOffset.y()));
</del><ins>+ info.context->setLineJoin(MiterJoin);
+ info.context->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 "dip"
+ root.addLineTo(dipLeftPoint);
+ // draw to end
+ root.addLineTo(leftEnd);
+
+ info.context->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->clip(mask);
+
+ // Draw the thick part of the root.
+ info.context->setStrokeThickness(gRadicalThickLineThicknessEms * style().fontSize());
+ info.context->setLineCap(SquareCap);
+
+ Path line;
+ line.moveTo(bottomPoint);
+ line.addLineTo(dipLeftPoint);
+
+ info.context->strokePath(line);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-RenderPtr<RenderMathMLRootWrapper> RenderMathMLRootWrapper::createAnonymousWrapper(RenderMathMLRoot* renderObject)
-{
- RenderPtr<RenderMathMLRootWrapper> newBlock = createRenderer<RenderMathMLRootWrapper>(renderObject->document(), RenderStyle::createAnonymousStyleWithDisplay(&renderObject->style(), FLEX));
- newBlock->initializeStyle();
- return newBlock;
</del><span class="cx"> }
</span><span class="cx">
</span><del>-RenderObject* RenderMathMLRootWrapper::removeChildWithoutRestructuring(RenderObject& child)
-{
- return RenderMathMLBlock::removeChild(child);
-}
-
-RenderObject* RenderMathMLRootWrapper::removeChild(RenderObject& child)
-{
- RenderObject* next = RenderMathMLBlock::removeChild(child);
-
- if (!(beingDestroyed() || documentBeingDestroyed()))
- toRenderMathMLRoot(parent())->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 (169944 => 169945)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-06-13 19:54:48 UTC (rev 169944)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-06-13 20:34:54 UTC (rev 169945)
</span><span class="lines">@@ -29,25 +29,25 @@
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx">
</span><span class="cx"> #include "RenderMathMLBlock.h"
</span><del>-#include "RenderMathMLRow.h"
</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&, PassRef<RenderStyle>);
</span><span class="cx"> RenderMathMLRoot(Document&, PassRef<RenderStyle>);
</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 "RenderMathMLRoot"; }
</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& document, PassRef<RenderStyle> style)
- : RenderMathMLRow(document, std::move(style)) { }
-
-private:
- RenderObject* removeChildWithoutRestructuring(RenderObject&);
- RenderObject* removeChild(RenderObject&) override;
- static RenderPtr<RenderMathMLRootWrapper> createAnonymousWrapper(RenderMathMLRoot* renderObject);
- virtual bool isRenderMathMLRoot() const override final { return true; }
- virtual const char* renderName() const override { return "RenderMathMLRootWrapper"; }
</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>