<!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>[203289] 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/203289">203289</a></dd>
<dt>Author</dt> <dd>fred.wang@free.fr</dd>
<dt>Date</dt> <dd>2016-07-15 11:47:16 -0700 (Fri, 15 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>MathOperator: Improve alignment for vertical size variant
https://bugs.webkit.org/show_bug.cgi?id=158866

Patch by Frederic Wang &lt;fwang@igalia.com&gt; on 2016-07-15
Reviewed by Brent Fulgham.

Source/WebCore:

The MathOperator class may stretch operators with either a large glyph or a glyph assembly.
In the latter case, the assembly is adjusted to match the stretch ascent and descent
requested by the callers. But in the former case the glyph ascent and descent are used
instead. We solve this by making MathOperator::stretchTo only take a targetSize and let
callers do the vertical alignment they want. This improves the rendering of fences with some
math fonts (e.g. XITS) and allows to pass the two cases of mo-axis-height-1.html.

Test: imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html

* rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::stretchTo): Merge vertical and horizontal stretching into the same
function with only the targetSize as a parameter.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchTo): Updated to use the new signature.
(WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): Helper function to calculate
the shift necessary to align the baseline of the MathOperator instance with the one of the
RenderMathMLOperator.
(WebCore::RenderMathMLOperator::firstLineBaseline): Adjust the baseline.
* rendering/mathml/RenderMathMLOperator.h: Declare verticalStretchedOperatorShift.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layoutBlock): Use the new signature. This function aligns the top
of the radical with the overbar so we do not need to adjust baseline alignment here.

LayoutTests:

We import the latest version of mo-axis-height-1.html and update the expectation now that we
pass the two cases (size variant and glyph assembly). We also rebaseline some pixel tests.

* imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Updated.
* imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Updated to expect PASS.
* imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html: Updated to include the two tests.
* platform/gtk/mathml/opentype/vertical-expected.png: Rebaseline to take into account better alignment of size variant.
* platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
* platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
* platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
* platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
* platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
* platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedmathmlinhtml5fontsmathaxisheight5000verticalarrow14000woff">trunk/LayoutTests/imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff</a></li>
<li><a href="#trunkLayoutTestsimportedmathmlinhtml5mathmlpresentationmarkupoperatorsmoaxisheight1expectedtxt">trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedmathmlinhtml5mathmlpresentationmarkupoperatorsmoaxisheight1html">trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeverticalexpectedpng">trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkmathmlopentypeverticalexpectedtxt">trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.txt</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="#trunkLayoutTestsplatformiossimulatormathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimulatormathmlpresentationmostretchexpectedtxt">trunk/LayoutTests/platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmathmlopentypeopentypestretchyexpectedtxt">trunk/LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmathmlpresentationmostretchexpectedtxt">trunk/LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlMathOperatorcpp">trunk/Source/WebCore/rendering/mathml/MathOperator.cpp</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>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/ChangeLog        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2016-07-15  Frederic Wang  &lt;fwang@igalia.com&gt;
+
+        MathOperator: Improve alignment for vertical size variant
+        https://bugs.webkit.org/show_bug.cgi?id=158866
+
+        Reviewed by Brent Fulgham.
+
+        We import the latest version of mo-axis-height-1.html and update the expectation now that we
+        pass the two cases (size variant and glyph assembly). We also rebaseline some pixel tests.
+
+        * imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Updated.
+        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Updated to expect PASS.
+        * imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html: Updated to include the two tests.
+        * platform/gtk/mathml/opentype/vertical-expected.png: Rebaseline to take into account better alignment of size variant.
+        * platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
+        * platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
+        * platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
+        * platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
+        * platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
+        * platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
+        * platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.
+
</ins><span class="cx"> 2016-07-15  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebKit should prevent push/replace state with username in URL.
</span></span></pre></div>
<a id="trunkLayoutTestsimportedmathmlinhtml5fontsmathaxisheight5000verticalarrow14000woff"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,15 +1,12 @@
</span><del>-wOFFOTTO         hCFF Tn\xC1\x8EFFTMhyȐ\xACMATH\x84\x81hTK&quot;OS/2\@`\xF81\x92cmap\xFC@JCB\xE2Phead.6        \xBA\xE0\xD1hhea8$=\xEBhmtx\xD0maxpTPname\x9C^x\x98\xB7\xAF$post&lt; \xFF\x863x\x9Cc`d``b妺M\xF1\xFC6_\xB8\x99_E.G\x99\xCCC\xA6\x99_\x98mR L ,\xA8
-Fx\x9Cc`d``~\xC1\xC0\xC0\x90&amp;AlFT\xC0P\xA02Px\x9Cc`a~\xC18\x81\x81\x95\x81\x81\x99\x87ك\x81\x81a\x84fr`\xB0f4\xD2 \xAC\x9C 0\xC0\xC4
</del><ins>+wOFFOTTO&lt;         \xBCCFF T*\xA2S(\xEEKFFTM\x80y\xE2\xE9ZMATH\x9C\x8D\x82XQ&amp;#OS/2\@`\xF81\x92cmap\xFC@JCB\xE2Phead.6        \xD5Mhhea8$=\xEBhmtx,\xD0maxpTPname\x9C^x\x99\xB7\xAF%post&lt; \xFF\x863x\x9Cc`d``⯗=\xD5\xE2\xF9m\xBE2p3\xBF\x8A0\NO\xF8\x8AL3\xBF\xF0\xB2R L V5 dx\x9Cc`d``~\xC1\xC0\xC0\x90&amp;AlFT\xC0P\xA02Px\x9Cc`a~\xC18\x81\x81\x95\x81\x81\x99\x87ك\x81\x81a\x84fr`\xB0f4\xD2 \xAC\x9C 0\xC0\xC4
</ins><span class="cx">  Ƞ\x81AAq\xF3  +I-(!#\x81\xA3\xC9x\x9C\xBD\x91Kj\xC30E\xAF\x9Dt\xD2\xDF
</span><del>-h!8H&amp;\xC9 \xD0AȠ$\xA3B\xE6\xC65\xB1 DA6\xF9t\xDDGGv\xDD@WSz\xAD\x88\x8C
--j!t\xF4|\xDF\xD5\xD3\x80s\xBC&quot;\xC0\xF1\xBB\xC5\xCCs\x80\xDE&lt;\x87\xB8Ƨ\xE7\xEE\x82g\xCFu\xB4\xC2 \xCF-\\x86\x9E\x9B\x8C\xBFP\xD4ϸ\xBBwY\xC3zq\x83\xCF5&lt;W\x9E\xEB\xEF\x9E\xA1\xF2\xDC\xC48|\xC4袱D\x8Em\xA4\xE8p\x8D!\xA10 ͑\xF0O\xCEu\xC6\xDD\x87\xA1J\xBB\xB8&amp;\xAF\x81\x89\xD9\xAC^\xE6\xA5h\xA7K5\xF3\xA4\xCC\xE731*
-\x93\xEA\xA4Ԇ\xB2{ft\xCBNg\xF6yR5&quot;l\xB5\xCE3\xA5r\xC5i9 v\xAC\xA4\xE7UH\xF6\xBAȳ꨾\x942\xDAf\xB6\xD4i\xB2J\xAC5;\xD5c\xBF\xF3\xF9.q\xEA.S\xBAղ\xBC\xCC5\xA2K\xB9\xC0\x90\xF3\xEF\xE5}]#fF\xA76cj\xD6\xE5\xD4\xD8e&amp;\xE2\xAEC\xF1\xE35\xA9Qqԏ\xAA^\xFFWcΧ\xF0\x8F.\\x9Er\xFD9\xDE-\x8B\xCC|h!\xA5\xEAV5\xFESa_,ʣ\xA5x\x9Cc```f\x80`Fp\xF2\xC1|+(!#\x81\xA3\xC9x\x9C\xBD\x91Kj\xC30\x86;覯(\xD0B\xB2p\x90M\x92E\xA0\x8B$\x90EIV\x85\xEC\x85kbA\x88\x82l\xF2\xE8z\x8F\xAE\xBA\xEC%z\x81\x9E\xA6\xF4\xB7&quot;\xB2*\xB4P\xA81\x9F\xC6\xFF\x8CF#\xE7xE\x80\xE3w\x8B\x99\xE7-\xBCyq\x8DO\xCF5\xDCϞ\xEBh\x85\x9E\xB8 &lt;7\xA12\xA8\x9Fqw\xEF\xB2*0\x86\xF5\xE2\x9Ekx
</del><ins>+\xAE&lt;\xD71\xDE=7 \xC2\xD8s\xE3\xF0lp`\x8D%r\x94h#E\x87&gt;\x81D\x8Ci\xC5?9\xFD\x8C\xBB
+\x9A\xA1J\xBB\xB8&amp;\xAF\x81\x89\xD9\xAC^\xE6\xA5h\xA7\x91\xC8x \xE6\xAA\xCC\xE731*
+\x93jUjC\x99ž\xABe\xA73\xFB&lt;\xA9\xB2[F\xAD\xAB\x99R\xB9\xE2\xB24\x83;\xE9y\xD4^yV՗RF\xDB̖:U+e\xAD\xD9\xC5=\x86\xF0\xBB:\xDF%N\xDDeJ\xE7-\xDB\xCB\xDC \xBA\x94 \xB9\xFE\xDE\xFE\xB1NB\x8B\x98\x9Dƌ\xA9Y\x97Sc\x97\x99H\xBAR ŏפ&amp;I\xA2~T\xCD\xFA\xBF\xBBpu
+\xFF\xE8\xC2\xE5\xC5n&gt;ǻa\x91ق-\xA4\x8C\xBBU\x8F\xFF\xD4\xD8/#\xA3\xA7x\x9Cc```f\x80`Fp\xF2\xC1|  \xCD\xA4\x98W\xFC\xFF\xE4\x83\xE9\xFF\xEFEA\xD5#\x82\x83\x92\xEA\x98n        \xB1x\x9Cc`f\x83\xFF\xCD F@\x8A\x91 (U\xB9x\x9Ccd`aa`ddTJ\xAC\xC8,\xCEH\xCDL\xCF(1500\xD0-K-*\xC9LN\xCCI,*\xCA/74
</ins><del>-102102\xE8\xFD\xE0g\xF8!\xC7\xF8C\x9E\xE9\x87\xF3        \x96\xC6\xEE\xEE_52fXe\xDE\xF1\xCB00\xC80|\x94a\x93a\x8Cb`\xE9\xE1ebg\xB0a\x88e\xA8WZ\x90\x92\x97T\x9CZ\x9CY\x95j&quot;\x8C\x9C\xF3 *\x8B@V+h$k*\x9A)\xF8&amp;\x96d\xF8\xFA(8\xE7'g&amp;\x96d\xE6\xE7t a#c;cc'+\xD0\xCBʦ\xEE\x91\xDD{\x9C\xDA˸w\xEF\xCF-{\x99\xF7\x8A\xFD\x92\xF8\xA9\xF7O\x82m\xEF\x9F?\xA2?N\xFD\xDC\xF2\xE7;\xD0w\x8C@\xCC\xDC\xCD\xF2\xAB\xE6WͿ6\xBEep\xE9t\xB3- \x91_5&quot;ݢ\xDD&lt;\\xBFj\x80\x88\x87\xE7W-7\x90\xE2\xDEZ~x\x9Cc```d\x82\xCB&quot;\xEA\xF9`:\xCAd\x8C7}x\x9Cc`d``\xE0bx\xC0\xA8\xC7\xC0`\xC3z\x87 \x84;\x88'\xA0\xB4&amp;j\xA7100\xC6\xA1\xCE\xA2L\xC3\xD8Hf\xA0\x88anj\xA2 \xAF\xD96  b@ZH3\x82M`CT\x9E
-\xF301H0\xC8\xE1tD\xA5\x83\x83        \x90%T\xADg\x8A1KG2\xB0\x98m\x84\x8B1\x82\xD51A\xD8Q\xC8\xB7\xE8\xE8
</del><span class="cx">\ No newline at end of file
</span><ins>+102102\xE8\xFD\xE0g\xF8\xA1\xC0\xF8C\x91\xE9\x87\xF3        \x96\xC6\xEE\xEE_52^\xAC2 ?\xF8edYe\xC4d{\x848@zx\x84\xC4\xA4d\x9C\x92Z\xC0F\x96\xA4\xE4%\xA7gV\xA5\x82\xA3\xA4\xFC\x92Ԋ\xE7\xFC\x82\xCA&quot;\x90#4\x925\x8C \xCD|K2|}\x8B\x8B\xF3\x933K2\xF3\xF3:\x95\xB0_\x80\x80\x91\xB1\x9D\xB1\x83\xB1\x93\xB1\x8B\xB1\x9B\x81ʦ\xEE\x91ٵ\xDD{\x9C\xDA˸w\xEF\xCF-{\x99\xF7\x8A\xFD\x92\xF8\xA9\xF7O\x82m\xEF\x9F?\xA2?N\xFD\xDC\xF2\xE7;з\x8C@\xCC\xDC\xCD\xF2\xAB\xE6WͿ6\xBEep\xE9t\xB3+\xE8&quot;^ Ls~Ոt\x8Bv\xF3p\xFD\xAA&quot;\x9E_5\xDC@\x8A\xCCL\x92Kx\x9Cc```d\x82\xCB&quot;\xEA\xF9`:=\xE1+\x8C=.\x9Dx\x9Cc`d``\xE0bx\xC0\xA8\xC7\xC0`\xC3z\x87 \x84;\x88'\xA0\xB4&amp;j\xA7100\xC6\xA1\xCE\xA2L\xC3\xD8Hf\xA0\x88anj\xA2 \xAF\xD96  b@ZH3\x82M`CT\x9E
+\xF301H0\xC8\xE1tD\xA5\x83\x83\x90%T\xAD\x82$\xCE\xC4\xC0,\xC9\xC0b\xB6.L \xAC \x8A\xF9\x90`\x83\xB2@rLP \x84\\xE3x\x9Cc~\xC1\xC0\xC0 \xC4\xA2\xD7
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedmathmlinhtml5mathmlpresentationmarkupoperatorsmoaxisheight1expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,5 +1,8 @@
</span><span class="cx"> ↨
</span><ins>+ 
+↨
</ins><span class="cx"> 
</span><span class="cx"> 
</span><del>-FAIL AxisHeight assert_approx_equals: mo: axis height expected 50 +/- 1 but got 70
</del><ins>+PASS AxisHeight (size variant) 
+PASS AxisHeight (glyph assembly) 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedmathmlinhtml5mathmlpresentationmarkupoperatorsmoaxisheight1html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> &lt;script&gt;
</span><span class="cx">   var emToPx = 10 / 1000; // font-size: 10px, font.em = 1000
</span><del>-  var epsilon = 1;
</del><ins>+  var epsilon = 5;
</ins><span class="cx"> 
</span><span class="cx">   function getBox(aId) {
</span><span class="cx">     return document.getElementById(aId).getBoundingClientRect();
</span><span class="lines">@@ -34,11 +34,23 @@
</span><span class="cx">   function runTests() {
</span><span class="cx">     test(function() {
</span><span class="cx">       var v1 = 5000 * emToPx;
</span><del>-      var moMiddle = (getBox(&quot;mo&quot;).bottom + getBox(&quot;mo&quot;).top) / 2;
-      assert_approx_equals(getBox(&quot;baseline&quot;).bottom - moMiddle,
</del><ins>+      var moMiddle = (getBox(&quot;mo1&quot;).bottom + getBox(&quot;mo1&quot;).top) / 2;
+      assert_approx_equals(getBox(&quot;mo1&quot;).height,
+                           14000 * emToPx, epsilon, &quot;mo: size&quot;);
+      assert_approx_equals(getBox(&quot;baseline1&quot;).bottom - moMiddle,
</ins><span class="cx">                            v1, epsilon, &quot;mo: axis height&quot;);
</span><del>-    }, &quot;AxisHeight&quot;);
</del><ins>+    }, &quot;AxisHeight (size variant)&quot;);
</ins><span class="cx"> 
</span><ins>+    test(function() {
+      var v1 = 5000 * emToPx;
+      var moMiddle = (getBox(&quot;mo2&quot;).bottom + getBox(&quot;mo2&quot;).top) / 2;
+      assert_approx_equals(getBox(&quot;mo2&quot;).height,
+                           2 * (getBox(&quot;target2&quot;).height - v1),
+                           epsilon, &quot;mo: size&quot;);
+      assert_approx_equals(getBox(&quot;baseline2&quot;).bottom - moMiddle,
+                           v1, epsilon, &quot;mo: axis height&quot;);
+    }, &quot;AxisHeight (glyph assembly)&quot;);
+
</ins><span class="cx">     done();
</span><span class="cx">   }
</span><span class="cx"> &lt;/script&gt;
</span><span class="lines">@@ -47,11 +59,20 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     &lt;math style=&quot;font-family: axisheight5000-verticalarrow14000;&quot;&gt;
</span><span class="cx">       &lt;mrow&gt;
</span><del>-        &lt;mspace id=&quot;baseline&quot; mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;1px&quot;/&gt;
-        &lt;mo id=&quot;mo&quot; mathcolor=&quot;green&quot;&gt;&amp;#x21A8;&lt;/mo&gt;
-        &lt;mspace mathbackground=&quot;black&quot; width=&quot;10px&quot; height=&quot;100px&quot;/&gt;
</del><ins>+        &lt;mspace id=&quot;baseline1&quot; mathbackground=&quot;blue&quot; width=&quot;50px&quot; height=&quot;1px&quot;/&gt;
+        &lt;mpadded voffset=&quot;50px&quot;&gt;&lt;mspace mathbackground=&quot;cyan&quot; width=&quot;50px&quot; height=&quot;1px&quot;/&gt;&lt;/mpadded&gt;
+        &lt;mo id=&quot;mo1&quot; symmetric=&quot;true&quot; mathcolor=&quot;green&quot;&gt;&amp;#x21A8;&lt;/mo&gt;
+        &lt;mspace mathbackground=&quot;gray&quot; width=&quot;10px&quot; height=&quot;50px&quot;/&gt;
</ins><span class="cx">       &lt;/mrow&gt;
</span><span class="cx">     &lt;/math&gt;
</span><ins>+    &lt;math style=&quot;font-family: axisheight5000-verticalarrow14000;&quot;&gt;
+      &lt;mrow&gt;
+        &lt;mspace id=&quot;baseline2&quot; mathbackground=&quot;blue&quot; width=&quot;50px&quot; height=&quot;1px&quot;/&gt;
+        &lt;mpadded voffset=&quot;50px&quot;&gt;&lt;mspace mathbackground=&quot;cyan&quot; width=&quot;50px&quot; height=&quot;1px&quot;/&gt;&lt;/mpadded&gt;
+        &lt;mo id=&quot;mo2&quot; symmetric=&quot;true&quot; mathcolor=&quot;green&quot;&gt;&amp;#x21A8;&lt;/mo&gt;
+        &lt;mspace id=&quot;target2&quot; mathbackground=&quot;gray&quot; width=&quot;10px&quot; height=&quot;200px&quot;/&gt;
+      &lt;/mrow&gt;
+    &lt;/math&gt;
</ins><span class="cx">   &lt;/p&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlopentypeverticalexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkmathmlopentypeverticalexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/gtk/mathml/opentype/vertical-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,10 +1,10 @@
</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 800x358
-  RenderBlock {HTML} at (0,0) size 800x358
-    RenderBody {BODY} at (8,16) size 784x326
-      RenderBlock {P} at (0,0) size 784x18
-        RenderMathMLMath {math} at (0,2) size 98x16
</del><ins>+layer at (0,0) size 800x362
+  RenderBlock {HTML} at (0,0) size 800x362
+    RenderBody {BODY} at (8,16) size 784x330
+      RenderBlock {P} at (0,0) size 784x19
+        RenderMathMLMath {math} at (0,0) size 98x16
</ins><span class="cx">           RenderMathMLOperator {mo} at (0,0) size 4x16
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="lines">@@ -65,10 +65,10 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{27E9}&quot;
</span><del>-          RenderMathMLSpace {mspace} at (97,4) size 0x8
</del><ins>+          RenderMathMLSpace {mspace} at (97,8) size 0x8
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,34) size 784x24
-        RenderMathMLMath {math} at (0,0) size 126x24
</del><ins>+      RenderBlock {P} at (0,35) size 784x27
+        RenderMathMLMath {math} at (0,3) size 126x24
</ins><span class="cx">           RenderMathMLOperator {mo} at (0,0) size 7x24
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="lines">@@ -130,60 +130,60 @@
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{27E9}&quot;
</span><span class="cx">           RenderMathMLSpace {mspace} at (125,0) size 0x16
</span><del>-        RenderText {#text} at (125,2) size 5x17
-          text run at (125,2) width 5: &quot; &quot;
-        RenderMathMLMath {math} at (129,0) size 210x23
-          RenderMathMLOperator {mo} at (0,1) size 17x22
</del><ins>+        RenderText {#text} at (125,5) size 5x17
+          text run at (125,5) width 5: &quot; &quot;
+        RenderMathMLMath {math} at (129,0) size 210x22
+          RenderMathMLOperator {mo} at (0,0) size 17x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x15
</span><span class="cx">               RenderText {#text} at (0,-46) size 8x106
</span><span class="cx">                 text run at (0,-46) width 8: &quot;\x{2191}&quot;
</span><del>-          RenderMathMLOperator {mo} at (16,1) size 18x22
</del><ins>+          RenderMathMLOperator {mo} at (16,0) size 18x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x15
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;\x{2193}&quot;
</span><del>-          RenderMathMLOperator {mo} at (33,3) size 18x18
</del><ins>+          RenderMathMLOperator {mo} at (33,2) size 18x18
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x18
</span><span class="cx">               RenderText {#text} at (0,-44) size 8x106
</span><span class="cx">                 text run at (0,-44) width 8: &quot;\x{2195}&quot;
</span><del>-          RenderMathMLOperator {mo} at (50,1) size 20x22
</del><ins>+          RenderMathMLOperator {mo} at (50,0) size 20x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 10x14
</span><span class="cx">               RenderText {#text} at (0,-46) size 10x106
</span><span class="cx">                 text run at (0,-46) width 10: &quot;\x{21A5}&quot;
</span><del>-          RenderMathMLOperator {mo} at (69,1) size 20x22
</del><ins>+          RenderMathMLOperator {mo} at (69,0) size 20x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 10x14
</span><span class="cx">               RenderText {#text} at (0,-46) size 10x106
</span><span class="cx">                 text run at (0,-46) width 10: &quot;\x{21A7}&quot;
</span><del>-          RenderMathMLOperator {mo} at (88,4) size 17x16
</del><ins>+          RenderMathMLOperator {mo} at (88,3) size 17x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{21BE}&quot;
</span><del>-          RenderMathMLOperator {mo} at (104,4) size 17x16
</del><ins>+          RenderMathMLOperator {mo} at (104,3) size 17x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{21C2}&quot;
</span><del>-          RenderMathMLOperator {mo} at (120,4) size 16x16
</del><ins>+          RenderMathMLOperator {mo} at (120,3) size 16x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{21BF}&quot;
</span><del>-          RenderMathMLOperator {mo} at (136,4) size 16x16
</del><ins>+          RenderMathMLOperator {mo} at (136,3) size 16x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{21C3}&quot;
</span><del>-          RenderMathMLOperator {mo} at (151,1) size 20x22
</del><ins>+          RenderMathMLOperator {mo} at (151,0) size 20x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 10x15
</span><span class="cx">               RenderText {#text} at (0,-46) size 10x106
</span><span class="cx">                 text run at (0,-46) width 10: &quot;\x{21D1}&quot;
</span><del>-          RenderMathMLOperator {mo} at (170,1) size 20x22
</del><ins>+          RenderMathMLOperator {mo} at (170,0) size 20x22
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 10x15
</span><span class="cx">               RenderText {#text} at (0,-45) size 10x106
</span><span class="cx">                 text run at (0,-45) width 10: &quot;\x{21D3}&quot;
</span><del>-          RenderMathMLOperator {mo} at (189,4) size 20x16
</del><ins>+          RenderMathMLOperator {mo} at (189,3) size 20x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 10x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 10x106
</span><span class="cx">                 text run at (0,-45) width 10: &quot;\x{21D5}&quot;
</span><del>-          RenderMathMLSpace {mspace} at (208,0) size 0x16
</del><ins>+          RenderMathMLSpace {mspace} at (208,3) size 0x16
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,74) size 784x42
</del><ins>+      RenderBlock {P} at (0,78) size 784x42
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 158x42
</span><span class="cx">           RenderMathMLOperator {mo} at (0,1) size 8x40
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{27E9}&quot;
</span><span class="cx">           RenderMathMLSpace {mspace} at (157,1) size 0x24
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,132) size 784x58
</del><ins>+      RenderBlock {P} at (0,136) size 784x58
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 192x58
</span><span class="cx">           RenderMathMLOperator {mo} at (0,1) size 11x56
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="lines">@@ -363,7 +363,7 @@
</span><span class="cx">                 text run at (0,-45) width 10: &quot;\x{21D5}&quot;
</span><span class="cx">           RenderMathMLSpace {mspace} at (209,0) size 0x32
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,206) size 784x120
</del><ins>+      RenderBlock {P} at (0,210) size 784x120
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 192x120
</span><span class="cx">           RenderMathMLOperator {mo} at (0,0) size 11x120
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span></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 (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/gtk/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</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 800x268
-  RenderBlock {HTML} at (0,0) size 800x268
-    RenderBody {BODY} at (8,8) size 784x252
</del><ins>+layer at (0,0) size 800x269
+  RenderBlock {HTML} at (0,0) size 800x269
+    RenderBody {BODY} at (8,8) size 784x253
</ins><span class="cx">       RenderMathMLMath {math} at (0,0) size 130x36
</span><span class="cx">         RenderMathMLRow {mrow} at (0,0) size 130x36
</span><span class="cx">           RenderMathMLOperator {mo} at (0,6) size 8x24
</span><span class="lines">@@ -53,11 +53,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (106,10) size 7x16
</del><ins>+          RenderMathMLOperator {mo} at (106,6) size 7x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (112,10) size 18x16
</del><ins>+          RenderMathMLOperator {mo} at (112,6) size 18x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;\x{2225}&quot;
</span><span class="lines">@@ -125,65 +125,65 @@
</span><span class="cx">           RenderMathMLSpace {mspace} at (169,0) size 0x76
</span><span class="cx">       RenderText {#text} at (169,97) size 5x17
</span><span class="cx">         text run at (169,97) width 5: &quot; &quot;
</span><del>-      RenderMathMLMath {math} at (173,61) size 170x92
-        RenderMathMLRow {mrow} at (0,0) size 170x92
-          RenderMathMLOperator {mo} at (0,0) size 14x92
</del><ins>+      RenderMathMLMath {math} at (173,57) size 170x96
+        RenderMathMLRow {mrow} at (0,0) size 170x96
+          RenderMathMLOperator {mo} at (0,4) size 14x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;(&quot;
</span><del>-          RenderMathMLOperator {mo} at (14,0) size 14x92
</del><ins>+          RenderMathMLOperator {mo} at (14,4) size 14x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;)&quot;
</span><del>-          RenderMathMLOperator {mo} at (28,0) size 14x92
</del><ins>+          RenderMathMLOperator {mo} at (28,4) size 14x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;{&quot;
</span><del>-          RenderMathMLOperator {mo} at (42,0) size 14x92
</del><ins>+          RenderMathMLOperator {mo} at (42,4) size 14x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;}&quot;
</span><del>-          RenderMathMLOperator {mo} at (56,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (56,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;[&quot;
</span><del>-          RenderMathMLOperator {mo} at (67,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (67,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (78,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (78,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (89,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (89,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (100,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (100,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (111,0) size 11x92
</del><ins>+          RenderMathMLOperator {mo} at (111,4) size 11x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{230B}&quot;
</span><del>-          RenderMathMLOperator {mo} at (122,28) size 17x36
</del><ins>+          RenderMathMLOperator {mo} at (122,32) size 17x36
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x18
</span><span class="cx">               RenderText {#text} at (0,-44) size 11x106
</span><span class="cx">                 text run at (0,-44) width 11: &quot;\x{222B}&quot;
</span><del>-          RenderMathMLOperator {mo} at (138,0) size 9x92
</del><ins>+          RenderMathMLOperator {mo} at (138,4) size 9x92
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (146,17) size 8x58
</del><ins>+          RenderMathMLOperator {mo} at (146,0) size 8x58
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (153,17) size 17x58
</del><ins>+          RenderMathMLOperator {mo} at (153,0) size 17x58
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;\x{2225}&quot;
</span><del>-          RenderMathMLSpace {mspace} at (169,0) size 0x51
</del><ins>+          RenderMathMLSpace {mspace} at (169,4) size 0x51
</ins><span class="cx">       RenderText {#text} at (342,97) size 5x17
</span><span class="cx">         text run at (342,97) width 5: &quot; &quot;
</span><span class="cx">       RenderMathMLMath {math} at (346,89) size 142x36
</span><span class="lines">@@ -236,11 +236,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (120,6) size 7x24
</del><ins>+          RenderMathMLOperator {mo} at (120,0) size 7x24
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (126,6) size 16x24
</del><ins>+          RenderMathMLOperator {mo} at (126,0) size 16x24
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;\x{2225}&quot;
</span><span class="lines">@@ -248,63 +248,63 @@
</span><span class="cx">       RenderText {#text} at (487,97) size 5x17
</span><span class="cx">         text run at (487,97) width 5: &quot; &quot;
</span><span class="cx">       RenderBR {BR} at (0,0) size 0x0
</span><del>-      RenderMathMLMath {math} at (0,178) size 185x75
-        RenderMathMLRoot {msqrt} at (0,0) size 185x75
-          RenderMathMLOperator {mo} at (17,2) size 14x73
</del><ins>+      RenderMathMLMath {math} at (0,178) size 185x76
+        RenderMathMLRoot {msqrt} at (0,0) size 185x76
+          RenderMathMLOperator {mo} at (17,3) size 14x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;(&quot;
</span><del>-          RenderMathMLOperator {mo} at (31,2) size 14x73
</del><ins>+          RenderMathMLOperator {mo} at (31,3) size 14x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;)&quot;
</span><del>-          RenderMathMLOperator {mo} at (45,2) size 14x73
</del><ins>+          RenderMathMLOperator {mo} at (45,3) size 14x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;{&quot;
</span><del>-          RenderMathMLOperator {mo} at (59,2) size 14x73
</del><ins>+          RenderMathMLOperator {mo} at (59,3) size 14x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;}&quot;
</span><del>-          RenderMathMLOperator {mo} at (73,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (73,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;[&quot;
</span><del>-          RenderMathMLOperator {mo} at (84,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (84,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (95,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (95,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (106,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (106,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (117,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (117,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (128,2) size 11x73
</del><ins>+          RenderMathMLOperator {mo} at (128,3) size 11x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 7x106
</span><span class="cx">                 text run at (0,-45) width 7: &quot;\x{230B}&quot;
</span><del>-          RenderMathMLOperator {mo} at (139,20) size 17x37
</del><ins>+          RenderMathMLOperator {mo} at (139,21) size 17x37
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x18
</span><span class="cx">               RenderText {#text} at (0,-44) size 11x106
</span><span class="cx">                 text run at (0,-44) width 11: &quot;\x{222B}&quot;
</span><del>-          RenderMathMLOperator {mo} at (155,2) size 9x73
</del><ins>+          RenderMathMLOperator {mo} at (155,3) size 9x73
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 4x106
</span><span class="cx">                 text run at (0,-45) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (163,17) size 7x43
</del><ins>+          RenderMathMLOperator {mo} at (163,2) size 7x43
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 6x106
</span><span class="cx">                 text run at (0,-45) width 6: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (169,17) size 16x43
</del><ins>+          RenderMathMLOperator {mo} at (169,2) size 16x43
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x16
</span><span class="cx">               RenderText {#text} at (0,-45) size 8x106
</span><span class="cx">                 text run at (0,-45) width 8: &quot;\x{2225}&quot;
</span><del>-          RenderMathMLSpace {mspace} at (184,2) size 0x42
</del><ins>+          RenderMathMLSpace {mspace} at (184,3) size 0x42
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatormathmlopentypeopentypestretchyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,25 +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 800x342
-  RenderBlock {HTML} at (0,0) size 800x342
-    RenderBody {BODY} at (8,16) size 784x310
-      RenderBlock {P} at (0,0) size 784x36
-        RenderMathMLMath {math} at (0,21) size 26x11
</del><ins>+layer at (0,0) size 800x341
+  RenderBlock {HTML} at (0,0) size 800x341
+    RenderBody {BODY} at (8,16) size 784x309
+      RenderBlock {P} at (0,0) size 784x35
+        RenderMathMLMath {math} at (0,20) size 26x11
</ins><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x11
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x11
</span><span class="cx">               RenderBlock (anonymous) at (0,0) size 3x3
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><del>-        RenderText {#text} at (26,16) size 4x19
-          text run at (26,16) width 4: &quot; &quot;
-        RenderMathMLMath {math} at (30,11) size 26x21
</del><ins>+        RenderText {#text} at (26,15) size 4x19
+          text run at (26,15) width 4: &quot; &quot;
+        RenderMathMLMath {math} at (30,10) size 26x21
</ins><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x21
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x21
</span><span class="cx">               RenderBlock (anonymous) at (0,0) size 3x3
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><del>-        RenderText {#text} at (56,16) size 4x19
-          text run at (56,16) width 4: &quot; &quot;
</del><ins>+        RenderText {#text} at (56,15) size 4x19
+          text run at (56,15) width 4: &quot; &quot;
</ins><span class="cx">         RenderMathMLMath {math} at (60,0) size 26x31
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x31
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x31
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,52) size 784x155
</del><ins>+      RenderBlock {P} at (0,51) size 784x155
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 47x150
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 47x150
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 47x150
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,223) size 784x87
</del><ins>+      RenderBlock {P} at (0,222) size 784x87
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 84x82
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 84x82
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 84x82
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimulatormathmlpresentationmostretchexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> layer at (0,0) size 800x252
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x252
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x236
</span><del>-      RenderMathMLMath {math} at (0,2) size 58x18
</del><ins>+      RenderMathMLMath {math} at (0,3) size 58x18
</ins><span class="cx">         RenderMathMLRow {mrow} at (0,0) size 58x18
</span><span class="cx">           RenderMathMLOperator {mo} at (0,1) size 6x15
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="lines">@@ -13,11 +13,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;)&quot;
</span><del>-          RenderMathMLOperator {mo} at (10,1) size 9x16
</del><ins>+          RenderMathMLOperator {mo} at (10,0) size 9x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x17
</span><span class="cx">               RenderText {#text} at (0,1) size 8x17
</span><span class="cx">                 text run at (0,1) width 8: &quot;{&quot;
</span><del>-          RenderMathMLOperator {mo} at (18,1) size 8x16
</del><ins>+          RenderMathMLOperator {mo} at (18,0) size 8x16
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x17
</span><span class="cx">               RenderText {#text} at (0,1) size 8x17
</span><span class="cx">                 text run at (0,1) width 8: &quot;}&quot;
</span><span class="lines">@@ -29,19 +29,19 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (36,13) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (36,8) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (36,13) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (36,8) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (36,13) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (36,8) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (36,13) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (36,8) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230B}&quot;
</span><span class="lines">@@ -53,11 +53,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x18
</span><span class="cx">               RenderText {#text} at (0,1) size 4x17
</span><span class="cx">                 text run at (0,1) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (48,13) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (48,4) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x13
</span><span class="cx">               RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                 text run at (0,0) width 5: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (48,13) size 10x0
</del><ins>+          RenderMathMLOperator {mo} at (48,4) size 10x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x13
</span><span class="cx">               RenderText {#text} at (0,0) size 11x17
</span><span class="cx">                 text run at (0,0) width 11: &quot;\x{2225}&quot;
</span><span class="lines">@@ -90,19 +90,19 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,75) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,71) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,75) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,71) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,75) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,71) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,75) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,71) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230B}&quot;
</span><span class="lines">@@ -114,11 +114,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x18
</span><span class="cx">               RenderText {#text} at (0,1) size 4x17
</span><span class="cx">                 text run at (0,1) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,75) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (58,38) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x13
</span><span class="cx">               RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                 text run at (0,0) width 5: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,75) size 10x0
</del><ins>+          RenderMathMLOperator {mo} at (58,38) size 10x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x13
</span><span class="cx">               RenderText {#text} at (0,0) size 11x17
</span><span class="cx">                 text run at (0,0) width 11: &quot;\x{2225}&quot;
</span><span class="lines">@@ -151,19 +151,19 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,50) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,46) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,50) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,46) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,50) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,46) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (40,50) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (40,46) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230B}&quot;
</span><span class="lines">@@ -175,11 +175,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x18
</span><span class="cx">               RenderText {#text} at (0,1) size 4x17
</span><span class="cx">                 text run at (0,1) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,50) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (58,25) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x13
</span><span class="cx">               RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                 text run at (0,0) width 5: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,50) size 10x0
</del><ins>+          RenderMathMLOperator {mo} at (58,25) size 10x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x13
</span><span class="cx">               RenderText {#text} at (0,0) size 11x17
</span><span class="cx">                 text run at (0,0) width 11: &quot;\x{2225}&quot;
</span><span class="lines">@@ -212,19 +212,19 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (39,20) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (39,16) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (39,20) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (39,16) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (39,20) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (39,16) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (39,20) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (39,16) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230B}&quot;
</span><span class="lines">@@ -232,15 +232,15 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x16
</span><span class="cx">               RenderText {#text} at (0,1) size 5x17
</span><span class="cx">                 text run at (0,1) width 5: &quot;\x{222B}&quot;
</span><del>-          RenderMathMLOperator {mo} at (51,7) size 8x18
</del><ins>+          RenderMathMLOperator {mo} at (51,8) size 8x18
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x18
</span><span class="cx">               RenderText {#text} at (0,1) size 4x17
</span><span class="cx">                 text run at (0,1) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,20) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (58,10) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x13
</span><span class="cx">               RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                 text run at (0,0) width 5: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (58,20) size 10x0
</del><ins>+          RenderMathMLOperator {mo} at (58,10) size 10x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x13
</span><span class="cx">               RenderText {#text} at (0,0) size 11x17
</span><span class="cx">                 text run at (0,0) width 11: &quot;\x{2225}&quot;
</span><span class="lines">@@ -274,19 +274,19 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x16
</span><span class="cx">               RenderText {#text} at (0,0) size 6x17
</span><span class="cx">                 text run at (0,0) width 6: &quot;]&quot;
</span><del>-          RenderMathMLOperator {mo} at (49,41) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (49,37) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2308}&quot;
</span><del>-          RenderMathMLOperator {mo} at (49,41) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (49,37) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{2309}&quot;
</span><del>-          RenderMathMLOperator {mo} at (49,41) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (49,37) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230A}&quot;
</span><del>-          RenderMathMLOperator {mo} at (49,41) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (49,37) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 7x16
</span><span class="cx">               RenderText {#text} at (0,1) size 7x17
</span><span class="cx">                 text run at (0,1) width 7: &quot;\x{230B}&quot;
</span><span class="lines">@@ -298,11 +298,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x18
</span><span class="cx">               RenderText {#text} at (0,1) size 4x17
</span><span class="cx">                 text run at (0,1) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (67,41) size 0x0
</del><ins>+          RenderMathMLOperator {mo} at (67,21) size 0x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 5x13
</span><span class="cx">               RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                 text run at (0,0) width 5: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (67,41) size 10x0
</del><ins>+          RenderMathMLOperator {mo} at (67,21) size 10x0
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 11x13
</span><span class="cx">               RenderText {#text} at (0,0) size 11x17
</span><span class="cx">                 text run at (0,0) width 11: &quot;\x{2225}&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmathmlopentypeopentypestretchyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,25 +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 800x339
-  RenderBlock {HTML} at (0,0) size 800x339
-    RenderBody {BODY} at (8,16) size 784x307
-      RenderBlock {P} at (0,0) size 784x35
-        RenderMathMLMath {math} at (0,21) size 26x11
</del><ins>+layer at (0,0) size 800x338
+  RenderBlock {HTML} at (0,0) size 800x338
+    RenderBody {BODY} at (8,16) size 784x306
+      RenderBlock {P} at (0,0) size 784x34
+        RenderMathMLMath {math} at (0,20) size 26x11
</ins><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x11
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x11
</span><span class="cx">               RenderBlock (anonymous) at (0,0) size 3x3
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><del>-        RenderText {#text} at (26,17) size 4x18
-          text run at (26,17) width 4: &quot; &quot;
-        RenderMathMLMath {math} at (30,11) size 26x21
</del><ins>+        RenderText {#text} at (26,16) size 4x18
+          text run at (26,16) width 4: &quot; &quot;
+        RenderMathMLMath {math} at (30,10) size 26x21
</ins><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x21
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x21
</span><span class="cx">               RenderBlock (anonymous) at (0,0) size 3x3
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><del>-        RenderText {#text} at (56,17) size 4x18
-          text run at (56,17) width 4: &quot; &quot;
</del><ins>+        RenderText {#text} at (56,16) size 4x18
+          text run at (56,16) width 4: &quot; &quot;
</ins><span class="cx">         RenderMathMLMath {math} at (60,0) size 26x31
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 26x31
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 26x31
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,51) size 784x154
</del><ins>+      RenderBlock {P} at (0,50) size 784x154
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 47x150
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 47x150
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 47x150
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                 RenderText {#text} at (0,-3) size 3x0
</span><span class="cx">                   text run at (0,-3) width 3: &quot;\x{219F}&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,221) size 784x86
</del><ins>+      RenderBlock {P} at (0,220) size 784x86
</ins><span class="cx">         RenderMathMLMath {math} at (0,0) size 84x82
</span><span class="cx">           RenderMathMLRow {mrow} at (0,0) size 84x82
</span><span class="cx">             RenderMathMLOperator {mo} at (0,0) size 84x82
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmathmlpresentationmostretchexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/LayoutTests/platform/mac/mathml/presentation/mo-stretch-expected.txt        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -5,27 +5,27 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x240
</span><span class="cx">       RenderMathMLMath {math} at (0,0) size 108x25
</span><span class="cx">         RenderMathMLRow {mrow} at (0,0) size 108x25
</span><del>-          RenderMathMLOperator {mo} at (0,5) size 6x14
</del><ins>+          RenderMathMLOperator {mo} at (0,6) size 6x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 6x24
</span><span class="cx">                 text run at (0,-6) width 6: &quot;(&quot;
</span><del>-          RenderMathMLOperator {mo} at (5,5) size 6x14
</del><ins>+          RenderMathMLOperator {mo} at (5,6) size 6x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 6x24
</span><span class="cx">                 text run at (0,-6) width 6: &quot;)&quot;
</span><del>-          RenderMathMLOperator {mo} at (10,5) size 9x14
</del><ins>+          RenderMathMLOperator {mo} at (10,6) size 9x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 8x24
</span><span class="cx">                 text run at (0,-6) width 8: &quot;{&quot;
</span><del>-          RenderMathMLOperator {mo} at (18,5) size 8x14
</del><ins>+          RenderMathMLOperator {mo} at (18,6) size 8x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 8x24
</span><span class="cx">                 text run at (0,-6) width 8: &quot;}&quot;
</span><del>-          RenderMathMLOperator {mo} at (25,5) size 7x14
</del><ins>+          RenderMathMLOperator {mo} at (25,6) size 7x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 6x24
</span><span class="cx">                 text run at (0,-6) width 6: &quot;[&quot;
</span><del>-          RenderMathMLOperator {mo} at (31,5) size 6x14
</del><ins>+          RenderMathMLOperator {mo} at (31,6) size 6x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 6x24
</span><span class="cx">                 text run at (0,-6) width 6: &quot;]&quot;
</span><span class="lines">@@ -53,11 +53,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x12
</span><span class="cx">               RenderText {#text} at (0,-6) size 4x24
</span><span class="cx">                 text run at (0,-6) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (81,5) size 9x15
</del><ins>+          RenderMathMLOperator {mo} at (81,1) size 9x15
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 9x16
</span><span class="cx">               RenderText {#text} at (0,-5) size 9x24
</span><span class="cx">                 text run at (0,-5) width 9: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (89,5) size 19x15
</del><ins>+          RenderMathMLOperator {mo} at (89,1) size 19x15
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 9x16
</span><span class="cx">               RenderText {#text} at (0,-5) size 9x24
</span><span class="cx">                 text run at (0,-5) width 9: &quot;\x{2225}&quot;
</span><span class="lines">@@ -196,11 +196,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 6x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 6x24
</span><span class="cx">                 text run at (0,-6) width 6: &quot;)&quot;
</span><del>-          RenderMathMLOperator {mo} at (14,9) size 9x14
</del><ins>+          RenderMathMLOperator {mo} at (14,10) size 9x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 8x24
</span><span class="cx">                 text run at (0,-6) width 8: &quot;{&quot;
</span><del>-          RenderMathMLOperator {mo} at (22,9) size 8x14
</del><ins>+          RenderMathMLOperator {mo} at (22,10) size 8x14
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 8x14
</span><span class="cx">               RenderText {#text} at (0,-6) size 8x24
</span><span class="cx">                 text run at (0,-6) width 8: &quot;}&quot;
</span><span class="lines">@@ -236,11 +236,11 @@
</span><span class="cx">             RenderBlock (anonymous) at (0,0) size 4x12
</span><span class="cx">               RenderText {#text} at (0,-6) size 4x24
</span><span class="cx">                 text run at (0,-6) width 4: &quot;|&quot;
</span><del>-          RenderMathMLOperator {mo} at (87,9) size 10x15
</del><ins>+          RenderMathMLOperator {mo} at (87,3) size 10x15
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 9x16
</span><span class="cx">               RenderText {#text} at (0,-5) size 9x24
</span><span class="cx">                 text run at (0,-5) width 9: &quot;\x{2016}&quot;
</span><del>-          RenderMathMLOperator {mo} at (96,9) size 18x15
</del><ins>+          RenderMathMLOperator {mo} at (96,3) size 18x15
</ins><span class="cx">             RenderBlock (anonymous) at (0,0) size 9x16
</span><span class="cx">               RenderText {#text} at (0,-5) size 9x24
</span><span class="cx">                 text run at (0,-5) width 9: &quot;\x{2225}&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/Source/WebCore/ChangeLog        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -1,3 +1,33 @@
</span><ins>+2016-07-15  Frederic Wang  &lt;fwang@igalia.com&gt;
+
+        MathOperator: Improve alignment for vertical size variant
+        https://bugs.webkit.org/show_bug.cgi?id=158866
+
+        Reviewed by Brent Fulgham.
+
+        The MathOperator class may stretch operators with either a large glyph or a glyph assembly.
+        In the latter case, the assembly is adjusted to match the stretch ascent and descent
+        requested by the callers. But in the former case the glyph ascent and descent are used
+        instead. We solve this by making MathOperator::stretchTo only take a targetSize and let
+        callers do the vertical alignment they want. This improves the rendering of fences with some
+        math fonts (e.g. XITS) and allows to pass the two cases of mo-axis-height-1.html.
+
+        Test: imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html
+
+        * rendering/mathml/MathOperator.cpp:
+        (WebCore::MathOperator::stretchTo): Merge vertical and horizontal stretching into the same
+        function with only the targetSize as a parameter.
+        * rendering/mathml/RenderMathMLOperator.cpp:
+        (WebCore::RenderMathMLOperator::stretchTo): Updated to use the new signature.
+        (WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): Helper function to calculate
+        the shift necessary to align the baseline of the MathOperator instance with the one of the
+        RenderMathMLOperator.
+        (WebCore::RenderMathMLOperator::firstLineBaseline): Adjust the baseline.
+        * rendering/mathml/RenderMathMLOperator.h: Declare verticalStretchedOperatorShift.
+        * rendering/mathml/RenderMathMLRoot.cpp:
+        (WebCore::RenderMathMLRoot::layoutBlock): Use the new signature. This function aligns the top
+        of the radical with the overbar so we do not need to adjust baseline alignment here.
+
</ins><span class="cx"> 2016-07-15  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebKit should prevent push/replace state with username in URL.
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlMathOperatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/MathOperator.cpp (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/MathOperator.cpp        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/Source/WebCore/rendering/mathml/MathOperator.cpp        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -394,24 +394,19 @@
</span><span class="cx">     setGlyphAssembly(assemblyData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MathOperator::stretchTo(const RenderStyle&amp; style, LayoutUnit ascent, LayoutUnit descent)
</del><ins>+void MathOperator::stretchTo(const RenderStyle&amp; style, LayoutUnit targetSize)
</ins><span class="cx"> {
</span><del>-    ASSERT(m_operatorType == Type::VerticalOperator);
-    calculateStretchyData(style, false, ascent + descent);
</del><ins>+    ASSERT(m_operatorType == Type::VerticalOperator || m_operatorType == Type::HorizontalOperator);
+    calculateStretchyData(style, false, targetSize);
</ins><span class="cx">     if (m_stretchType == StretchType::GlyphAssembly) {
</span><del>-        m_ascent = ascent;
-        m_descent = descent;
</del><ins>+        if (m_operatorType == Type::VerticalOperator) {
+            m_ascent = targetSize;
+            m_descent = 0;
+        } else
+            m_width = targetSize;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MathOperator::stretchTo(const RenderStyle&amp; style, LayoutUnit width)
-{
-    ASSERT(m_operatorType == Type::HorizontalOperator);
-    calculateStretchyData(style, false, width);
-    if (m_stretchType == StretchType::GlyphAssembly)
-        m_width = width;
-}
-
</del><span class="cx"> LayoutRect MathOperator::paintGlyph(const RenderStyle&amp; style, PaintInfo&amp; info, const GlyphData&amp; data, const LayoutPoint&amp; origin, GlyphPaintTrimming trim)
</span><span class="cx"> {
</span><span class="cx">     FloatRect glyphBounds = boundsForGlyph(data);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLOperatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx">     m_stretchHeightAboveBaseline *= aspect;
</span><span class="cx">     m_stretchDepthBelowBaseline *= aspect;
</span><span class="cx"> 
</span><del>-    m_mathOperator.stretchTo(style(), m_stretchHeightAboveBaseline, m_stretchDepthBelowBaseline);
</del><ins>+    m_mathOperator.stretchTo(style(), m_stretchHeightAboveBaseline + m_stretchDepthBelowBaseline);
</ins><span class="cx"> 
</span><span class="cx">     setLogicalHeight(m_mathOperator.ascent() + m_mathOperator.descent());
</span><span class="cx"> }
</span><span class="lines">@@ -361,10 +361,18 @@
</span><span class="cx">     updateOperatorProperties();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+LayoutUnit RenderMathMLOperator::verticalStretchedOperatorShift() const
+{
+    if (!m_isVertical || !stretchSize())
+        return 0;
+
+    return (m_stretchDepthBelowBaseline - m_stretchHeightAboveBaseline - m_mathOperator.descent() + m_mathOperator.ascent()) / 2;
+}
+
</ins><span class="cx"> Optional&lt;int&gt; RenderMathMLOperator::firstLineBaseline() const
</span><span class="cx"> {
</span><span class="cx">     if (useMathOperator())
</span><del>-        return Optional&lt;int&gt;(std::lround(static_cast&lt;float&gt;(m_mathOperator.ascent())));
</del><ins>+        return Optional&lt;int&gt;(std::lround(static_cast&lt;float&gt;(m_mathOperator.ascent() - verticalStretchedOperatorShift())));
</ins><span class="cx">     return RenderMathMLToken::firstLineBaseline();
</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 (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -83,6 +83,8 @@
</span><span class="cx">     void setOperatorFlagFromAttributeValue(MathMLOperatorDictionary::Flag, const AtomicString&amp; attributeValue);
</span><span class="cx">     void setOperatorPropertiesFromOpDictEntry(const MathMLOperatorDictionary::Entry*);
</span><span class="cx"> 
</span><ins>+    LayoutUnit verticalStretchedOperatorShift() const;
+
</ins><span class="cx">     LayoutUnit m_stretchHeightAboveBaseline;
</span><span class="cx">     LayoutUnit m_stretchDepthBelowBaseline;
</span><span class="cx">     LayoutUnit m_stretchWidth;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp (203288 => 203289)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2016-07-15 18:39:27 UTC (rev 203288)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2016-07-15 18:47:16 UTC (rev 203289)
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Stretch the radical operator to cover the base height.
</span><span class="cx">     // We can then determine the metrics of the radical operator + the base.
</span><del>-    m_radicalOperator.stretchTo(style(), baseAscent, baseDescent);
</del><ins>+    m_radicalOperator.stretchTo(style(), baseAscent + baseDescent);
</ins><span class="cx">     LayoutUnit radicalOperatorHeight = m_radicalOperator.ascent() + m_radicalOperator.descent();
</span><span class="cx">     LayoutUnit indexBottomRaise = m_degreeBottomRaisePercent * radicalOperatorHeight;
</span><span class="cx">     LayoutUnit radicalAscent = baseAscent + m_verticalGap + m_ruleThickness + m_extraAscender;
</span></span></pre>
</div>
</div>

</body>
</html>