<!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>[202962] 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/202962">202962</a></dd>
<dt>Author</dt> <dd>fred.wang@free.fr</dd>
<dt>Date</dt> <dd>2016-07-07 23:16:32 -0700 (Thu, 07 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Bug 155792 - Basic implementation of mpadded
https://bugs.webkit.org/show_bug.cgi?id=155792

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

Source/WebCore:

We implement a basic support for the mpadded element.
We support most of the attribute values except pseudo-units or negative values.

Tests: mathml/presentation/mpadded-1-2.html
       mathml/presentation/mpadded-1.html
       mathml/presentation/mpadded-2.html
       mathml/presentation/mpadded-3.html
       mathml/presentation/mpadded-unsupported-values.html
       mathml/presentation/mpadded-dynamic.html

* CMakeLists.txt: Add RenderMathMLPadded to the build system.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createElementRenderer): Create the renderer
for mpadded.
* mathml/mathattrs.in: Add voffset attribute.
* mathml/mathtags.in: Make mpadded use MathMLInlineContainerElement.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMathMLPadded): Define isRenderMathMLPadded.
* rendering/mathml/RenderMathMLPadded.cpp: Added.
We do a simple implementation by overriding the behavior of RenderMathMLRow and forcing
relayout after attribute or style change.
(WebCore::RenderMathMLPadded::RenderMathMLPadded):
(WebCore::RenderMathMLPadded::computePreferredLogicalWidths):
(WebCore::RenderMathMLPadded::layoutBlock):
(WebCore::RenderMathMLPadded::updateFromElement):
(WebCore::RenderMathMLPadded::styleDidChange):
(WebCore::RenderMathMLPadded::firstLineBaseline):
* rendering/mathml/RenderMathMLPadded.h: Added.

LayoutTests:

We import mpadded tests from Mozilla test suite.
We also add some tests for dynamic changes of mpadded attributes and to verify
that the mpadded element behaves as if it had an inferred &lt;mrow&gt;.
Finally, we check that fallback properly for negative and pseudo-unit values that
we do not support yet.

