summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-25 19:08:45 +0100
committerSteve Block <steveblock@google.com>2011-06-08 13:51:31 +0100
commit2bde8e466a4451c7319e3a072d118917957d6554 (patch)
tree28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
parent6939c99b71d9372d14a0c74a772108052e8c48c8 (diff)
downloadexternal_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip
external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz
external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/svg/SVGFEDisplacementMapElement.cpp')
-rw-r--r--Source/WebCore/svg/SVGFEDisplacementMapElement.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp b/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
index 873f85a..1429b34 100644
--- a/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
+++ b/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp
@@ -97,13 +97,19 @@ void SVGFEDisplacementMapElement::svgAttributeChanged(const QualifiedName& attrN
{
SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
- if (attrName == SVGNames::xChannelSelectorAttr
- || attrName == SVGNames::yChannelSelectorAttr
- || attrName == SVGNames::scaleAttr)
+ if (attrName == SVGNames::xChannelSelectorAttr) {
+ ChannelSelectorType selector = static_cast<ChannelSelectorType>(xChannelSelector());
+ if (CHANNEL_UNKNOWN > selector || selector > CHANNEL_A)
+ setXChannelSelectorBaseValue(CHANNEL_UNKNOWN);
primitiveAttributeChanged(attrName);
-
- if (attrName == SVGNames::inAttr
- || attrName == SVGNames::in2Attr)
+ } else if (attrName == SVGNames::yChannelSelectorAttr) {
+ ChannelSelectorType selector = static_cast<ChannelSelectorType>(yChannelSelector());
+ if (CHANNEL_UNKNOWN > selector || selector > CHANNEL_A)
+ setYChannelSelectorBaseValue(CHANNEL_UNKNOWN);
+ primitiveAttributeChanged(attrName);
+ } else if (attrName == SVGNames::scaleAttr)
+ primitiveAttributeChanged(attrName);
+ else if (attrName == SVGNames::inAttr || attrName == SVGNames::in2Attr)
invalidate();
}