<!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>[172642] 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/172642">172642</a></dd>
<dt>Author</dt> <dd>krit@webkit.org</dd>
<dt>Date</dt> <dd>2014-08-15 12:42:38 -0700 (Fri, 15 Aug 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Turn r/rx/ry to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135978
Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.
This follows the patch for width and height presentation attributes and
Source/WebCore:
turns rx, ry and r to presentation attributes as well:
http://trac.webkit.org/changeset/171341
Extended existing tests.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setR):
(WebCore::SVGRenderStyle::setRx):
(WebCore::SVGRenderStyle::setRy):
(WebCore::SVGRenderStyle::r):
(WebCore::SVGRenderStyle::rx):
(WebCore::SVGRenderStyle::ry):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromRectElement):
(WebCore::updatePathFromLineElement): Deleted.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
LayoutTests:
turns r, rx and ry to presentation attributes as well:
http://trac.webkit.org/changeset/171341
* svg/css/parse-length.html:
* transitions/svg-layout-transition-expected.txt:
* transitions/svg-layout-transition.html:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestssvgcssparselengthhtml">trunk/LayoutTests/svg/css/parse-length.html</a></li>
<li><a href="#trunkLayoutTeststransitionssvglayouttransitionexpectedtxt">trunk/LayoutTests/transitions/svg-layout-transition-expected.txt</a></li>
<li><a href="#trunkLayoutTeststransitionssvglayouttransitionhtml">trunk/LayoutTests/transitions/svg-layout-transition.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssDeprecatedStyleBuildercpp">trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSVGCSSParsercpp">trunk/Source/WebCore/css/SVGCSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSVGCSSPropertyNamesin">trunk/Source/WebCore/css/SVGCSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorepageanimationCSSPropertyAnimationcpp">trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleSVGRenderStyleh">trunk/Source/WebCore/rendering/style/SVGRenderStyle.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleSVGRenderStyleDefscpp">trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleSVGRenderStyleDefsh">trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGEllipsecpp">trunk/Source/WebCore/rendering/svg/RenderSVGEllipse.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGPathDatacpp">trunk/Source/WebCore/rendering/svg/SVGPathData.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGCircleElementcpp">trunk/Source/WebCore/svg/SVGCircleElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementcpp">trunk/Source/WebCore/svg/SVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGEllipseElementcpp">trunk/Source/WebCore/svg/SVGEllipseElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGRectElementcpp">trunk/Source/WebCore/svg/SVGRectElement.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/LayoutTests/ChangeLog        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -1,5 +1,21 @@
</span><span class="cx"> 2014-08-15 Dirk Schulze <krit@webkit.org>
</span><span class="cx">
</span><ins>+ Turn r/rx/ry to presentation attributes
+ https://bugs.webkit.org/show_bug.cgi?id=135978
+
+ Reviewed by Dean Jackson.
+
+ This follows the patch for width and height presentation attributes and
+ turns r, rx and ry to presentation attributes as well:
+
+ http://trac.webkit.org/changeset/171341
+
+ * svg/css/parse-length.html:
+ * transitions/svg-layout-transition-expected.txt:
+ * transitions/svg-layout-transition.html:
+
+2014-08-15 Dirk Schulze <krit@webkit.org>
+
</ins><span class="cx"> Turn cx/cy to presentation attributes
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=135975
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssparselengthhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/parse-length.html (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/parse-length.html        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/LayoutTests/svg/css/parse-length.html        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -50,6 +50,33 @@
</span><span class="cx"> testComputed("cy", "20%", "20%");
</span><span class="cx"> testComputed("cy", "-200px", "-200px");
</span><span class="cx">
</span><ins>+// Test 'r'.
+testComputed("r", " 100", "100px");
+testComputed("r", "100 ", "100px");
+testComputed("r", "100px", "100px");
+testComputed("r", "1em", "16px");
+testComputed("r", "1ex", "12.800000190734863px");
+testComputed("r", "20%", "20%");
+testComputed("r", "-200px", "-200px");
+
+// Test 'rx'.
+testComputed("rx", " 100", "100px");
+testComputed("rx", "100 ", "100px");
+testComputed("rx", "100px", "100px");
+testComputed("rx", "1em", "16px");
+testComputed("rx", "1ex", "12.800000190734863px");
+testComputed("rx", "20%", "20%");
+testComputed("rx", "-200px", "-200px");
+
+// Test 'ry'.
+testComputed("ry", " 100", "100px");
+testComputed("ry", "100 ", "100px");
+testComputed("ry", "100px", "100px");
+testComputed("ry", "1em", "16px");
+testComputed("ry", "1ex", "12.800000190734863px");
+testComputed("ry", "20%", "20%");
+testComputed("ry", "-200px", "-200px");
+
</ins><span class="cx"> // Test 'width'.
</span><span class="cx"> testComputed("width", "auto", "auto");
</span><span class="cx"> testComputed("width", " 100", "100px");
</span><span class="lines">@@ -94,6 +121,27 @@
</span><span class="cx"> negativeTestZero("cy", "100px !important");
</span><span class="cx"> negativeTestZero("cy", "{ 100px }");
</span><span class="cx">
</span><ins>+// Negative tests for 'r'.
+negativeTestZero("r", "auto", "auto");
+negativeTestZero("r", "100 px");
+negativeTestZero("r", "100px;");
+negativeTestZero("r", "100px !important");
+negativeTestZero("r", "{ 100px }");
+
+// Negative tests for 'rx'.
+negativeTestZero("rx", "auto", "auto");
+negativeTestZero("rx", "100 px");
+negativeTestZero("rx", "100px;");
+negativeTestZero("rx", "100px !important");
+negativeTestZero("rx", "{ 100px }");
+
+// Negative tests for 'ry'.
+negativeTestZero("ry", "auto");
+negativeTestZero("ry", "100 px");
+negativeTestZero("ry", "100px;");
+negativeTestZero("ry", "100px !important");
+negativeTestZero("ry", "{ 100px }");
+
</ins><span class="cx"> // Negative tests for 'width'.
</span><span class="cx"> negativeTest("width", "100 px");
</span><span class="cx"> negativeTest("width", "100px;");
</span></span></pre></div>
<a id="trunkLayoutTeststransitionssvglayouttransitionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/transitions/svg-layout-transition-expected.txt (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transitions/svg-layout-transition-expected.txt        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/LayoutTests/transitions/svg-layout-transition-expected.txt        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -1,5 +1,8 @@
</span><span class="cx"> PASS - "cx" property for "cx" element at 0.5s saw something close to: 150
</span><span class="cx"> PASS - "cy" property for "cy" element at 0.5s saw something close to: 150
</span><ins>+PASS - "r" property for "r" element at 0.5s saw something close to: 150
+PASS - "rx" property for "rx" element at 0.5s saw something close to: 150
+PASS - "ry" property for "ry" element at 0.5s saw something close to: 150
</ins><span class="cx"> PASS - "x" property for "x" element at 0.5s saw something close to: 150
</span><span class="cx"> PASS - "y" property for "y" element at 0.5s saw something close to: 150
</span><span class="cx"> PASS - "width" property for "width" element at 0.5s saw something close to: 150
</span></span></pre></div>
<a id="trunkLayoutTeststransitionssvglayouttransitionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/transitions/svg-layout-transition.html (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transitions/svg-layout-transition.html        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/LayoutTests/transitions/svg-layout-transition.html        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -21,7 +21,28 @@
</span><span class="cx"> #cy.final {
</span><span class="cx"> cy: 200px;
</span><span class="cx"> }
</span><del>-
</del><ins>+
+ #r {
+ -webkit-transition-property: r;
+ }
+ #r.final {
+ r: 200px;
+ }
+
+ #rx {
+ -webkit-transition-property: rx;
+ }
+ #rx.final {
+ rx: 200px;
+ }
+
+ #ry {
+ -webkit-transition-property: ry;
+ }
+ #ry.final {
+ ry: 200px;
+ }
+
</ins><span class="cx"> #x {
</span><span class="cx"> -webkit-transition-property: x;
</span><span class="cx"> }
</span><span class="lines">@@ -58,6 +79,9 @@
</span><span class="cx"> // [time, element-id, property, expected-value, tolerance]
</span><span class="cx"> [0.5, 'cx', 'cx', 150, 20],
</span><span class="cx"> [0.5, 'cy', 'cy', 150, 20],
</span><ins>+ [0.5, 'r', 'r', 150, 20],
+ [0.5, 'rx', 'rx', 150, 20],
+ [0.5, 'ry', 'ry', 150, 20],
</ins><span class="cx"> [0.5, 'x', 'x', 150, 20],
</span><span class="cx"> [0.5, 'y', 'y', 150, 20],
</span><span class="cx"> [0.5, 'width', 'width', 150, 20],
</span><span class="lines">@@ -68,6 +92,9 @@
</span><span class="cx"> {
</span><span class="cx"> document.getElementById('cx').setAttribute('class', 'init final');
</span><span class="cx"> document.getElementById('cy').setAttribute('class', 'init final');
</span><ins>+ document.getElementById('r').setAttribute('class', 'init final');
+ document.getElementById('rx').setAttribute('class', 'init final');
+ document.getElementById('ry').setAttribute('class', 'init final');
</ins><span class="cx"> document.getElementById('x').setAttribute('class', 'init final');
</span><span class="cx"> document.getElementById('y').setAttribute('class', 'init final');
</span><span class="cx"> document.getElementById('width').setAttribute('class', 'init final');
</span><span class="lines">@@ -81,6 +108,9 @@
</span><span class="cx"> <svg>
</span><span class="cx"> <circle cx="100" cy="100" r="100" class="init" id="cx"/>
</span><span class="cx"> <circle cx="100" cy="100" r="100" class="init" id="cy"/>
</span><ins>+ <circle cx="100" cy="100" r="100" class="init" id="r"/>
+ <ellipse cx="100" cy="100" rx="100" ry="100" class="init" id="rx"/>
+ <ellipse cx="100" cy="100" rx="100" ry="100" class="init" id="ry"/>
</ins><span class="cx"> <rect x="100" y="100" width="100" height="100" class="init" id="x"/>
</span><span class="cx"> <rect x="100" y="100" width="100" height="100" class="init" id="y"/>
</span><span class="cx"> <rect x="100" y="100" width="100" height="100" class="init" id="width"/>
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/ChangeLog        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -1,5 +1,59 @@
</span><span class="cx"> 2014-08-15 Dirk Schulze <krit@webkit.org>
</span><span class="cx">
</span><ins>+ Turn r/rx/ry to presentation attributes
+ https://bugs.webkit.org/show_bug.cgi?id=135978
+
+ Reviewed by Dean Jackson.
+
+ This follows the patch for width and height presentation attributes and
+ turns rx, ry and r to presentation attributes as well:
+
+ http://trac.webkit.org/changeset/171341
+
+ Extended existing tests.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::ComputedStyleExtractor::propertyValue):
+ * css/CSSParser.cpp:
+ (WebCore::isSimpleLengthPropertyID):
+ * css/DeprecatedStyleBuilder.cpp:
+ (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+ * css/SVGCSSPropertyNames.in:
+ * page/animation/CSSPropertyAnimation.cpp:
+ (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/SVGRenderStyle.h:
+ (WebCore::SVGRenderStyle::setR):
+ (WebCore::SVGRenderStyle::setRx):
+ (WebCore::SVGRenderStyle::setRy):
+ (WebCore::SVGRenderStyle::r):
+ (WebCore::SVGRenderStyle::rx):
+ (WebCore::SVGRenderStyle::ry):
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleLayoutData::StyleLayoutData):
+ (WebCore::StyleLayoutData::operator==):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * rendering/svg/RenderSVGEllipse.cpp:
+ (WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
+ * rendering/svg/SVGPathData.cpp:
+ (WebCore::updatePathFromCircleElement):
+ (WebCore::updatePathFromEllipseElement):
+ (WebCore::updatePathFromRectElement):
+ (WebCore::updatePathFromLineElement): Deleted.
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::svgAttributeChanged):
+ * svg/SVGElement.cpp:
+ (WebCore::populateAttributeNameToCSSPropertyIDMap):
+ (WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::svgAttributeChanged):
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::svgAttributeChanged):
+
+2014-08-15 Dirk Schulze <krit@webkit.org>
+
</ins><span class="cx"> Turn cx/cy to presentation attributes
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=135975
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -424,6 +424,9 @@
</span><span class="cx"> CSSPropertyMarkerStart,
</span><span class="cx"> CSSPropertyMaskType,
</span><span class="cx"> CSSPropertyPaintOrder,
</span><ins>+ CSSPropertyR,
+ CSSPropertyRx,
+ CSSPropertyRy,
</ins><span class="cx"> CSSPropertyShapeRendering,
</span><span class="cx"> CSSPropertyStroke,
</span><span class="cx"> CSSPropertyStrokeDasharray,
</span><span class="lines">@@ -2972,6 +2975,12 @@
</span><span class="cx"> return zoomAdjustedPixelValueForLength(style->svgStyle().cx(), style.get());
</span><span class="cx"> case CSSPropertyCy:
</span><span class="cx"> return zoomAdjustedPixelValueForLength(style->svgStyle().cy(), style.get());
</span><ins>+ case CSSPropertyR:
+ return zoomAdjustedPixelValueForLength(style->svgStyle().r(), style.get());
+ case CSSPropertyRx:
+ return zoomAdjustedPixelValueForLength(style->svgStyle().rx(), style.get());
+ case CSSPropertyRy:
+ return zoomAdjustedPixelValueForLength(style->svgStyle().ry(), style.get());
</ins><span class="cx"> case CSSPropertyX:
</span><span class="cx"> return zoomAdjustedPixelValueForLength(style->svgStyle().x(), style.get());
</span><span class="cx"> case CSSPropertyY:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -569,6 +569,9 @@
</span><span class="cx"> case CSSPropertyMarginLeft:
</span><span class="cx"> case CSSPropertyMarginRight:
</span><span class="cx"> case CSSPropertyMarginTop:
</span><ins>+ case CSSPropertyR:
+ case CSSPropertyRx:
+ case CSSPropertyRy:
</ins><span class="cx"> case CSSPropertyRight:
</span><span class="cx"> case CSSPropertyTop:
</span><span class="cx"> case CSSPropertyWebkitMarginAfter:
</span></span></pre></div>
<a id="trunkSourceWebCorecssDeprecatedStyleBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -2596,6 +2596,9 @@
</span><span class="cx">
</span><span class="cx"> setPropertyHandler(CSSPropertyCx, ApplyPropertyLength<&RenderStyle::cx, &RenderStyle::setCx, &RenderStyle::initialZeroLength>::createHandler());
</span><span class="cx"> setPropertyHandler(CSSPropertyCy, ApplyPropertyLength<&RenderStyle::cy, &RenderStyle::setCy, &RenderStyle::initialZeroLength>::createHandler());
</span><ins>+ setPropertyHandler(CSSPropertyR, ApplyPropertyLength<&RenderStyle::r, &RenderStyle::setR, &RenderStyle::initialZeroLength>::createHandler());
+ setPropertyHandler(CSSPropertyRx, ApplyPropertyLength<&RenderStyle::rx, &RenderStyle::setRx, &RenderStyle::initialZeroLength>::createHandler());
+ setPropertyHandler(CSSPropertyRy, ApplyPropertyLength<&RenderStyle::ry, &RenderStyle::setRy, &RenderStyle::initialZeroLength>::createHandler());
</ins><span class="cx"> setPropertyHandler(CSSPropertyX, ApplyPropertyLength<&RenderStyle::x, &RenderStyle::setX, &RenderStyle::initialZeroLength>::createHandler());
</span><span class="cx"> setPropertyHandler(CSSPropertyY, ApplyPropertyLength<&RenderStyle::y, &RenderStyle::setY, &RenderStyle::initialZeroLength>::createHandler());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssSVGCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SVGCSSParser.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SVGCSSParser.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/css/SVGCSSParser.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -301,6 +301,9 @@
</span><span class="cx"> }
</span><span class="cx"> case CSSPropertyCx:
</span><span class="cx"> case CSSPropertyCy:
</span><ins>+ case CSSPropertyR:
+ case CSSPropertyRx:
+ case CSSPropertyRy:
</ins><span class="cx"> case CSSPropertyX:
</span><span class="cx"> case CSSPropertyY:
</span><span class="cx"> valid_primitive = (!id && validUnit(value, FLength | FPercent));
</span></span></pre></div>
<a id="trunkSourceWebCorecssSVGCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SVGCSSPropertyNames.in (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SVGCSSPropertyNames.in        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/css/SVGCSSPropertyNames.in        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -54,6 +54,9 @@
</span><span class="cx">
</span><span class="cx"> cx
</span><span class="cx"> cy
</span><ins>+r
+rx
+ry
</ins><span class="cx"> x
</span><span class="cx"> y
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationCSSPropertyAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -1258,6 +1258,9 @@
</span><span class="cx">
</span><span class="cx"> new LengthPropertyWrapper<Length>(CSSPropertyCx, &RenderStyle::cx, &RenderStyle::setCx),
</span><span class="cx"> new LengthPropertyWrapper<Length>(CSSPropertyCy, &RenderStyle::cy, &RenderStyle::setCy),
</span><ins>+ new LengthPropertyWrapper<Length>(CSSPropertyR, &RenderStyle::r, &RenderStyle::setR),
+ new LengthPropertyWrapper<Length>(CSSPropertyRx, &RenderStyle::rx, &RenderStyle::setRx),
+ new LengthPropertyWrapper<Length>(CSSPropertyRy, &RenderStyle::ry, &RenderStyle::setRy),
</ins><span class="cx"> new LengthPropertyWrapper<Length>(CSSPropertyX, &RenderStyle::x, &RenderStyle::setX),
</span><span class="cx"> new LengthPropertyWrapper<Length>(CSSPropertyY, &RenderStyle::y, &RenderStyle::setY),
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -1669,6 +1669,12 @@
</span><span class="cx"> void setCx(Length cx) { accessSVGStyle().setCx(cx); }
</span><span class="cx"> const Length& cy() const { return svgStyle().cy(); }
</span><span class="cx"> void setCy(Length cy) { accessSVGStyle().setCy(cy); }
</span><ins>+ const Length& r() const { return svgStyle().r(); }
+ void setR(Length r) { accessSVGStyle().setR(r); }
+ const Length& rx() const { return svgStyle().rx(); }
+ void setRx(Length rx) { accessSVGStyle().setRx(rx); }
+ const Length& ry() const { return svgStyle().ry(); }
+ void setRy(Length ry) { accessSVGStyle().setRy(ry); }
</ins><span class="cx"> const Length& x() const { return svgStyle().x(); }
</span><span class="cx"> void setX(Length x) { accessSVGStyle().setX(x); }
</span><span class="cx"> const Length& y() const { return svgStyle().y(); }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleSVGRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyle.h (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/SVGRenderStyle.h        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyle.h        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -156,6 +156,21 @@
</span><span class="cx"> if (!(layout->cy == obj))
</span><span class="cx"> layout.access()->cy = obj;
</span><span class="cx"> }
</span><ins>+ void setR(const Length& obj)
+ {
+ if (!(layout->r == obj))
+ layout.access()->r = obj;
+ }
+ void setRx(const Length& obj)
+ {
+ if (!(layout->rx == obj))
+ layout.access()->rx = obj;
+ }
+ void setRy(const Length& obj)
+ {
+ if (!(layout->ry == obj))
+ layout.access()->ry = obj;
+ }
</ins><span class="cx"> void setX(const Length& obj)
</span><span class="cx"> {
</span><span class="cx"> if (!(layout->x == obj))
</span><span class="lines">@@ -365,6 +380,9 @@
</span><span class="cx"> ShadowData* shadow() const { return shadowSVG->shadow.get(); }
</span><span class="cx"> const Length& cx() const { return layout->cx; }
</span><span class="cx"> const Length& cy() const { return layout->cy; }
</span><ins>+ const Length& r() const { return layout->r; }
+ const Length& rx() const { return layout->rx; }
+ const Length& ry() const { return layout->ry; }
</ins><span class="cx"> const Length& x() const { return layout->x; }
</span><span class="cx"> const Length& y() const { return layout->y; }
</span><span class="cx"> String clipperResource() const { return resources->clipper; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleSVGRenderStyleDefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -280,6 +280,9 @@
</span><span class="cx"> StyleLayoutData::StyleLayoutData()
</span><span class="cx"> : cx(RenderStyle::initialZeroLength())
</span><span class="cx"> , cy(RenderStyle::initialZeroLength())
</span><ins>+ , r(RenderStyle::initialZeroLength())
+ , rx(RenderStyle::initialZeroLength())
+ , ry(RenderStyle::initialZeroLength())
</ins><span class="cx"> , x(RenderStyle::initialZeroLength())
</span><span class="cx"> , y(RenderStyle::initialZeroLength())
</span><span class="cx"> {
</span><span class="lines">@@ -289,6 +292,9 @@
</span><span class="cx"> : RefCounted<StyleLayoutData>()
</span><span class="cx"> , cx(other.cx)
</span><span class="cx"> , cy(other.cy)
</span><ins>+ , r(other.r)
+ , rx(other.rx)
+ , ry(other.ry)
</ins><span class="cx"> , x(other.x)
</span><span class="cx"> , y(other.y)
</span><span class="cx"> {
</span><span class="lines">@@ -303,6 +309,9 @@
</span><span class="cx"> {
</span><span class="cx"> return cx == other.cx
</span><span class="cx"> && cy == other.cy
</span><ins>+ && r == other.r
+ && rx == other.rx
+ && ry == other.ry
</ins><span class="cx"> && x == other.x
</span><span class="cx"> && y == other.y;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleSVGRenderStyleDefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -304,6 +304,9 @@
</span><span class="cx">
</span><span class="cx"> Length cx;
</span><span class="cx"> Length cy;
</span><ins>+ Length r;
+ Length rx;
+ Length ry;
</ins><span class="cx"> Length x;
</span><span class="cx"> Length y;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGEllipsecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGEllipse.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGEllipse.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGEllipse.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -82,16 +82,13 @@
</span><span class="cx"> lengthContext.valueForLength(style().svgStyle().cx(), LengthModeWidth),
</span><span class="cx"> lengthContext.valueForLength(style().svgStyle().cy(), LengthModeHeight));
</span><span class="cx"> if (isSVGCircleElement(graphicsElement())) {
</span><del>- SVGCircleElement& circle = toSVGCircleElement(graphicsElement());
- SVGLengthContext lengthContext(&circle);
- float radius = circle.r().value(lengthContext);
</del><ins>+ float radius = lengthContext.valueForLength(style().svgStyle().r());
</ins><span class="cx"> m_radii = FloatSize(radius, radius);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT(isSVGEllipseElement(graphicsElement()));
</span><del>- SVGEllipseElement& ellipse = toSVGEllipseElement(graphicsElement());
- m_radii = FloatSize(ellipse.rx().value(lengthContext), ellipse.ry().value(lengthContext));
</del><ins>+ m_radii = FloatSize(lengthContext.valueForLength(style().svgStyle().rx()), lengthContext.valueForLength(style().svgStyle().ry()));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderSVGEllipse::fillShape(GraphicsContext* context) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGPathDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGPathData.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGPathData.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/rendering/svg/SVGPathData.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -40,15 +40,14 @@
</span><span class="cx"> static void updatePathFromCircleElement(SVGElement* element, Path& path)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isSVGCircleElement(element));
</span><del>- SVGCircleElement* circle = toSVGCircleElement(element);
</del><span class="cx">
</span><span class="cx"> SVGLengthContext lengthContext(element);
</span><del>- float r = circle->r().value(lengthContext);
</del><ins>+ RenderElement* renderer = element->renderer();
+ if (!renderer)
+ return;
+ RenderStyle& style = renderer->style();
+ float r = lengthContext.valueForLength(style.svgStyle().r());
</ins><span class="cx"> if (r > 0) {
</span><del>- RenderElement* renderer = circle->renderer();
- if (!renderer)
- return;
- RenderStyle& style = renderer->style();
</del><span class="cx"> float cx = lengthContext.valueForLength(style.svgStyle().cx(), LengthModeWidth);
</span><span class="cx"> float cy = lengthContext.valueForLength(style.svgStyle().cy(), LengthModeHeight);
</span><span class="cx"> path.addEllipse(FloatRect(cx - r, cy - r, r * 2, r * 2));
</span><span class="lines">@@ -57,19 +56,17 @@
</span><span class="cx">
</span><span class="cx"> static void updatePathFromEllipseElement(SVGElement* element, Path& path)
</span><span class="cx"> {
</span><del>- SVGEllipseElement* ellipse = toSVGEllipseElement(element);
-
</del><ins>+ RenderElement* renderer = element->renderer();
+ if (!renderer)
+ return;
+ RenderStyle& style = renderer->style();
</ins><span class="cx"> SVGLengthContext lengthContext(element);
</span><del>- float rx = ellipse->rx().value(lengthContext);
</del><ins>+ float rx = lengthContext.valueForLength(style.svgStyle().rx(), LengthModeWidth);
</ins><span class="cx"> if (rx <= 0)
</span><span class="cx"> return;
</span><del>- float ry = ellipse->ry().value(lengthContext);
</del><ins>+ float ry = lengthContext.valueForLength(style.svgStyle().ry(), LengthModeHeight);
</ins><span class="cx"> if (ry <= 0)
</span><span class="cx"> return;
</span><del>- RenderElement* renderer = ellipse->renderer();
- if (!renderer)
- return;
- RenderStyle& style = renderer->style();
</del><span class="cx"> float cx = lengthContext.valueForLength(style.svgStyle().cx(), LengthModeWidth);
</span><span class="cx"> float cy = lengthContext.valueForLength(style.svgStyle().cy(), LengthModeHeight);
</span><span class="cx"> path.addEllipse(FloatRect(cx - rx, cy - ry, rx * 2, ry * 2));
</span><span class="lines">@@ -119,8 +116,7 @@
</span><span class="cx">
</span><span class="cx"> static void updatePathFromRectElement(SVGElement* element, Path& path)
</span><span class="cx"> {
</span><del>- SVGRectElement* rect = toSVGRectElement(element);
- RenderElement* renderer = rect->renderer();
</del><ins>+ RenderElement* renderer = element->renderer();
</ins><span class="cx"> if (!renderer)
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="lines">@@ -134,8 +130,8 @@
</span><span class="cx"> return;
</span><span class="cx"> float x = lengthContext.valueForLength(style.svgStyle().x(), LengthModeWidth);
</span><span class="cx"> float y = lengthContext.valueForLength(style.svgStyle().y(), LengthModeHeight);
</span><del>- float rx = rect->rx().value(lengthContext);
- float ry = rect->ry().value(lengthContext);
</del><ins>+ float rx = lengthContext.valueForLength(style.svgStyle().rx(), LengthModeWidth);
+ float ry = lengthContext.valueForLength(style.svgStyle().ry(), LengthModeHeight);
</ins><span class="cx"> bool hasRx = rx > 0;
</span><span class="cx"> bool hasRy = ry > 0;
</span><span class="cx"> if (hasRx || hasRy) {
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGCircleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGCircleElement.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGCircleElement.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/svg/SVGCircleElement.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -107,24 +107,16 @@
</span><span class="cx"> SVGElementInstance::InvalidationGuard invalidationGuard(this);
</span><span class="cx">
</span><span class="cx"> if (attrName == SVGNames::cxAttr
</span><del>- || attrName == SVGNames::cyAttr) {
</del><ins>+ || attrName == SVGNames::cyAttr
+ || attrName == SVGNames::rAttr) {
</ins><span class="cx"> invalidateSVGPresentationAttributeStyle();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (attrName == SVGNames::rAttr)
- updateRelativeLengthsInformation();
-
</del><span class="cx"> RenderSVGShape* renderer = toRenderSVGShape(this->renderer());
</span><span class="cx"> if (!renderer)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (attrName == SVGNames::rAttr) {
- renderer->setNeedsShapeUpdate();
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
- return;
- }
-
</del><span class="cx"> if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) {
</span><span class="cx"> RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/svg/SVGElement.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -126,6 +126,9 @@
</span><span class="cx"> &overflowAttr,
</span><span class="cx"> &paint_orderAttr,
</span><span class="cx"> &pointer_eventsAttr,
</span><ins>+ &rAttr,
+ &rxAttr,
+ &ryAttr,
</ins><span class="cx"> &shape_renderingAttr,
</span><span class="cx"> &stop_colorAttr,
</span><span class="cx"> &stop_opacityAttr,
</span><span class="lines">@@ -248,6 +251,9 @@
</span><span class="cx"> static const TableEntry table[] = {
</span><span class="cx"> { cxAttr, AnimatedLength },
</span><span class="cx"> { cyAttr, AnimatedLength },
</span><ins>+ { rAttr, AnimatedLength },
+ { rxAttr, AnimatedLength },
+ { ryAttr, AnimatedLength },
</ins><span class="cx"> { SVGNames::heightAttr, AnimatedLength },
</span><span class="cx"> { SVGNames::widthAttr, AnimatedLength },
</span><span class="cx"> { xAttr, AnimatedLength },
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGEllipseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGEllipseElement.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGEllipseElement.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/svg/SVGEllipseElement.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -111,27 +111,17 @@
</span><span class="cx"> SVGElementInstance::InvalidationGuard invalidationGuard(this);
</span><span class="cx">
</span><span class="cx"> if (attrName == SVGNames::cxAttr
</span><del>- || attrName == SVGNames::cyAttr) {
</del><ins>+ || attrName == SVGNames::cyAttr
+ || attrName == SVGNames::rxAttr
+ || attrName == SVGNames::ryAttr) {
</ins><span class="cx"> invalidateSVGPresentationAttributeStyle();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- bool isLengthAttribute = attrName == SVGNames::rxAttr
- || attrName == SVGNames::ryAttr;
-
- if (isLengthAttribute)
- updateRelativeLengthsInformation();
-
</del><span class="cx"> RenderSVGShape* renderer = toRenderSVGShape(this->renderer());
</span><span class="cx"> if (!renderer)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (isLengthAttribute) {
- renderer->setNeedsShapeUpdate();
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
- return;
- }
-
</del><span class="cx"> if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) {
</span><span class="cx"> RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGRectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGRectElement.cpp (172641 => 172642)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGRectElement.cpp        2014-08-15 19:38:10 UTC (rev 172641)
+++ trunk/Source/WebCore/svg/SVGRectElement.cpp        2014-08-15 19:42:38 UTC (rev 172642)
</span><span class="lines">@@ -125,27 +125,17 @@
</span><span class="cx"> if (attrName == SVGNames::xAttr
</span><span class="cx"> || attrName == SVGNames::yAttr
</span><span class="cx"> || attrName == SVGNames::widthAttr
</span><del>- || attrName == SVGNames::heightAttr) {
</del><ins>+ || attrName == SVGNames::heightAttr
+ || attrName == SVGNames::rxAttr
+ || attrName == SVGNames::ryAttr) {
</ins><span class="cx"> invalidateSVGPresentationAttributeStyle();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- bool isLengthAttribute = attrName == SVGNames::rxAttr
- || attrName == SVGNames::ryAttr;
-
- if (isLengthAttribute)
- updateRelativeLengthsInformation();
-
</del><span class="cx"> RenderSVGShape* renderer = toRenderSVGShape(this->renderer());
</span><span class="cx"> if (!renderer)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (isLengthAttribute) {
- renderer->setNeedsShapeUpdate();
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
- return;
- }
-
</del><span class="cx"> if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) {
</span><span class="cx"> RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);
</span><span class="cx"> return;
</span></span></pre>
</div>
</div>
</body>
</html>