* mathml/presentation/inferred-mrow-baseline.html: Check baseline for mpadded.
* mathml/presentation/inferred-mrow-baseline-expected.txt: Ditto.
* mathml/presentation/inferred-mrow-stretchy.html: Check stretching of operators for mpadded.
* mathml/presentation/inferred-mrow-stretchy-expected.txt: Ditto.
* mathml/presentation/mpadded-dynamic.html: Added. Verify dynamic change of mpadded attributes.
* mathml/presentation/mpadded-dynamic-expected.html: Added. Ditto.
* mathml/presentation/mpadded-unsupported-values.html: Added. Check negative and pseudo-unit values.
* mathml/presentation/mpadded-unsupported-values-expected.html: Added.
* mathml/presentation/mpadded-1-2-expected.html: Added.
* mathml/presentation/mpadded-1-2.html: Added.
* mathml/presentation/mpadded-1-expected.html: Added.
* mathml/presentation/mpadded-1.html: Added.
* mathml/presentation/mpadded-2-expected.html: Added.
* mathml/presentation/mpadded-2.html: Added.
* mathml/presentation/mpadded-3-expected.html: Added.
* mathml/presentation/mpadded-3.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationinferredmrowbaselineexpectedtxt">trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationinferredmrowbaselinehtml">trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationinferredmrowstretchyexpectedtxt">trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationinferredmrowstretchyhtml">trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html</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="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLInlineContainerElementcpp">trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlmathattrsin">trunk/Source/WebCore/mathml/mathattrs.in</a></li>
<li><a href="#trunkSourceWebCoremathmlmathtagsin">trunk/Source/WebCore/mathml/mathtags.in</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjecth">trunk/Source/WebCore/rendering/RenderObject.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded12expectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-1-2-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded12html">trunk/LayoutTests/mathml/presentation/mpadded-1-2.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded1expectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-1-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded1html">trunk/LayoutTests/mathml/presentation/mpadded-1.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded2expectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-2-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded2html">trunk/LayoutTests/mathml/presentation/mpadded-2.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded3expectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-3-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded3html">trunk/LayoutTests/mathml/presentation/mpadded-3.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded4expectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-4-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpadded4html">trunk/LayoutTests/mathml/presentation/mpadded-4.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpaddeddynamicexpectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-dynamic-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpaddeddynamichtml">trunk/LayoutTests/mathml/presentation/mpadded-dynamic.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpaddedunsupportedvaluesexpectedhtml">trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmpaddedunsupportedvalueshtml">trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values.html</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLPaddedcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLPaddedh">trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/LayoutTests/ChangeLog        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -1,5 +1,35 @@
</span><span class="cx"> 2016-07-07  Frederic Wang  &lt;fwang@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        Bug 155792 - Basic implementation of mpadded
+        https://bugs.webkit.org/show_bug.cgi?id=155792
+
+        Reviewed by Brent Fulgham.
+
+        We import mpadded tests from Mozilla test suite.
+        We also add some tests for dynamic changes of mpadded attributes and to verify
+        that the mpadded element behaves as if it had an inferred &lt;mrow&gt;.
+        Finally, we check that fallback properly for negative and pseudo-unit values that
+        we do not support yet.
+
+        * mathml/presentation/inferred-mrow-baseline.html: Check baseline for mpadded.
+        * mathml/presentation/inferred-mrow-baseline-expected.txt: Ditto.
+        * mathml/presentation/inferred-mrow-stretchy.html: Check stretching of operators for mpadded.
+        * mathml/presentation/inferred-mrow-stretchy-expected.txt: Ditto.
+        * mathml/presentation/mpadded-dynamic.html: Added. Verify dynamic change of mpadded attributes.
+        * mathml/presentation/mpadded-dynamic-expected.html: Added. Ditto.
+        * mathml/presentation/mpadded-unsupported-values.html: Added. Check negative and pseudo-unit values.
+        * mathml/presentation/mpadded-unsupported-values-expected.html: Added.
+        * mathml/presentation/mpadded-1-2-expected.html: Added.
+        * mathml/presentation/mpadded-1-2.html: Added.
+        * mathml/presentation/mpadded-1-expected.html: Added.
+        * mathml/presentation/mpadded-1.html: Added.
+        * mathml/presentation/mpadded-2-expected.html: Added.
+        * mathml/presentation/mpadded-2.html: Added.
+        * mathml/presentation/mpadded-3-expected.html: Added.
+        * mathml/presentation/mpadded-3.html: Added.
+
+2016-07-07  Frederic Wang  &lt;fwang@igalia.com&gt;
+
</ins><span class="cx">         Implement an internal style property for displaystyle.
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=133845
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowbaselineexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -6,6 +6,7 @@
</span><span class="cx">  
</span><span class="cx">  
</span><span class="cx">  
</span><ins>+ 
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS baseline alignment inside Mrow 
</span><span class="lines">@@ -15,4 +16,5 @@
</span><span class="cx"> PASS baseline alignment inside Phantom 
</span><span class="cx"> PASS baseline alignment inside Math 
</span><span class="cx"> PASS baseline alignment inside Menclose 
</span><ins>+PASS baseline alignment inside Mpadded 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowbaselinehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx">       setup({ &quot;explicit_done&quot;: true });
</span><span class="cx">       function run()
</span><span class="cx">       {
</span><del>-        var tags = [&quot;Mrow&quot;, &quot;Sqrt&quot;, &quot;Style&quot;, &quot;Error&quot;, &quot;Phantom&quot;, &quot;Math&quot;, &quot;Menclose&quot;];
</del><ins>+        var tags = [&quot;Mrow&quot;, &quot;Sqrt&quot;, &quot;Style&quot;, &quot;Error&quot;, &quot;Phantom&quot;, &quot;Math&quot;, &quot;Menclose&quot;, &quot;Mpadded&quot;];
</ins><span class="cx">         for (var i in tags) {
</span><span class="cx">           var tag = tags[i];
</span><span class="cx">           var x = document.getElementById(&quot;above&quot; + tag).getBoundingClientRect();
</span><span class="lines">@@ -39,6 +39,8 @@
</span><span class="cx">       &lt;math&gt;&lt;mspace id=&quot;aboveMath&quot; width=&quot;10px&quot; height=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;mspace id=&quot;belowMath&quot; width=&quot;10px&quot; depth=&quot;30px&quot; mathbackground=&quot;blue&quot;&gt;&lt;/mspace&gt;&lt;/math&gt;
</span><span class="cx">           
</span><span class="cx">       &lt;math&gt;&lt;menclose notation=&quot;box&quot;&gt;&lt;mspace id=&quot;aboveMenclose&quot; width=&quot;10px&quot; height=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;mspace id=&quot;belowMenclose&quot; width=&quot;10px&quot; depth=&quot;30px&quot; mathbackground=&quot;blue&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
</span><ins>+
+      &lt;math&gt;&lt;mpadded notation=&quot;box&quot;&gt;&lt;mspace id=&quot;aboveMpadded&quot; width=&quot;10px&quot; height=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;mspace id=&quot;belowMpadded&quot; width=&quot;10px&quot; depth=&quot;30px&quot; mathbackground=&quot;blue&quot;&gt;&lt;/mspace&gt;&lt;/mpadded&gt;&lt;/math&gt;
</ins><span class="cx">     &lt;/p&gt;
</span><span class="cx"> 
</span><span class="cx">   &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowstretchyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -12,6 +12,8 @@
</span><span class="cx"> |
</span><span class="cx">  
</span><span class="cx"> |
</span><ins>+ 
+|
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS operator stretching inside Mrow 
</span><span class="lines">@@ -21,4 +23,5 @@
</span><span class="cx"> PASS operator stretching inside Phantom 
</span><span class="cx"> PASS operator stretching inside Math 
</span><span class="cx"> PASS operator stretching inside Menclose 
</span><ins>+PASS operator stretching inside Mpadded 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowstretchyhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx">       setup({ &quot;explicit_done&quot;: true });
</span><span class="cx">       function run()
</span><span class="cx">       {
</span><del>-        var tags = [&quot;Mrow&quot;, &quot;Sqrt&quot;, &quot;Style&quot;, &quot;Error&quot;, &quot;Phantom&quot;, &quot;Math&quot;, &quot;Menclose&quot;];
</del><ins>+        var tags = [&quot;Mrow&quot;, &quot;Sqrt&quot;, &quot;Style&quot;, &quot;Error&quot;, &quot;Phantom&quot;, &quot;Math&quot;, &quot;Menclose&quot;, &quot;Mpadded&quot;];
</ins><span class="cx">         for (var i in tags) {
</span><span class="cx">           var tag = tags[i];
</span><span class="cx">           var mo = document.getElementById(&quot;mo&quot; + tag);
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx">       &lt;math&gt;&lt;mphantom&gt;&lt;mo style=&quot;visibilty: visible;&quot; id=&quot;moPhantom&quot;&gt;|&lt;/mo&gt;&lt;mspace width=&quot;1px&quot; height=&quot;30px&quot; depth=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/mphantom&gt;&lt;/math&gt;
</span><span class="cx">       &lt;math&gt;&lt;mo id=&quot;moMath&quot;&gt;|&lt;/mo&gt;&lt;mspace width=&quot;1px&quot; height=&quot;30px&quot; depth=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/math&gt;
</span><span class="cx">       &lt;math&gt;&lt;menclose notation=&quot;box&quot;&gt;&lt;mo id=&quot;moMenclose&quot;&gt;|&lt;/mo&gt;&lt;mspace width=&quot;1px&quot; height=&quot;30px&quot; depth=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
</span><ins>+      &lt;math&gt;&lt;mpadded notation=&quot;box&quot;&gt;&lt;mo id=&quot;moMpadded&quot;&gt;|&lt;/mo&gt;&lt;mspace width=&quot;1px&quot; height=&quot;30px&quot; depth=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/mpadded&gt;&lt;/math&gt;
</ins><span class="cx">     &lt;/p&gt;
</span><span class="cx"> 
</span><span class="cx">   &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmpadded12expectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-1-2-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-1-2-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-1-2-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+    &lt;style type=&quot;text/css&quot;&gt;
+      div#bigsquare {
+        position: absolute;
+        width: 100px;
+        height: 100px;
+        background: blue;
+      }
+
+      div#smallsquare {
+        position:absolute;
+        width: 20px;
+        height: 20px;
+        left: 20px;
+        top: 60px;
+        background: red;
+      }
+      /*left = lspace = 20px;
+        top = heightBig - voffset - heightSmall;
+            = 50 + 20 - 10
+            = 60px */
+      &lt;/style&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;div id=&quot;bigsquare&quot;&gt;
+      &lt;div id=&quot;smallsquare&quot;&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/body&gt;
+&lt;html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-1-2-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded12html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-1-2.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-1-2.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-1-2.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;50px&quot; depth=&quot;50px&quot;
+               lspace=&quot;20px&quot; voffset=&quot;-20px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-1-2.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded1expectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-1-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-1-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-1-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+    &lt;style type=&quot;text/css&quot;&gt;
+      div#bigsquare {
+        position: absolute;
+        width: 100px;
+        height: 100px;
+        background: blue;
+      }
+
+      div#smallsquare {
+        position:absolute;
+        width: 20px;
+        height: 20px;
+        left: 20px;
+        top: 10px;
+        background: red;
+      }
+      /*left = lspace = 20px;
+        top = heightBig - voffset - heightSmall;
+            = 50 - 30 - 10
+            = 10px */
+      &lt;/style&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;div id=&quot;bigsquare&quot;&gt;
+      &lt;div id=&quot;smallsquare&quot;&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/body&gt;
+&lt;html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-1-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-1.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-1.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-1.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;50px&quot; depth=&quot;50px&quot;
+               lspace=&quot;20px&quot; voffset=&quot;30px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-1.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded2expectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-2-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-2-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-2-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+    &lt;style type=&quot;text/css&quot;&gt;
+      div#square1 {
+        position: absolute;
+        width: 100px;
+        height: 100px;
+        background: blue;
+      }
+
+      div#square2 {
+        position:absolute;
+        width: 20px;
+        height: 20px;
+        left: 10px;
+        top: 55px;
+        background: red;
+      }
+      /* left = lspace = 10;
+         top = heightBig - heightSmall - voffset;
+         top = 50 - 10 + 15 = 55px */
+      &lt;/style&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;div id=&quot;square1&quot;&gt;
+      &lt;div id=&quot;square2&quot;&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/body&gt;
+&lt;html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-2-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded2html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-2.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-2.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-2.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;50px&quot; depth=&quot;50px&quot;
+               lspace=&quot;10px&quot; voffset=&quot;-15px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-2.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded3expectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-3-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-3-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-3-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded height depth&lt;/title&gt;
+    &lt;style type=&quot;text/css&quot;&gt;
+      div#bigsquare1 {
+        position: absolute;
+        width: 100px;
+        height: 50px;
+        background: blue;
+      }
+
+      div#smallsquare1 {
+        position:absolute;
+        width: 20px;
+        height: 20px;
+        left: 0px;
+        top: 30px;
+        background: red;
+      }
+      /* left = lspace = 0;
+         top = heightBig - heightSmall - voffset;
+             = 50 - 10 - 10*/
+    &lt;/style&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;div id=&quot;bigsquare1&quot;&gt;
+      &lt;div id=&quot;smallsquare1&quot;&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+
+    &lt;div id=&quot;bigsquare2&quot;&gt;
+      &lt;div id=&quot;smallsquare2&quot;&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+  &lt;/body&gt;
+&lt;html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-3-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded3html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-3.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-3.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-3.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded height depth&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;50px&quot; depth=&quot;0px&quot;
+               lspace=&quot;0px&quot; voffset=&quot;10px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-3.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded4expectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-4-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-4-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-4-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;3height&quot; depth=&quot;3depth&quot;
+               lspace=&quot;0&quot; voffset=&quot;10px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-4-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpadded4html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-4.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-4.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-4.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Test mpadded&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math style=&quot;padding: 0;&quot;&gt;
+      &lt;!-- if lspace is used as a pseudounit, the lspace value is 0 --&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot; width=&quot;100px&quot; height=&quot;3height&quot; depth=&quot;3depth&quot;
+               lspace=&quot;3lspace&quot; voffset=&quot;10px&quot;&gt;
+        &lt;mpadded mathbackground=&quot;red&quot; width=&quot;20px&quot; height=&quot;10px&quot;
+                 depth=&quot;10px&quot;&gt;
+        &lt;/mpadded&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-4.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpaddeddynamicexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-dynamic-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-dynamic-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-dynamic-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html class=&quot;reftest-wait&quot;&gt;
+  &lt;head&gt;
+    &lt;title&gt;mpadded dynamic&lt;/title&gt;
+    &lt;meta charset=&quot;utf-8&quot;/&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math&gt;
+      &lt;mpadded id=&quot;mpadded&quot; mathbackground=&quot;blue&quot;
+               width=&quot;80px&quot; depth=&quot;50px&quot; height=&quot;30px&quot;
+               lspace=&quot;60px&quot; voffset=&quot;20px&quot;&gt;
+        &lt;mspace width=&quot;10px&quot; height=&quot;5px&quot; depth=&quot;5px&quot; mathbackground=&quot;red&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-dynamic-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpaddeddynamichtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-dynamic.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-dynamic.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-dynamic.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html class=&quot;reftest-wait&quot;&gt;
+  &lt;head&gt;
+    &lt;title&gt;mpadded dynamic&lt;/title&gt;
+    &lt;meta charset=&quot;utf-8&quot;/&gt;
+    &lt;script type=&quot;text/javascript&quot;&gt;
+      function doTest() {
+        var mpadded = document.getElementById(&quot;mpadded&quot;);
+        mpadded.setAttribute(&quot;width&quot;, &quot;80px&quot;);
+        mpadded.setAttribute(&quot;height&quot;, &quot;30px&quot;);
+        mpadded.setAttribute(&quot;depth&quot;, &quot;50px&quot;);
+        mpadded.setAttribute(&quot;lspace&quot;, &quot;60px&quot;);
+        mpadded.setAttribute(&quot;voffset&quot;, &quot;20px&quot;);
+        document.documentElement.removeAttribute(&quot;class&quot;);
+      }
+      window.addEventListener(&quot;load&quot;, doTest, false);
+    &lt;/script&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;math&gt;
+      &lt;mpadded id=&quot;mpadded&quot; mathbackground=&quot;blue&quot;
+               width=&quot;40px&quot; depth=&quot;30px&quot; height=&quot;20px&quot;
+               lspace=&quot;5px&quot; voffset=&quot;-15px&quot;&gt;
+        &lt;mspace width=&quot;10px&quot; height=&quot;5px&quot; depth=&quot;5px&quot; mathbackground=&quot;red&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-dynamic.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpaddedunsupportedvaluesexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values-expected.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values-expected.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;mpadded unsupported values&lt;/title&gt;
+    &lt;meta charset=&quot;utf-8&quot;/&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+    &lt;math&gt;
+      &lt;mpadded mathbackground=&quot;red&quot;&gt;
+        &lt;mspace width=&quot;0px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded height=&quot;0px&quot; mathbackground=&quot;green&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded depth=&quot;0px&quot; mathbackground=&quot;blue&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded lspace=&quot;0px&quot; mathbackground=&quot;magenta&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+    &lt;hr/&gt;
+
+    &lt;!-- We ignore pseudo-units for now. --&gt;
+    &lt;math&gt;
+      &lt;mpadded mathbackground=&quot;red&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded mathbackground=&quot;green&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded mathbackground=&quot;blue&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestsmathmlpresentationmpaddedunsupportedvalueshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values.html (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values.html        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;mpadded unsupported values&lt;/title&gt;
+    &lt;meta charset=&quot;utf-8&quot;/&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+    &lt;!-- This verifies that the values that we do not support do not cause any problem. --&gt;
+
+    &lt;!-- If width/height/depth/lspace are negative, we set them to zero. --&gt;
+    &lt;math&gt;
+      &lt;mpadded width=&quot;-20px&quot; mathbackground=&quot;red&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded height=&quot;-20px&quot; mathbackground=&quot;green&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded depth=&quot;-20px&quot; mathbackground=&quot;blue&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded lspace=&quot;-20px&quot; mathbackground=&quot;magenta&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+    &lt;hr/&gt;
+
+    &lt;!-- We ignore pseudo-units values. --&gt;
+    &lt;math&gt;
+      &lt;mpadded width=&quot;3width&quot; mathbackground=&quot;red&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded height=&quot;3depth&quot; mathbackground=&quot;green&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+      &lt;mpadded depth=&quot;3height&quot; mathbackground=&quot;blue&quot;&gt;
+        &lt;mspace width=&quot;50px&quot; height=&quot;25px&quot; depth=&quot;25px&quot;/&gt;
+      &lt;/mpadded&gt;
+    &lt;/math&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/mpadded-unsupported-values.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<ins>+text/html
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -2532,6 +2532,7 @@
</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><ins>+    rendering/mathml/RenderMathMLPadded.cpp
</ins><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 (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/ChangeLog        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -1,5 +1,42 @@
</span><span class="cx"> 2016-07-07  Frederic Wang  &lt;fwang@igalia.com&gt;
</span><span class="cx"> 
</span><ins>+        Bug 155792 - Basic implementation of mpadded
+        https://bugs.webkit.org/show_bug.cgi?id=155792
+
+        Reviewed by Brent Fulgham.
+
+        We implement a basic support for the mpadded element.
+        We support most of the attribute values except pseudo-units or negative values.
+
+        Tests: mathml/presentation/mpadded-1-2.html
+               mathml/presentation/mpadded-1.html
+               mathml/presentation/mpadded-2.html
+               mathml/presentation/mpadded-3.html
+               mathml/presentation/mpadded-unsupported-values.html
+               mathml/presentation/mpadded-dynamic.html
+
+        * CMakeLists.txt: Add RenderMathMLPadded to the build system.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+        * mathml/MathMLInlineContainerElement.cpp:
+        (WebCore::MathMLInlineContainerElement::createElementRenderer): Create the renderer
+        for mpadded.
+        * mathml/mathattrs.in: Add voffset attribute.
+        * mathml/mathtags.in: Make mpadded use MathMLInlineContainerElement.
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isRenderMathMLPadded): Define isRenderMathMLPadded.
+        * rendering/mathml/RenderMathMLPadded.cpp: Added.
+        We do a simple implementation by overriding the behavior of RenderMathMLRow and forcing
+        relayout after attribute or style change.
+        (WebCore::RenderMathMLPadded::RenderMathMLPadded):
+        (WebCore::RenderMathMLPadded::computePreferredLogicalWidths):
+        (WebCore::RenderMathMLPadded::layoutBlock):
+        (WebCore::RenderMathMLPadded::updateFromElement):
+        (WebCore::RenderMathMLPadded::styleDidChange):
+        (WebCore::RenderMathMLPadded::firstLineBaseline):
+        * rendering/mathml/RenderMathMLPadded.h: Added.
+
+2016-07-07  Frederic Wang  &lt;fwang@igalia.com&gt;
+
</ins><span class="cx">         Move MathML-specific code into a separate accessibility class
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=159213
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -2389,6 +2389,7 @@
</span><span class="cx">                 5B30695D18B3D3450099D5E8 /* WebGLDrawBuffers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B30695A18B3D3450099D5E8 /* WebGLDrawBuffers.cpp */; };
</span><span class="cx">                 5B30695E18B3D3450099D5E8 /* WebGLDrawBuffers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B30695B18B3D3450099D5E8 /* WebGLDrawBuffers.h */; };
</span><span class="cx">                 5B7A208D2E12979B4AE19DE6 /* RenderMathMLSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DBFCB0EBFF5CD77EBEB35395 /* RenderMathMLSpace.cpp */; };
</span><ins>+                5B7A208D2E12979B4AE19E6F /* RenderMathMLPadded.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DBFCB0EBFF5CD77EBEB3595F /* RenderMathMLPadded.cpp */; };
</ins><span class="cx">                 5C4304B0191AC908000E2BC0 /* EXTShaderTextureLOD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C4304AD191AC908000E2BC0 /* EXTShaderTextureLOD.cpp */; };
</span><span class="cx">                 5C4304B1191AC908000E2BC0 /* EXTShaderTextureLOD.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4304AE191AC908000E2BC0 /* EXTShaderTextureLOD.h */; };
</span><span class="cx">                 5C4304B5191AEF46000E2BC0 /* JSEXTShaderTextureLOD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C4304B3191AEF46000E2BC0 /* JSEXTShaderTextureLOD.cpp */; };
</span><span class="lines">@@ -9036,6 +9037,7 @@
</span><span class="cx">                 3314ACE910892086000F0E56 /* JSExceptionBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSExceptionBase.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3314ACEA10892086000F0E56 /* JSExceptionBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSExceptionBase.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 331FF67DE197B57393C46AA7 /* RenderMathMLSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLSpace.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                331FF67DE197B57393C46A7F /* RenderMathMLPadded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLPadded.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 333F704E0FB49CA2008E12A6 /* Notification.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Notification.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 333F704F0FB49CA2008E12A6 /* Notification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Notification.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 33503C9910179A74003B47E1 /* NotificationClient.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = NotificationClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14522,6 +14524,7 @@
</span><span class="cx">                 DB23C2C90A508D29002489EB /* IndentOutdentCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IndentOutdentCommand.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 DB23C2CA0A508D29002489EB /* IndentOutdentCommand.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IndentOutdentCommand.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 DBFCB0EBFF5CD77EBEB35395 /* RenderMathMLSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLSpace.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                DBFCB0EBFF5CD77EBEB3595F /* RenderMathMLPadded.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLPadded.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 DD05FE0B0B8BA3C6009ACDFE /* WebCoreObjCExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCoreObjCExtras.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 DD763BB10992C2C900740B8E /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = &quot;compiled.mach-o.dylib&quot;; name = libxml2.dylib; path = /usr/lib/libxml2.dylib; sourceTree = &quot;&lt;absolute&gt;&quot;; };
</span><span class="cx">                 DE49B2FF165F2FC60010338D /* MediaControlElementTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControlElementTypes.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -17146,6 +17149,8 @@
</span><span class="cx">                                 439046D412DA25E800AF80A2 /* RenderMathMLScripts.h */,
</span><span class="cx">                                 DBFCB0EBFF5CD77EBEB35395 /* RenderMathMLSpace.cpp */,
</span><span class="cx">                                 331FF67DE197B57393C46AA7 /* RenderMathMLSpace.h */,
</span><ins>+                                DBFCB0EBFF5CD77EBEB3595F /* RenderMathMLPadded.cpp */,
+                                331FF67DE197B57393C46A7F /* RenderMathMLPadded.h */,
</ins><span class="cx">                                 439046D712DA25E800AF80A9 /* RenderMathMLToken.cpp */,
</span><span class="cx">                                 439046D812DA25E800AF80A9 /* RenderMathMLToken.h */,
</span><span class="cx">                                 439046D512DA25E800AF80A2 /* RenderMathMLUnderOver.cpp */,
</span><span class="lines">@@ -31625,6 +31630,7 @@
</span><span class="cx">                                 439046E312DA25E800AF80A2 /* RenderMathMLRow.cpp in Sources */,
</span><span class="cx">                                 439046E712DA25E800AF80A2 /* RenderMathMLScripts.cpp in Sources */,
</span><span class="cx">                                 5B7A208D2E12979B4AE19DE6 /* RenderMathMLSpace.cpp in Sources */,
</span><ins>+                                5B7A208D2E12979B4AE19E6F /* RenderMathMLPadded.cpp in Sources */,
</ins><span class="cx">                                 439046EB12DA25E800AF80A9 /* RenderMathMLToken.cpp in Sources */,
</span><span class="cx">                                 439046E912DA25E800AF80A2 /* RenderMathMLUnderOver.cpp in Sources */,
</span><span class="cx">                                 E4C279580CF9741900E97B98 /* RenderMedia.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLInlineContainerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;RenderMathMLFenced.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLFraction.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLMenclose.h&quot;
</span><ins>+#include &quot;RenderMathMLPadded.h&quot;
</ins><span class="cx"> #include &quot;RenderMathMLRoot.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLRow.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLScripts.h&quot;
</span><span class="lines">@@ -79,6 +80,8 @@
</span><span class="cx">         return createRenderer&lt;RenderMathMLFenced&gt;(*this, WTFMove(style));
</span><span class="cx">     if (hasTagName(mtableTag))
</span><span class="cx">         return createRenderer&lt;RenderMathMLTable&gt;(*this, WTFMove(style));
</span><ins>+    if (hasTagName(mpaddedTag))
+        return createRenderer&lt;RenderMathMLPadded&gt;(*this, WTFMove(style));
</ins><span class="cx"> 
</span><span class="cx">     return createRenderer&lt;RenderMathMLBlock&gt;(*this, WTFMove(style));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlmathattrsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/mathattrs.in (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/mathattrs.in        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/mathml/mathattrs.in        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -47,4 +47,5 @@
</span><span class="cx"> symmetric
</span><span class="cx"> subscriptshift
</span><span class="cx"> superscriptshift
</span><ins>+voffset
</ins><span class="cx"> width
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlmathtagsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/mathtags.in (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/mathtags.in        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/mathml/mathtags.in        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -11,6 +11,7 @@
</span><span class="cx"> mfenced interfaceName=MathMLInlineContainerElement
</span><span class="cx"> msubsup interfaceName=MathMLInlineContainerElement
</span><span class="cx"> merror interfaceName=MathMLInlineContainerElement
</span><ins>+mpadded interfaceName=MathMLInlineContainerElement
</ins><span class="cx"> mphantom interfaceName=MathMLInlineContainerElement
</span><span class="cx"> mrow interfaceName=MathMLInlineContainerElement
</span><span class="cx"> mstyle interfaceName=MathMLInlineContainerElement
</span><span class="lines">@@ -41,7 +42,6 @@
</span><span class="cx"> mglyph interfaceName=MathMLElement
</span><span class="cx"> mlabeledtr interfaceName=MathMLElement
</span><span class="cx"> mlongdiv interfaceName=MathMLElement
</span><del>-mpadded interfaceName=MathMLElement
</del><span class="cx"> mscarries interfaceName=MathMLElement
</span><span class="cx"> mscarry interfaceName=MathMLElement
</span><span class="cx"> msgroup interfaceName=MathMLElement
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.h (202961 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.h        2016-07-08 05:51:20 UTC (rev 202961)
+++ trunk/Source/WebCore/rendering/RenderObject.h        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -342,6 +342,7 @@
</span><span class="cx">     virtual bool isRenderMathMLMenclose() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLFenced() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLFraction() const { return false; }
</span><ins>+    virtual bool isRenderMathMLPadded() const { return false; }
</ins><span class="cx">     virtual bool isRenderMathMLRoot() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLSpace() const { return false; }
</span><span class="cx">     virtual bool isRenderMathMLSquareRoot() const { return false; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLPaddedcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp                                (rev 0)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,128 @@
</span><ins>+/*
+ * Copyright (C) 2016 Igalia S.L. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;RenderMathMLPadded.h&quot;
+
+#if ENABLE(MATHML)
+
+#include &quot;MathMLNames.h&quot;
+#include &lt;cmath&gt;
+
+namespace WebCore {
+
+using namespace MathMLNames;
+
+RenderMathMLPadded::RenderMathMLPadded(Element&amp; element, RenderStyle&amp;&amp; style)
+    : RenderMathMLRow(element, WTFMove(style))
+{
+}
+
+void RenderMathMLPadded::computePreferredLogicalWidths()
+{
+    ASSERT(preferredLogicalWidthsDirty());
+
+    // Determine the intrinsic width of the content.
+    RenderMathMLRow::computePreferredLogicalWidths();
+
+    // Only the width attribute should modify the width.
+    // We parse it using the preferred width of the content as its default value.
+    LayoutUnit width = m_maxPreferredLogicalWidth;
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::widthAttr), width, &amp;style(), false);
+
+    m_minPreferredLogicalWidth = m_maxPreferredLogicalWidth = width;
+
+    setPreferredLogicalWidthsDirty(false);
+}
+
+void RenderMathMLPadded::layoutBlock(bool relayoutChildren, LayoutUnit)
+{
+    ASSERT(needsLayout());
+
+    if (!relayoutChildren &amp;&amp; simplifiedLayout())
+        return;
+
+    // We first layout our children as a normal &lt;mrow&gt; element.
+    LayoutUnit contentAscent, contentDescent, contentWidth;
+    contentAscent = contentDescent = 0;
+    RenderMathMLRow::computeLineVerticalStretch(contentAscent, contentDescent);
+    RenderMathMLRow::layoutRowItems(contentAscent, contentDescent);
+    contentWidth = logicalWidth();
+
+    // We parse the mpadded attributes using the content metrics as the default value.
+    // FIXME: We should also accept pseudo-units and (some) negative values.
+    // See https://bugs.webkit.org/show_bug.cgi?id=85730
+    LayoutUnit width = contentWidth;
+    LayoutUnit ascent = contentAscent;
+    LayoutUnit descent = contentDescent;
+    LayoutUnit lspace = 0;
+    LayoutUnit voffset = 0;
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::widthAttr), width, &amp;style());
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::heightAttr), ascent, &amp;style());
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::depthAttr), descent, &amp;style());
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::lspaceAttr), lspace, &amp;style());
+    parseMathMLLength(element()-&gt;fastGetAttribute(MathMLNames::voffsetAttr), voffset, &amp;style());
+    if (width &lt; 0)
+        width = 0;
+    if (ascent &lt; 0)
+        ascent = 0;
+    if (descent &lt; 0)
+        descent = 0;
+    if (lspace &lt; 0)
+        lspace = 0;
+
+    // Align children on the new baseline and shift them by (lspace, -voffset)
+    LayoutPoint contentLocation(lspace, ascent - contentAscent - voffset);
+    for (auto* child = firstChildBox(); child; child = child-&gt;nextSiblingBox())
+        child-&gt;setLocation(child-&gt;location() + contentLocation);
+
+    // Set the final metrics.
+    setLogicalWidth(width);
+    m_ascent = ascent;
+    setLogicalHeight(ascent + descent);
+
+    clearNeedsLayout();
+}
+
+void RenderMathMLPadded::updateFromElement()
+{
+    RenderMathMLRow::updateFromElement();
+    setNeedsLayoutAndPrefWidthsRecalc();
+}
+
+void RenderMathMLPadded::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
+{
+    RenderMathMLRow::styleDidChange(diff, oldStyle);
+    setNeedsLayoutAndPrefWidthsRecalc();
+}
+
+Optional&lt;int&gt; RenderMathMLPadded::firstLineBaseline() const
+{
+    return Optional&lt;int&gt;(std::lround(static_cast&lt;float&gt;(m_ascent)));
+}
+
+}
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorerenderingmathmlRenderMathMLPaddedh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.h (0 => 202962)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.h                                (rev 0)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.h        2016-07-08 06:16:32 UTC (rev 202962)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+/*
+ * Copyright (C) 2016 Igalia S.L. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RenderMathMLPadded_h
+#define RenderMathMLPadded_h
+#pragma once
+
+#if ENABLE(MATHML)
+
+#include &quot;RenderMathMLRow.h&quot;
+
+namespace WebCore {
+
+class RenderMathMLPadded final : public RenderMathMLRow {
+public:
+    RenderMathMLPadded(Element&amp;, RenderStyle&amp;&amp;);
+
+private:
+    const char* renderName() const final { return &quot;RenderMathMLPadded&quot;; }
+    bool isRenderMathMLPadded() const final { return true; }
+
+    void computePreferredLogicalWidths() final;
+    void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) final;
+    Optional&lt;int&gt; firstLineBaseline() const final;
+
+    void updateFromElement() final;
+    void styleDidChange(StyleDifference, const RenderStyle* oldStyle) final;
+
+    LayoutUnit m_ascent;
+};
+
+} // namespace WebCore
+
+SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderMathMLPadded, isRenderMathMLPadded())
+
+#endif // ENABLE(MATHML)
+#endif // RenderMathMLPadded_h
</ins><span class="cx">Property changes on: trunk/Source/WebCore/rendering/mathml/RenderMathMLPadded.h
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+LF
</ins><span class="cx">\ No newline at end of property
</span></div>

</body>
</html>