Title: [91067] trunk
Revision
91067
Author
[email protected]
Date
2011-07-15 07:38:13 -0700 (Fri, 15 Jul 2011)

Log Message

Pixel difference in FEMorphology effect
https://bugs.webkit.org/show_bug.cgi?id=63930

Source/WebCore:

Patch by Piroska András <[email protected]> on 2011-07-15
Reviewed by Zoltan Herczeg.

Using short-circuit evaluation in the setFilterEffectAttribute function
was wrong. We should call both setRadius functions and evaluate the
changes separately.

* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):

LayoutTests:

Patch by Gabor Loki <[email protected]> on 2011-07-15
Reviewed by Zoltan Herczeg.

Layout test is updated to follow the bugfix.

* platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (91066 => 91067)


--- trunk/LayoutTests/ChangeLog	2011-07-15 14:02:17 UTC (rev 91066)
+++ trunk/LayoutTests/ChangeLog	2011-07-15 14:38:13 UTC (rev 91067)
@@ -1,3 +1,14 @@
+2011-07-15  Gabor Loki  <[email protected]>
+
+        Pixel difference in FEMorphology effect
+        https://bugs.webkit.org/show_bug.cgi?id=63930
+
+        Reviewed by Zoltan Herczeg.
+
+        Layout test is updated to follow the bugfix.
+
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png:
+
 2011-07-15  Jeff Miller  <[email protected]>
 
         Fullscreen content doesn't use fullscreen controller on Windows

Modified: trunk/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png


(Binary files differ)

Modified: trunk/Source/WebCore/ChangeLog (91066 => 91067)


--- trunk/Source/WebCore/ChangeLog	2011-07-15 14:02:17 UTC (rev 91066)
+++ trunk/Source/WebCore/ChangeLog	2011-07-15 14:38:13 UTC (rev 91067)
@@ -1,3 +1,17 @@
+2011-07-15  Piroska András  <[email protected]>
+
+        Pixel difference in FEMorphology effect
+        https://bugs.webkit.org/show_bug.cgi?id=63930
+
+        Reviewed by Zoltan Herczeg.
+
+        Using short-circuit evaluation in the setFilterEffectAttribute function
+        was wrong. We should call both setRadius functions and evaluate the
+        changes separately.
+
+        * svg/SVGFEMorphologyElement.cpp:
+        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
+
 2011-07-15  Jeff Miller  <[email protected]>
 
         Fullscreen content doesn't use fullscreen controller on Windows

Modified: trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp (91066 => 91067)


--- trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp	2011-07-15 14:02:17 UTC (rev 91066)
+++ trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp	2011-07-15 14:38:13 UTC (rev 91067)
@@ -125,8 +125,12 @@
     FEMorphology* morphology = static_cast<FEMorphology*>(effect);
     if (attrName == SVGNames::operatorAttr)
         return morphology->setMorphologyOperator(_operator());
-    if (attrName == SVGNames::radiusAttr)
-        return (morphology->setRadiusX(radiusX()) || morphology->setRadiusY(radiusY()));
+    if (attrName == SVGNames::radiusAttr) {
+        // Both setRadius functions should be evaluated separately.
+        bool isRadiusXChanged = morphology->setRadiusX(radiusX());
+        bool isRadiusYChanged = morphology->setRadiusY(radiusY());
+        return isRadiusXChanged || isRadiusYChanged;
+    }
 
     ASSERT_NOT_REACHED();
     return false;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to