<!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>[162933] 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/162933">162933</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2014-01-28 08:34:52 -0800 (Tue, 28 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add support for menclose element
https://bugs.webkit.org/show_bug.cgi?id=85729

Patch by Gurpreet Kaur &lt;k.gurpreet@samsung.com&gt; on 2014-01-28
Reviewed by Chris Fleizach.

Source/WebCore:

Added support for menclose element. MathML &lt;menclose&gt; element renders
its content inside an enclosing notation specified by the notation
attribute. The notation attribute can have values longdiv, box, left,
right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
updiagonalstrike, downdiagonalstrike, verticalstrike and
horizontalstrike.

Tests: mathml/presentation/menclose-add-children.html
       mathml/presentation/menclose-notation-attribute-add.html
       mathml/presentation/menclose-notation-attribute-change-value.html
       mathml/presentation/menclose-notation-attribute-remove.html
       mathml/presentation/menclose-notation-attribute-set1.html
       mathml/presentation/menclose-notation-attribute-set2.html
       mathml/presentation/menclose-notation-no-overlap.html
       mathml/presentation/menclose-notation-radical.html
       mathml/presentation/menclose-remove-children.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/mathml.css:
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
* mathml/MathMLAllInOne.cpp:
* mathml/MathMLElement.h:
* mathml/MathMLInlineContainerElement.cpp:
* mathml/MathMLMencloseElement.cpp: Added.
(WebCore::MathMLMencloseElement::MathMLMencloseElement):
(WebCore::MathMLMencloseElement::create):
(WebCore::MathMLMencloseElement::createElementRenderer):
(WebCore::MathMLMencloseElement::isPresentationAttribute):
(WebCore::MathMLMencloseElement::finishParsingChildren):
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
(WebCore::MathMLMencloseElement::longDivLeftPadding):
* mathml/MathMLMencloseElement.h: Added.
(WebCore::toMathMLMencloseElement):
* mathml/mathattrs.in:
* mathml/mathtags.in:
* rendering/mathml/RenderMathMLMenclose.cpp: Added.
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
(WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
* rendering/mathml/RenderMathMLMenclose.h: Added.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
(WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLSquareRoot.h:
Added new file related to menclose element implementation. Menclose
element is created and while parsing its notation attribute based on
its values like top, left CSSBorder properties are applied and for
values like circle, verticalstrike, longidv its taken care in paint.
For radical value an anonymous RenderMathMLSquareRoot is created as
a child of menclose.

LayoutTests:

* mathml/presentation/inferred-mrow-baseline-expected.txt:
* mathml/presentation/inferred-mrow-baseline.html:
* mathml/presentation/inferred-mrow-stretchy-expected.txt:
* mathml/presentation/inferred-mrow-stretchy.html:
Rebaselining existing tests as per the new behavior.

* mathml/presentation/menclose-add-children-expected.html: Added.
* mathml/presentation/menclose-add-children.html: Added.
* mathml/presentation/menclose-notation-attribute-add-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-add.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-change-value.html: Added.
* mathml/presentation/menclose-notation-attribute-remove-expected.html: Added.
* mathml/presentation/menclose-notation-attribute-remove.html: Added.
* mathml/presentation/menclose-notation-attribute-set1-expected.txt: Added.
* mathml/presentation/menclose-notation-attribute-set1.html: Added.
* mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Added.
* mathml/presentation/menclose-notation-attribute-set2.html: Added.
* mathml/presentation/menclose-notation-no-overlap-expected.txt: Added.
* mathml/presentation/menclose-notation-no-overlap.html: Added.
* mathml/presentation/menclose-notation-radical-expected.html: Added.
* mathml/presentation/menclose-notation-radical.html: Added.
* mathml/presentation/menclose-remove-children-expected.html: Added.
* mathml/presentation/menclose-remove-children.html: Added.
Added new test cases for verifying the behaviour of menclose element
with different values of notation attribute and removing/changing/adding
notation attribute.</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="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorecssmathmlcss">trunk/Source/WebCore/css/mathml.css</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLAllInOnecpp">trunk/Source/WebCore/mathml/MathMLAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLElementh">trunk/Source/WebCore/mathml/MathMLElement.h</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="#trunkSourceWebCorerenderingmathmlRenderMathMLRootcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLRooth">trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLSquareRootcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLSquareRooth">trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsmathmlpresentationmencloseaddchildrenexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-add-children-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmencloseaddchildrenhtml">trunk/LayoutTests/mathml/presentation/menclose-add-children.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeaddexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeaddhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributechangevalueexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributechangevaluehtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeremoveexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeremovehtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeset1expectedtxt">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeset1html">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeset2expectedmismatchhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationattributeset2html">trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationnooverlapexpectedtxt">trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap-expected.txt</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationnooverlaphtml">trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationradicalexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-radical-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmenclosenotationradicalhtml">trunk/LayoutTests/mathml/presentation/menclose-notation-radical.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmencloseremovechildrenexpectedhtml">trunk/LayoutTests/mathml/presentation/menclose-remove-children-expected.html</a></li>
<li><a href="#trunkLayoutTestsmathmlpresentationmencloseremovechildrenhtml">trunk/LayoutTests/mathml/presentation/menclose-remove-children.html</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLMencloseElementcpp">trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLMencloseElementh">trunk/Source/WebCore/mathml/MathMLMencloseElement.h</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLMenclosecpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLMencloseh">trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/LayoutTests/ChangeLog        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2014-01-28  Gurpreet Kaur  &lt;k.gurpreet@samsung.com&gt;
+
+        Add support for menclose element
+        https://bugs.webkit.org/show_bug.cgi?id=85729
+
+        Reviewed by Chris Fleizach.
+
+        * mathml/presentation/inferred-mrow-baseline-expected.txt:
+        * mathml/presentation/inferred-mrow-baseline.html:
+        * mathml/presentation/inferred-mrow-stretchy-expected.txt:
+        * mathml/presentation/inferred-mrow-stretchy.html:
+        Rebaselining existing tests as per the new behavior.
+
+        * mathml/presentation/menclose-add-children-expected.html: Added.
+        * mathml/presentation/menclose-add-children.html: Added.
+        * mathml/presentation/menclose-notation-attribute-add-expected.html: Added.
+        * mathml/presentation/menclose-notation-attribute-add.html: Added.
+        * mathml/presentation/menclose-notation-attribute-change-value-expected.html: Added.
+        * mathml/presentation/menclose-notation-attribute-change-value.html: Added.
+        * mathml/presentation/menclose-notation-attribute-remove-expected.html: Added.
+        * mathml/presentation/menclose-notation-attribute-remove.html: Added.
+        * mathml/presentation/menclose-notation-attribute-set1-expected.txt: Added.
+        * mathml/presentation/menclose-notation-attribute-set1.html: Added.
+        * mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html: Added.
+        * mathml/presentation/menclose-notation-attribute-set2.html: Added.
+        * mathml/presentation/menclose-notation-no-overlap-expected.txt: Added.
+        * mathml/presentation/menclose-notation-no-overlap.html: Added.
+        * mathml/presentation/menclose-notation-radical-expected.html: Added.
+        * mathml/presentation/menclose-notation-radical.html: Added.
+        * mathml/presentation/menclose-remove-children-expected.html: Added.
+        * mathml/presentation/menclose-remove-children.html: Added.
+        Added new test cases for verifying the behaviour of menclose element
+        with different values of notation attribute and removing/changing/adding
+        notation attribute.
+
</ins><span class="cx"> 2014-01-27  Brian Burg  &lt;bburg@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: clean up initialization of managers and observers in InspectorTest
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowbaselineexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline-expected.txt        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -5,6 +5,7 @@
</span><span class="cx">  
</span><span class="cx">  
</span><span class="cx">  
</span><ins>+ 
</ins><span class="cx"> 
</span><span class="cx"> Mrow: PASS
</span><span class="cx"> Sqrt: PASS
</span><span class="lines">@@ -12,4 +13,5 @@
</span><span class="cx"> Error: PASS
</span><span class="cx"> Phantom: PASS
</span><span class="cx"> Math: PASS
</span><ins>+Menclose: PASS
</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 (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-baseline.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">     &lt;script type=&quot;text/javascript&quot;&gt;
</span><span class="cx">       function test()
</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;];
</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;];
</ins><span class="cx">         var result = &quot;&quot;;
</span><span class="cx">         for (var i in tags) {
</span><span class="cx">           var tag = tags[i];
</span><span class="lines">@@ -36,6 +36,8 @@
</span><span class="cx">       &lt;math&gt;&lt;mphantom&gt;&lt;mspace style=&quot;visibility: visible;&quot; id=&quot;abovePhantom&quot; width=&quot;10px&quot; height=&quot;30px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;mspace style=&quot;visibility: visible;&quot; id=&quot;belowPhantom&quot; width=&quot;10px&quot; depth=&quot;30px&quot; mathbackground=&quot;blue&quot;&gt;&lt;/mspace&gt;&lt;/mphantom&gt;&lt;/math&gt;
</span><span class="cx"> 
</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><ins>+          
+      &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;
</ins><span class="cx">     &lt;/p&gt;
</span><span class="cx"> 
</span><span class="cx">     &lt;div id=&quot;result&quot;&gt;&lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationinferredmrowstretchyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy-expected.txt        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -5,6 +5,7 @@
</span><span class="cx">  
</span><span class="cx">  
</span><span class="cx">  
</span><ins>+ 
</ins><span class="cx"> 
</span><span class="cx"> Mrow: PASS
</span><span class="cx"> Sqrt: PASS
</span><span class="lines">@@ -12,4 +13,5 @@
</span><span class="cx"> Error: PASS
</span><span class="cx"> Phantom: PASS
</span><span class="cx"> Math: PASS
</span><ins>+Menclose: PASS
</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 (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/LayoutTests/mathml/presentation/inferred-mrow-stretchy.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">     &lt;script type=&quot;text/javascript&quot;&gt;
</span><span class="cx">       function test()
</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;];
</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;];
</ins><span class="cx">         var result = &quot;&quot;;
</span><span class="cx">         for (var i in tags) {
</span><span class="cx">           var tag = tags[i];
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx">       &lt;math&gt;&lt;merror&gt;&lt;mo id=&quot;moError&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;/merror&gt;&lt;/math&gt;
</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><ins>+      &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;
</ins><span class="cx">     &lt;/p&gt;
</span><span class="cx"> 
</span><span class="cx">     &lt;div id=&quot;result&quot;&gt;&lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsmathmlpresentationmencloseaddchildrenexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-add-children-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-add-children-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-add-children-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose notation=&quot;box&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;100px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-add-children-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmencloseaddchildrenhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-add-children.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-add-children.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-add-children.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+    &lt;head&gt;
+        &lt;script type=&quot;text/javascript&quot;&gt;
+            function runTest() {
+                var mathmlNS = &quot;http://www.w3.org/1998/Math/MathML&quot;;
+                var node = document.createElementNS(mathmlNS, &quot;mspace&quot;);
+                                node.setAttribute(&quot;width&quot;,&quot;100px&quot;);
+                                node.setAttribute(&quot;height&quot;,&quot;100px&quot;);
+                                node.setAttribute(&quot;mathbackground&quot;,&quot;red&quot;);
+                                document.getElementById('testMenclose').appendChild(node);
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose id=&quot;testMenclose&quot; notation=&quot;box&quot;&gt;&lt;/menclose&gt;&lt;/math&gt;
+                &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-add-children.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeaddexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose notation=&quot;box&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeaddhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;script type=&quot;text/javascript&quot;&gt;
+            function runTest() {
+                                document.getElementById('testMenclose').setAttribute(&quot;notation&quot;,&quot;box&quot;);
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose id=&quot;testMenclose&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
+                &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-add.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributechangevalueexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose notation=&quot;longdiv&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributechangevaluehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;script type=&quot;text/javascript&quot;&gt;
+            function runTest() {
+                                document.getElementById('testMenclose').setAttribute(&quot;notation&quot;,&quot;longdiv&quot;);
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose id=&quot;testMenclose&quot; notation=&quot;box&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
+                &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-change-value.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeremoveexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeremovehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;script type=&quot;text/javascript&quot;&gt;
+            function runTest() {
+                document.getElementById('testMenclose').removeAttribute(&quot;notation&quot;);
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose id=&quot;testMenclose&quot; notation=&quot;box&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
+                &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-remove.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeset1expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1-expected.txt (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1-expected.txt                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1-expected.txt        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+Tests that left, right, top, bottom, box, roundedbox, madruwb, actuarial attribute value is applied for menclose
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-left-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-left-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-right-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-right-width') is &quot;0px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-right-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-right-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-left-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-left-width') is &quot;0px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-top-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-top-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-bottom-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-bottom-width') is &quot;0px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-bottom-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-bottom-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-top-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-top-width') is &quot;0px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose5'),null).getPropertyValue('border') is &quot;1px solid rgb(0, 0, 0)&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose6'),null).getPropertyValue('border') is &quot;1px solid rgb(0, 0, 0)&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose6'),null).getPropertyValue('border-radius') is &quot;5px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-right-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-right-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-bottom-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-bottom-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-top-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-top-width') is &quot;0px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-right-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-right-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-top-style') is &quot;solid&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-top-width') is &quot;1px&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-bottom-style') is &quot;none&quot;
+PASS window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-bottom-width') is &quot;0px&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+
+
+
+
+
+
+
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1-expected.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeset1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,86 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+        &lt;script&gt;
+            function runTest() {
+                description('Tests that left, right, top, bottom, box, roundedbox, madruwb, actuarial attribute value is applied for menclose');
+
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-left-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-left-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-right-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose1'),null).getPropertyValue('border-right-width')&quot;,&quot;0px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-right-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-right-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-left-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose2'),null).getPropertyValue('border-left-width')&quot;,&quot;0px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-top-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-top-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-bottom-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose3'),null).getPropertyValue('border-bottom-width')&quot;,&quot;0px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-bottom-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-bottom-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-top-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose4'),null).getPropertyValue('border-top-width')&quot;,&quot;0px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose5'),null).getPropertyValue('border')&quot;,&quot;1px solid rgb(0, 0, 0)&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose6'),null).getPropertyValue('border')&quot;,&quot;1px solid rgb(0, 0, 0)&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose6'),null).getPropertyValue('border-radius')&quot;,&quot;5px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-right-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-right-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-bottom-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-bottom-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-top-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose7'),null).getPropertyValue('border-top-width')&quot;,&quot;0px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-right-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-right-width')&quot;,&quot;1px&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-top-style')&quot;,&quot;solid&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-top-width')&quot;,&quot;1px&quot;);
+                                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-bottom-style')&quot;,&quot;none&quot;);
+                shouldBeEqualToString(&quot;window.getComputedStyle(document.getElementById('mathmenclose8'),null).getPropertyValue('border-bottom-width')&quot;,&quot;0px&quot;);              
+                isSuccessfullyParsed();                                
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;left&quot; id=&quot;mathmenclose1&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;right&quot; id=&quot;mathmenclose2&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;top&quot; id=&quot;mathmenclose3&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;bottom&quot; id=&quot;mathmenclose4&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;box&quot; id=&quot;mathmenclose5&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;roundedbox&quot; id=&quot;mathmenclose6&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;madruwb&quot; id=&quot;mathmenclose7&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;actuarial&quot; id=&quot;mathmenclose8&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set1.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeset2expectedmismatchhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;mrow&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/mrow&gt;
+            &lt;/math&gt;
+        &lt;p&gt;        
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2-expected-mismatch.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationattributeset2html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;title&gt;menclose notation downdiagonalstrike test&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;downdiagonalstrike&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;                
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-attribute-set2.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationnooverlapexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap-expected.txt (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap-expected.txt                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap-expected.txt        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+Tests that menclose with notation value as circle is sqrt(2) times the inner width/height.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS document.getElementById('mathmenclose1').offsetWidth &gt;= 141 is true
+PASS document.getElementById('mathmenclose1').offsetHeight &gt;= 70 is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap-expected.txt
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationnooverlaphtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+        &lt;script&gt;
+            function runTest() {
+                description('Tests that menclose with notation value as circle is sqrt(2) times the inner width/height.');
+
+                shouldBeTrue(&quot;document.getElementById('mathmenclose1').offsetWidth &gt;= 141&quot;);
+                shouldBeTrue(&quot;document.getElementById('mathmenclose1').offsetHeight &gt;= 70&quot;);
+                                isSuccessfullyParsed();
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;
+                &lt;menclose notation=&quot;circle&quot; id=&quot;mathmenclose1&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;
+            &lt;/math&gt;
+        &lt;/p&gt;        
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-no-overlap.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationradicalexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-radical-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-radical-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-radical-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;title&gt;msqrt test&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;mrow&gt;&lt;msqrt&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/msqrt&gt;&lt;/mrow&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-radical-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmenclosenotationradicalhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-notation-radical.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-notation-radical.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-notation-radical.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+    &lt;head&gt;
+        &lt;title&gt;menclose notation radical test&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;mrow&gt;&lt;menclose notation=&quot;radical&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;/&gt;&lt;/menclose&gt;&lt;/mrow&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-notation-radical.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmencloseremovechildrenexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-remove-children-expected.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-remove-children-expected.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-remove-children-expected.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose notation=&quot;box&quot;&gt;&lt;/menclose&gt;&lt;/math&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-remove-children-expected.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkLayoutTestsmathmlpresentationmencloseremovechildrenhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/mathml/presentation/menclose-remove-children.html (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/mathml/presentation/menclose-remove-children.html                                (rev 0)
+++ trunk/LayoutTests/mathml/presentation/menclose-remove-children.html        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+    &lt;head&gt;   
+        &lt;script type=&quot;text/javascript&quot;&gt;
+            function runTest() {
+                var node=document.getElementById('testMenclose').firstChild;
+                                document.getElementById('testMenclose').removeChild(node);
+            }
+        &lt;/script&gt;
+    &lt;/head&gt;
+    &lt;body onload=&quot;runTest()&quot;&gt;
+        &lt;p&gt;
+            &lt;math&gt;&lt;menclose id=&quot;testMenclose&quot; notation=&quot;box&quot;&gt;&lt;mspace width=&quot;100px&quot; height=&quot;50px&quot; mathbackground=&quot;red&quot;&gt;&lt;/mspace&gt;&lt;/menclose&gt;&lt;/math&gt;
+                &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/mathml/presentation/menclose-remove-children.html
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -1701,6 +1701,7 @@
</span><span class="cx">     mathml/MathMLElement.cpp
</span><span class="cx">     mathml/MathMLInlineContainerElement.cpp
</span><span class="cx">     mathml/MathMLMathElement.cpp
</span><ins>+    mathml/MathMLMencloseElement.cpp
</ins><span class="cx">     mathml/MathMLSelectElement.cpp
</span><span class="cx">     mathml/MathMLTextElement.cpp
</span><span class="cx"> 
</span><span class="lines">@@ -2213,6 +2214,7 @@
</span><span class="cx">     rendering/mathml/RenderMathMLFenced.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLFraction.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLMath.cpp
</span><ins>+    rendering/mathml/RenderMathMLMenclose.cpp
</ins><span class="cx">     rendering/mathml/RenderMathMLOperator.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLRoot.cpp
</span><span class="cx">     rendering/mathml/RenderMathMLRow.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/ChangeLog        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -1,3 +1,72 @@
</span><ins>+2014-01-28  Gurpreet Kaur  &lt;k.gurpreet@samsung.com&gt;
+
+        Add support for menclose element
+        https://bugs.webkit.org/show_bug.cgi?id=85729
+
+        Reviewed by Chris Fleizach.
+
+        Added support for menclose element. MathML &lt;menclose&gt; element renders
+        its content inside an enclosing notation specified by the notation
+        attribute. The notation attribute can have values longdiv, box, left,
+        right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
+        updiagonalstrike, downdiagonalstrike, verticalstrike and
+        horizontalstrike.
+
+        Tests: mathml/presentation/menclose-add-children.html
+               mathml/presentation/menclose-notation-attribute-add.html
+               mathml/presentation/menclose-notation-attribute-change-value.html
+               mathml/presentation/menclose-notation-attribute-remove.html
+               mathml/presentation/menclose-notation-attribute-set1.html
+               mathml/presentation/menclose-notation-attribute-set2.html
+               mathml/presentation/menclose-notation-no-overlap.html
+               mathml/presentation/menclose-notation-radical.html
+               mathml/presentation/menclose-remove-children.html
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/mathml.css:
+        (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
+        (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
+        * mathml/MathMLAllInOne.cpp:
+        * mathml/MathMLElement.h:
+        * mathml/MathMLInlineContainerElement.cpp:
+        * mathml/MathMLMencloseElement.cpp: Added.
+        (WebCore::MathMLMencloseElement::MathMLMencloseElement):
+        (WebCore::MathMLMencloseElement::create):
+        (WebCore::MathMLMencloseElement::createElementRenderer):
+        (WebCore::MathMLMencloseElement::isPresentationAttribute):
+        (WebCore::MathMLMencloseElement::finishParsingChildren):
+        (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
+        (WebCore::MathMLMencloseElement::longDivLeftPadding):
+        * mathml/MathMLMencloseElement.h: Added.
+        (WebCore::toMathMLMencloseElement):
+        * mathml/mathattrs.in:
+        * mathml/mathtags.in:
+        * rendering/mathml/RenderMathMLMenclose.cpp: Added.
+        (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
+        (WebCore::RenderMathMLMenclose::addChild):
+        (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
+        (WebCore::RenderMathMLMenclose::updateLogicalHeight):
+        (WebCore::RenderMathMLMenclose::paint):
+        (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
+        * rendering/mathml/RenderMathMLMenclose.h: Added.
+        * rendering/mathml/RenderMathMLRoot.cpp:
+        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
+        * rendering/mathml/RenderMathMLRoot.h:
+        * rendering/mathml/RenderMathMLSquareRoot.cpp:
+        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
+        (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
+        * rendering/mathml/RenderMathMLSquareRoot.h:
+        Added new file related to menclose element implementation. Menclose
+        element is created and while parsing its notation attribute based on
+        its values like top, left CSSBorder properties are applied and for
+        values like circle, verticalstrike, longidv its taken care in paint.
+        For radical value an anonymous RenderMathMLSquareRoot is created as
+        a child of menclose.
+
</ins><span class="cx"> 2014-01-28  Krzysztof Czech  &lt;k.czech@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -4030,6 +4030,8 @@
</span><span class="cx">         Source/WebCore/mathml/MathMLInlineContainerElement.h  \
</span><span class="cx">         Source/WebCore/mathml/MathMLMathElement.cpp \
</span><span class="cx">         Source/WebCore/mathml/MathMLMathElement.h \
</span><ins>+        Source/WebCore/mathml/MathMLMencloseElement.cpp \
+        Source/WebCore/mathml/MathMLMencloseElement.h \
</ins><span class="cx">         Source/WebCore/mathml/MathMLSelectElement.cpp \
</span><span class="cx">         Source/WebCore/mathml/MathMLSelectElement.h  \
</span><span class="cx">         Source/WebCore/mathml/MathMLTextElement.cpp \
</span><span class="lines">@@ -4519,6 +4521,8 @@
</span><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLFraction.h \
</span><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLMath.cpp \
</span><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLMath.h \
</span><ins>+        Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp \
+        Source/WebCore/rendering/mathml/RenderMathMLMenclose.h \
</ins><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp \
</span><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLOperator.h \
</span><span class="cx">         Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -11220,6 +11220,7 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLFenced.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLFraction.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMath.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMenclose.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLOperator.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRoot.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLRow.cpp&quot; /&gt;
</span><span class="lines">@@ -17948,6 +17949,14 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\mathml\MathMLMencloseElement.cpp&quot;&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\mathml\MathMLSelectElement.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -19902,6 +19911,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLFenced.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLFraction.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMath.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMenclose.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLOperator.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRoot.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLRow.h&quot; /&gt;
</span><span class="lines">@@ -20884,6 +20894,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLElement.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLInlineContainerElement.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLMathElement.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\mathml\MathMLMencloseElement.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLSelectElement.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLTextElement.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\editing\AlternativeTextController.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -2721,6 +2721,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMath.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+        &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLMenclose.cpp&quot;&gt;
+      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\mathml\RenderMathMLOperator.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4887,6 +4890,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\mathml\MathMLMathElement.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\mathml\MathMLMencloseElement.cpp&quot;&gt;
+      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\mathml\MathMLSelectElement.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -9563,6 +9569,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMath.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLMenclose.h&quot;&gt;
+      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\mathml\RenderMathMLOperator.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12428,6 +12437,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLMathElement.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\mathml\MathMLMencloseElement.h&quot;&gt;
+      &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\mathml\MathMLSelectElement.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering\mathml&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -65,6 +65,7 @@
</span><span class="cx">                 01D3CF8714BD0A3000FE9970 /* WebGLSharedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 01D3CF8114BD0A3000FE9970 /* WebGLSharedObject.h */; };
</span><span class="cx">                 01E6C2E41194B2820050821C /* SpellingDot@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 01E6C2E31194B2820050821C /* SpellingDot@2x.png */; };
</span><span class="cx">                 0562F9611573F88F0031CA16 /* PlatformLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0562F9601573F88F0031CA16 /* PlatformLayer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                05D913CEEAB2A60534218ACF /* MathMLMencloseElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E61C653A64807A83E76FB8 /* MathMLMencloseElement.cpp */; };
</ins><span class="cx">                 05FD69E012845D4300B2BEB3 /* DOMTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 05FD69DF12845D4300B2BEB3 /* DOMTimeStamp.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 06027CAD0B1CBFC000884B2D /* ContextMenuItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 06027CAC0B1CBFC000884B2D /* ContextMenuItem.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 06027CB30B1CC03D00884B2D /* ContextMenuItemMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 06027CB20B1CC03D00884B2D /* ContextMenuItemMac.mm */; };
</span><span class="lines">@@ -1228,6 +1229,7 @@
</span><span class="cx">                 3390CA560FFC157B00921962 /* NotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3390CA520FFC157B00921962 /* NotificationCenter.h */; };
</span><span class="cx">                 339B5B63131DAA3200F48D02 /* CookiesStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 339B5B62131DAA3200F48D02 /* CookiesStrategy.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 33D0212D131DB37B004091A8 /* CookieStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E13F01EA1270E10D00DFBA71 /* CookieStorage.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3662F984047CEDBE5DDDAFAA /* RenderMathMLMenclose.cpp */; };
</ins><span class="cx">                 3717D7E817ECC591003C276D /* extract-localizable-strings.pl in Copy Scripts */ = {isa = PBXBuildFile; fileRef = 3717D7E517ECC3A6003C276D /* extract-localizable-strings.pl */; };
</span><span class="cx">                 371941961566B37200A276D8 /* WebCoreNSCellExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 371941941566B37200A276D8 /* WebCoreNSCellExtras.m */; };
</span><span class="cx">                 371941971566B37200A276D8 /* WebCoreNSCellExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 371941951566B37200A276D8 /* WebCoreNSCellExtras.h */; };
</span><span class="lines">@@ -8045,6 +8047,7 @@
</span><span class="cx">                 3390CA520FFC157B00921962 /* NotificationCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationCenter.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3390CA530FFC157B00921962 /* NotificationCenter.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NotificationCenter.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 339B5B62131DAA3200F48D02 /* CookiesStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CookiesStrategy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                3662F984047CEDBE5DDDAFAA /* RenderMathMLMenclose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderMathMLMenclose.cpp; path = rendering/mathml/RenderMathMLMenclose.cpp; sourceTree = SOURCE_ROOT; };
</ins><span class="cx">                 3717D7E517ECC3A6003C276D /* extract-localizable-strings.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = &quot;extract-localizable-strings.pl&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 371941941566B37200A276D8 /* WebCoreNSCellExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebCoreNSCellExtras.m; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 371941951566B37200A276D8 /* WebCoreNSCellExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreNSCellExtras.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10536,6 +10539,7 @@
</span><span class="cx">                 A1E1154313015C3D0054AC8C /* DistantLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DistantLightSource.cpp; path = filters/DistantLightSource.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1E1154513015C4E0054AC8C /* PointLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PointLightSource.cpp; path = filters/PointLightSource.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SpotLightSource.cpp; path = filters/SpotLightSource.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A208E222A56A0C7575F2A72E /* RenderMathMLMenclose.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderMathMLMenclose.h; path = rendering/mathml/RenderMathMLMenclose.h; sourceTree = SOURCE_ROOT; };
</ins><span class="cx">                 A2B9217216C5CC420041DCD9 /* IntRectExtent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntRectExtent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A31C4E4C16E02AA6002F7957 /* OESTextureHalfFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OESTextureHalfFloat.cpp; path = canvas/OESTextureHalfFloat.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A31C4E4E16E02AB4002F7957 /* OESTextureHalfFloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OESTextureHalfFloat.h; path = canvas/OESTextureHalfFloat.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12566,6 +12570,7 @@
</span><span class="cx">                 C3CF17A115B0063F00276D39 /* IdTargetObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IdTargetObserver.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 C3CF17A215B0063F00276D39 /* IdTargetObserverRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IdTargetObserverRegistry.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 C3CF17A315B0063F00276D39 /* IdTargetObserverRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IdTargetObserverRegistry.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                C3E61C653A64807A83E76FB8 /* MathMLMencloseElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLMencloseElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 C4CD629818383766007EBAF1 /* FrameSnapshotting.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameSnapshotting.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 C4CD629918383766007EBAF1 /* FrameSnapshotting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameSnapshotting.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 C50B561412119D23008B46E0 /* GroupSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GroupSettings.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12824,6 +12829,7 @@
</span><span class="cx">                 CE08C3CF152B599A0021B8C2 /* AlternativeTextController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AlternativeTextController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CE08C3D0152B599A0021B8C2 /* AlternativeTextController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlternativeTextController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CE5CB1B314EDAB6F00BB2795 /* EventSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSender.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                CE6D89294C7AACE0AD89B3DD /* MathMLMencloseElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathMLMencloseElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 CE7B2DAF1586ABAD0098B3FA /* AlternativeTextUIController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AlternativeTextUIController.h; path = mac/AlternativeTextUIController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CE7B2DB01586ABAD0098B3FA /* AlternativeTextUIController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AlternativeTextUIController.mm; path = mac/AlternativeTextUIController.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CE7B2DB11586ABAD0098B3FA /* TextAlternativeWithRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextAlternativeWithRange.h; path = mac/TextAlternativeWithRange.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14254,6 +14260,8 @@
</span><span class="cx">                                 034768DFFF38A50411DB9C8B /* Products */,
</span><span class="cx">                                 1CDD44660BA9C80000F90147 /* Configurations */,
</span><span class="cx">                                 449195900FBE175B00D9F824 /* Exports */,
</span><ins>+                                3662F984047CEDBE5DDDAFAA /* RenderMathMLMenclose.cpp */,
+                                A208E222A56A0C7575F2A72E /* RenderMathMLMenclose.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = WebKit;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -22198,6 +22206,8 @@
</span><span class="cx">                                 FABE72F01059C1EB00D999DD /* MathMLInlineContainerElement.h */,
</span><span class="cx">                                 FABE72F11059C1EB00D999DD /* MathMLMathElement.cpp */,
</span><span class="cx">                                 FABE72F21059C1EB00D999DD /* MathMLMathElement.h */,
</span><ins>+                                C3E61C653A64807A83E76FB8 /* MathMLMencloseElement.cpp */,
+                                CE6D89294C7AACE0AD89B3DD /* MathMLMencloseElement.h */,
</ins><span class="cx">                                 F75A059AF170D8FAA5B8CABE /* MathMLSelectElement.cpp */,
</span><span class="cx">                                 59780849D41E6F65D81198BC /* MathMLSelectElement.h */,
</span><span class="cx">                                 FA654A691108ABED002615E0 /* MathMLTextElement.cpp */,
</span><span class="lines">@@ -26247,6 +26257,8 @@
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><ins>+                                05D913CEEAB2A60534218ACF /* MathMLMencloseElement.cpp in Sources */,
+                                3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */,
</ins><span class="cx">                                 7A29BA6A187B7C1D00F29CEB /* TemporaryOpenGLSetting.cpp in Sources */,
</span><span class="cx">                                 41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
</span><span class="cx">                                 0F29C16E1300C2E2002D794E /* AccessibilityAllInOne.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorecssmathmlcss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/mathml.css (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/mathml.css        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/css/mathml.css        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -42,11 +42,11 @@
</span><span class="cx">     -webkit-margin-after: 1em;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle {
</del><ins>+mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose {
</ins><span class="cx">     display: -webkit-inline-flex !important;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle {
</del><ins>+math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose {
</ins><span class="cx">     -webkit-align-items: baseline;
</span><span class="cx"> }
</span><span class="cx"> msqrt &gt; * { /* This rule is needed because of &lt;msqrt&gt;'s anonymous &lt;mrow&gt;. */
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLAllInOne.cpp (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLAllInOne.cpp        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/mathml/MathMLAllInOne.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #include &quot;MathMLElement.cpp&quot;
</span><span class="cx"> #include &quot;MathMLInlineContainerElement.cpp&quot;
</span><span class="cx"> #include &quot;MathMLMathElement.cpp&quot;
</span><ins>+#include &quot;MathMLMencloseElement.cpp&quot;
</ins><span class="cx"> #include &quot;MathMLSelectElement.cpp&quot;
</span><span class="cx"> #include &quot;MathMLTextElement.cpp&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLElement.h (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLElement.h        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/mathml/MathMLElement.h        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -61,9 +61,9 @@
</span><span class="cx">     virtual bool childShouldCreateRenderer(const Node&amp;) const override;
</span><span class="cx">     virtual void attributeChanged(const QualifiedName&amp;, const AtomicString&amp; newValue, AttributeModificationReason) override;
</span><span class="cx"> 
</span><del>-private:    
</del><span class="cx">     virtual bool isPresentationAttribute(const QualifiedName&amp;) const override;
</span><span class="cx">     virtual void collectStyleForPresentationAttribute(const QualifiedName&amp;, const AtomicString&amp;, MutableStyleProperties&amp;) override;
</span><ins>+private:    
</ins><span class="cx"> 
</span><span class="cx">     virtual void updateSelectedChild() { };
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLInlineContainerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/mathml/MathMLInlineContainerElement.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;RenderMathMLBlock.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLFenced.h&quot;
</span><span class="cx"> #include &quot;RenderMathMLFraction.h&quot;
</span><ins>+#include &quot;RenderMathMLMenclose.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></pre></div>
<a id="trunkSourceWebCoremathmlMathMLMencloseElementcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp                                (rev 0)
+++ trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,146 @@
</span><ins>+/*
+ * Copyright (C) 2014 Gurpreet Kaur (k.gurpreet@samsung.com). All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+
+#if ENABLE(MATHML)
+#include &quot;MathMLMencloseElement.h&quot;
+
+#include &quot;MathMLNames.h&quot;
+#include &quot;RenderElement.h&quot;
+#include &quot;RenderMathMLMenclose.h&quot;
+#include &quot;RenderObject.h&quot;
+#include &quot;TextRun.h&quot;
+#include &lt;wtf/Ref.h&gt;
+#include &lt;wtf/text/StringBuilder.h&gt;
+
+
+namespace WebCore {
+
+MathMLMencloseElement::MathMLMencloseElement(const QualifiedName&amp; tagName, Document&amp; document)
+    : MathMLInlineContainerElement(tagName, document)
+    , m_isRadicalValue(false)
+{
+}
+
+PassRefPtr&lt;MathMLMencloseElement&gt; MathMLMencloseElement::create(const QualifiedName&amp; tagName, Document&amp; document)
+{
+    return adoptRef(new MathMLMencloseElement(tagName, document));
+}
+
+RenderPtr&lt;RenderElement&gt; MathMLMencloseElement::createElementRenderer(PassRef&lt;RenderStyle&gt; style)
+{    
+    return createRenderer&lt;RenderMathMLMenclose&gt;(*this, std::move(style));
+}
+
+bool MathMLMencloseElement::isPresentationAttribute(const QualifiedName&amp; name) const
+{
+    if (name == MathMLNames::notationAttr)
+        return true;
+    return MathMLElement::isPresentationAttribute(name);
+}
+
+void MathMLMencloseElement::finishParsingChildren()
+{
+    MathMLInlineContainerElement::finishParsingChildren();
+    // When notation value is a radical and menclose does not have any child 
+    // then we add anonymous squareroot child to menclose so that square root
+    // symbol can be rendered.
+    if (m_isRadicalValue &amp;&amp; !firstElementChild())
+        renderer()-&gt;addChild(nullptr, nullptr);
+}
+
+void MathMLMencloseElement::collectStyleForPresentationAttribute(const QualifiedName&amp; name, const AtomicString&amp; value, MutableStyleProperties&amp; style)
+{
+    String val = value;
+    if (val.isEmpty())
+        return;
+    if (name == MathMLNames::notationAttr) {
+        val.split(&quot; &quot;, m_notationValues);
+        size_t notationValueSize = m_notationValues.size();
+        for (size_t i = 0; i &lt; notationValueSize; i++) {
+            if (m_notationValues[i] == &quot;top&quot; || m_notationValues[i] == &quot;longdiv&quot;) {
+                if (m_notationValues[i] == &quot;longdiv&quot;)
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingLeft, longDivLeftPadding());
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderTopStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderTopWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingTop, &quot;.3ex&quot;);
+            } else if (m_notationValues[i] == &quot;bottom&quot;) {
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderBottomStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderBottomWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingBottom, &quot;.3ex&quot;);
+            } else if (m_notationValues[i] == &quot;left&quot;) {
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderLeftStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderLeftWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingLeft, &quot;.3ex&quot;);
+            } else if (m_notationValues[i] == &quot;right&quot;) {
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderRightStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderRightWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingRight, &quot;.3ex&quot;);
+            } else if (m_notationValues[i] == &quot;box&quot; || m_notationValues[i] == &quot;roundedbox&quot;) {
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPadding, &quot;.3ex&quot;);
+                if (m_notationValues[i] == &quot;roundedbox&quot;)
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderRadius, ASCIILiteral(&quot;5px&quot;));
+            } else if (m_notationValues[i] == &quot;actuarial&quot; || m_notationValues[i] == &quot;madruwb&quot;) {
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderRightStyle, &quot;solid&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderRightWidth, &quot;thin&quot;);
+                addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingRight, &quot;.3ex&quot;);
+                if (m_notationValues[i] == &quot;actuarial&quot;) {
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderTopStyle, &quot;solid&quot;);
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderTopWidth, &quot;thin&quot;);
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingTop, &quot;.3ex&quot;);
+                } else if (m_notationValues[i] == &quot;madruwb&quot;) {
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderBottomStyle, &quot;solid&quot;);
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderBottomWidth, &quot;thin&quot;);
+                    addPropertyToPresentationAttributeStyle(style, CSSPropertyPaddingBottom, &quot;.3ex&quot;);
+                }
+            } else if (m_notationValues[i] == &quot;radical&quot;)
+                m_isRadicalValue = true;
+        }
+    } else
+        MathMLInlineContainerElement::collectStyleForPresentationAttribute(name, value, style);
+}
+
+
+String MathMLMencloseElement::longDivLeftPadding() const
+{
+    StringBuilder padding;
+    float fontSize = 0;
+    String closingBrace = &quot;)&quot;;
+    TextRun run(closingBrace.impl(), closingBrace.length());
+    Node* node = parentNode();
+    if (node &amp;&amp; node-&gt;renderer()) {
+        const Font&amp; font = node-&gt;renderer()-&gt;style().font();
+        fontSize = font.width(run);
+        padding.append(String::number(fontSize));
+        padding.append(&quot;px&quot;);
+    }
+    return padding.toString();
+}
+
+}
+#endif // ENABLE(MATHML)
</ins><span class="cx">Property changes on: trunk/Source/WebCore/mathml/MathMLMencloseElement.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkSourceWebCoremathmlMathMLMencloseElementhfromrev162932trunkSourceWebCorerenderingmathmlRenderMathMLSquareRooth"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/mathml/MathMLMencloseElement.h (from rev 162932, trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h) (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLMencloseElement.h                                (rev 0)
+++ trunk/Source/WebCore/mathml/MathMLMencloseElement.h        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2014 Gurpreet Kaur (k.gurpreet@samsung.com). 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 MathMLMencloseElement_h
+#define MathMLMencloseElement_h
+
+#if ENABLE(MATHML)
+#include &quot;MathMLInlineContainerElement.h&quot;
+
+namespace WebCore {
+
+class MathMLMencloseElement final: public MathMLInlineContainerElement {
+public:
+    static PassRefPtr&lt;MathMLMencloseElement&gt; create(const QualifiedName&amp; tagName, Document&amp;);
+    const Vector&lt;String&gt;&amp; notationValues() const { return m_notationValues; }
+    bool isRadical() const { return m_isRadicalValue; }
+
+private:
+    MathMLMencloseElement(const QualifiedName&amp;, Document&amp;);
+    virtual RenderPtr&lt;RenderElement&gt; createElementRenderer(PassRef&lt;RenderStyle&gt;) override;
+    virtual bool isPresentationAttribute(const QualifiedName&amp;) const override;
+    virtual void collectStyleForPresentationAttribute(const QualifiedName&amp;, const AtomicString&amp;, MutableStyleProperties&amp;) override;
+    virtual void finishParsingChildren() override;
+    String longDivLeftPadding() const;
+
+    Vector&lt;String&gt; m_notationValues;
+    bool m_isRadicalValue;
+};
+
+inline MathMLMencloseElement* toMathMLMencloseElement(Node* node)
+{
+    ASSERT_WITH_SECURITY_IMPLICATION(!node || (node-&gt;isElementNode() &amp;&amp; toElement(node)-&gt;hasTagName(MathMLNames::mencloseTag)));
+    return static_cast&lt;MathMLMencloseElement*&gt;(node);
+}
+
+}
+
+#endif // ENABLE(MATHML)
+#endif // MathMLMencloseElement_h
</ins></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLMencloseElementh"></a>
<div class="propset"><h4>Property changes: trunk/Source/WebCore/mathml/MathMLMencloseElement.h</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkSourceWebCoremathmlmathattrsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/mathattrs.in (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/mathattrs.in        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/mathml/mathattrs.in        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> mathcolor
</span><span class="cx"> mathsize
</span><span class="cx"> mathvariant
</span><ins>+notation
</ins><span class="cx"> numalign
</span><span class="cx"> open
</span><span class="cx"> rowspan
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlmathtagsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/mathtags.in (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/mathtags.in        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/mathml/mathtags.in        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -31,12 +31,12 @@
</span><span class="cx"> mtd interfaceName=MathMLElement
</span><span class="cx"> mmultiscripts interfaceName=MathMLInlineContainerElement
</span><span class="cx"> mprescripts interfaceName=MathMLInlineContainerElement
</span><ins>+menclose interfaceName=MathMLMencloseElement
</ins><span class="cx"> none interfaceName=MathMLInlineContainerElement
</span><span class="cx"> semantics interfaceName=MathMLSelectElement
</span><span class="cx"> 
</span><span class="cx"> maligngroup interfaceName=MathMLElement
</span><span class="cx"> malignmark interfaceName=MathMLElement
</span><del>-menclose interfaceName=MathMLElement
</del><span class="cx"> mglyph interfaceName=MathMLElement
</span><span class="cx"> mlabeledtr interfaceName=MathMLElement
</span><span class="cx"> mlongdiv interfaceName=MathMLElement
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLMenclosecpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp                                (rev 0)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,159 @@
</span><ins>+/*
+ * Copyright (C) 2014 Gurpreet Kaur (k.gurpreet@samsung.com). 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.
+ */
+
+#define _USE_MATH_DEFINES 1
+#include &quot;config.h&quot;
+
+#if ENABLE(MATHML)
+#include &quot;RenderMathMLMenclose.h&quot;
+
+#include &quot;GraphicsContext.h&quot;
+#include &quot;MathMLMencloseElement.h&quot;
+#include &quot;PaintInfo.h&quot;
+#include &quot;RenderMathMLSquareRoot.h&quot;
+#include &lt;wtf/MathExtras.h&gt;
+
+namespace WebCore {
+
+using namespace MathMLNames;
+
+RenderMathMLMenclose::RenderMathMLMenclose(Element&amp; element, PassRef&lt;RenderStyle&gt; style)
+    : RenderMathMLRow(element, std::move(style))
+{
+}
+
+void RenderMathMLMenclose::addChild(RenderObject* newChild, RenderObject* beforeChild)
+{
+    MathMLMencloseElement* menclose = toMathMLMencloseElement(element());
+    // Allow an anonymous RenderMathMLSquareRoot to handle drawing the radical
+    // notation, rather than duplicating the code needed to paint a root.
+    if (!firstChild() &amp;&amp; menclose-&gt;isRadical())        
+        RenderMathMLBlock::addChild(RenderMathMLSquareRoot::createAnonymousWithParentRenderer(*this).leakPtr());
+    
+    if (newChild) {
+        if (firstChild() &amp;&amp; menclose-&gt;isRadical())
+            toRenderElement(firstChild())-&gt;addChild(newChild, beforeChild &amp;&amp; beforeChild-&gt;parent() == firstChild() ? beforeChild : nullptr);
+        else
+            RenderMathMLBlock::addChild(newChild, beforeChild);
+    }
+}
+
+void RenderMathMLMenclose::computePreferredLogicalWidths()
+{
+    ASSERT(preferredLogicalWidthsDirty());
+
+    RenderMathMLBlock::computePreferredLogicalWidths();
+
+    MathMLMencloseElement* menclose = toMathMLMencloseElement(element());
+    const Vector&lt;String&gt;&amp; notationValues = menclose-&gt;notationValues();
+    size_t notationalValueSize = notationValues.size();
+    for (size_t i = 0; i &lt; notationalValueSize; i++) {
+        if (notationValues[i] == &quot;circle&quot;) {
+            m_minPreferredLogicalWidth = minPreferredLogicalWidth() * float(M_SQRT2);
+            m_maxPreferredLogicalWidth = maxPreferredLogicalWidth() * float(M_SQRT2);
+        }
+    }
+
+    setPreferredLogicalWidthsDirty(false);
+}
+
+void RenderMathMLMenclose::updateLogicalHeight()
+{
+    MathMLMencloseElement* menclose = toMathMLMencloseElement(element());
+    const Vector&lt;String&gt;&amp; notationValues = menclose-&gt;notationValues();
+    size_t notationalValueSize = notationValues.size();
+    for (size_t i = 0; i &lt; notationalValueSize; i++)
+        if (notationValues[i] == &quot;circle&quot;)
+            setLogicalHeight(logicalHeight() * float(M_SQRT2));
+}
+
+void RenderMathMLMenclose::paint(PaintInfo&amp; info, const LayoutPoint&amp; paintOffset)
+{
+    RenderMathMLBlock::paint(info, paintOffset);
+
+    if (info.context-&gt;paintingDisabled() || info.phase != PaintPhaseForeground || style().visibility() != VISIBLE)
+        return;
+    
+    MathMLMencloseElement* menclose = toMathMLMencloseElement(element());
+    const Vector&lt;String&gt;&amp; notationValues = menclose-&gt;notationValues();
+    size_t notationalValueSize = notationValues.size();
+    bool isDefaultLongDiv = !notationalValueSize;
+    if (notationalValueSize &amp;&amp; checkNotationalValuesValidity(notationValues)) {
+        IntRect rect = absoluteBoundingBoxRect();
+        int left = rect.x();
+        int top = rect.y();
+        int boxWidth = rect.width();
+        int boxHeight = rect.height();
+        int halfboxWidth = rect.width() / 2;
+        int halfboxHeight = rect.height() / 2;
+
+        GraphicsContextStateSaver stateSaver(*info.context);
+        info.context-&gt;setStrokeThickness(1);
+        info.context-&gt;setStrokeStyle(SolidStroke);
+        info.context-&gt;setStrokeColor(style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
+        // TODO add support for notation value updiagonalarrow https://bugs.webkit.org/show_bug.cgi?id=127466
+        for (size_t i = 0; i &lt; notationalValueSize; i++) {
+            if (notationValues[i] == &quot;updiagonalstrike&quot;)
+                info.context-&gt;drawLine(IntPoint(left, top + boxHeight), IntPoint(left + boxWidth, top));
+            else if (notationValues[i] == &quot;downdiagonalstrike&quot;)
+                info.context-&gt;drawLine(IntPoint(left, top), IntPoint(left + boxWidth, top + boxHeight));
+            else if (notationValues[i] == &quot;verticalstrike&quot;)
+                info.context-&gt;drawLine(IntPoint(left + halfboxWidth, top), IntPoint(left + halfboxWidth, top + boxHeight));
+            else if (notationValues[i] == &quot;horizontalstrike&quot;)
+                info.context-&gt;drawLine(IntPoint(left, top + halfboxHeight), IntPoint(left + boxWidth, top + halfboxHeight));
+            else if (notationValues[i] == &quot;circle&quot;) {
+                info.context-&gt;setFillColor(Color::transparent, ColorSpaceDeviceRGB);
+                info.context-&gt;drawEllipse(rect);
+            } else if (notationValues[i] == &quot;longdiv&quot;)
+                isDefaultLongDiv = true;
+        }
+        if (isDefaultLongDiv) {
+            Path root;
+            int midxPoint = 0;
+            root.moveTo(FloatPoint(left, top));
+            int childLeft = firstChild() ? firstChild()-&gt;absoluteBoundingBoxRect().x() : 0;
+            if (childLeft)
+                midxPoint= childLeft - left;
+            else
+                midxPoint = style().paddingLeft().value();
+            root.addBezierCurveTo(FloatPoint(left, top), FloatPoint(left + midxPoint, top + halfboxHeight), FloatPoint(left, top + boxHeight));
+            info.context-&gt;strokePath(root);
+        }
+    }
+}
+
+bool RenderMathMLMenclose::checkNotationalValuesValidity(const Vector&lt;String&gt;&amp; attr) const
+{
+    size_t attrSize = attr.size();
+    for (size_t i = 0; i &lt; attrSize; i++) {
+        if (attr[i] == &quot;updiagonalstrike&quot; || attr[i] == &quot;downdiagonalstrike&quot; || attr[i] == &quot;horizontalstrike&quot; || attr[i] == &quot;verticalstrike&quot;
+            || attr[i] == &quot;circle&quot; || attr[i] == &quot;longdiv&quot;)
+            return true;
+    }
+    return false;
+}
+
+}
+#endif // ENABLE(MATHML)
</ins><span class="cx">Property changes on: trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLMenclosehfromrev162932trunkSourceWebCorerenderingmathmlRenderMathMLSquareRooth"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.h (from rev 162932, trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h) (0 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.h                                (rev 0)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.h        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * Copyright (C) 2014 Gurpreet Kaur (k.gurpreet@samsung.com). 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 RenderMathMLMenclose_h
+#define RenderMathMLMenclose_h
+
+#if ENABLE(MATHML)
+#include &quot;RenderMathMLRow.h&quot;
+
+namespace WebCore {
+    
+class RenderMathMLMenclose final: public RenderMathMLRow {
+public:
+    RenderMathMLMenclose(Element&amp;, PassRef&lt;RenderStyle&gt;);
+
+private:
+    virtual const char* renderName() const { return &quot;RenderMathMLMenclose&quot;; }
+    virtual void paint(PaintInfo&amp;, const LayoutPoint&amp;) override;
+    virtual void updateLogicalHeight() override;
+    virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = nullptr) override;
+    virtual void computePreferredLogicalWidths() override;
+    bool checkNotationalValuesValidity(const Vector&lt;String&gt;&amp;) const;
+};
+    
+}
+
+#endif // ENABLE(MATHML)
+#endif // RenderMathMLMenclose_h
</ins></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLMencloseh"></a>
<div class="propset"><h4>Property changes: trunk/Source/WebCore/rendering/mathml/RenderMathMLMenclose.h</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -74,6 +74,14 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+RenderMathMLRoot::RenderMathMLRoot(Document&amp; document, PassRef&lt;RenderStyle&gt; style)
+    : RenderMathMLBlock(document, std::move(style))
+    , m_intrinsicPaddingBefore(0)
+    , m_intrinsicPaddingAfter(0)
+    , m_intrinsicPaddingStart(0)
+    , m_intrinsicPaddingEnd(0)
+{
+}
</ins><span class="cx"> LayoutUnit RenderMathMLRoot::paddingTop() const
</span><span class="cx"> {
</span><span class="cx">     LayoutUnit result = computedCSSPaddingTop();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLRooth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.h        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> class RenderMathMLRoot : public RenderMathMLBlock {
</span><span class="cx"> public:
</span><span class="cx">     RenderMathMLRoot(Element&amp;, PassRef&lt;RenderStyle&gt;);
</span><ins>+    RenderMathMLRoot(Document&amp;, PassRef&lt;RenderStyle&gt;);
</ins><span class="cx"> 
</span><span class="cx">     virtual LayoutUnit paddingTop() const override;
</span><span class="cx">     virtual LayoutUnit paddingBottom() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLSquareRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.cpp (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.cpp        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.cpp        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -30,6 +30,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderMathMLSquareRoot.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;RenderMathMLMenclose.h&quot;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><span class="cx"> RenderMathMLSquareRoot::RenderMathMLSquareRoot(Element&amp; element, PassRef&lt;RenderStyle&gt; style)
</span><span class="lines">@@ -37,6 +39,17 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+RenderMathMLSquareRoot::RenderMathMLSquareRoot(Document&amp; document, PassRef&lt;RenderStyle&gt; style)
+    : RenderMathMLRoot(document, std::move(style))
+{
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+RenderPtr&lt;RenderMathMLSquareRoot&gt; RenderMathMLSquareRoot::createAnonymousWithParentRenderer(RenderMathMLMenclose&amp; parent)
+{
+    RenderPtr&lt;RenderMathMLSquareRoot&gt; squareRoot = createRenderer&lt;RenderMathMLSquareRoot&gt;(parent.document(), RenderStyle::createAnonymousStyleWithDisplay(&amp;parent.style(), FLEX));
+    squareRoot-&gt;initializeStyle();
+    return squareRoot;
+}
+
+}
</ins><span class="cx"> #endif // ENABLE(MATHML)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLSquareRooth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h (162932 => 162933)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h        2014-01-28 16:29:26 UTC (rev 162932)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLSquareRoot.h        2014-01-28 16:34:52 UTC (rev 162933)
</span><span class="lines">@@ -30,12 +30,17 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RenderMathMLRoot.h&quot;
</span><span class="cx"> 
</span><ins>+
</ins><span class="cx"> namespace WebCore {
</span><del>-    
</del><ins>+
+class RenderMathMLMenclose;
+
</ins><span class="cx"> // Render sqrt(base), using radical notation.
</span><span class="cx"> class RenderMathMLSquareRoot final : public RenderMathMLRoot {
</span><span class="cx"> public:
</span><span class="cx">     RenderMathMLSquareRoot(Element&amp;, PassRef&lt;RenderStyle&gt;);
</span><ins>+    RenderMathMLSquareRoot(Document&amp;, PassRef&lt;RenderStyle&gt;);
+    static RenderPtr&lt;RenderMathMLSquareRoot&gt; createAnonymousWithParentRenderer(RenderMathMLMenclose&amp;);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     virtual bool isRenderMathMLSquareRoot() const override { return true; }
</span></span></pre>
</div>
</div>

</body>
</html>