Introduce toSVGMPathElement(), and use it
authorgyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Aug 2013 11:00:29 +0000 (11:00 +0000)
committergyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Aug 2013 11:00:29 +0000 (11:00 +0000)
https://bugs.webkit.org/show_bug.cgi?id=119566

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGMPathElement*> can
be changed with toSVGMPathElement().

* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::updateAnimationPath):
* svg/SVGMPathElement.h:
(WebCore::toSVGMPathElement):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@153820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/svg/SVGAnimateMotionElement.cpp
Source/WebCore/svg/SVGMPathElement.h
Source/WebCore/svg/SVGPathElement.cpp

index d9dd5f6..c15e920 100644 (file)
@@ -1,3 +1,20 @@
+2013-08-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Introduce toSVGMPathElement(), and use it
+        https://bugs.webkit.org/show_bug.cgi?id=119566
+
+        Reviewed by Andreas Kling.
+
+        As a step to change static_cast with toSVGXXX, static_cast<SVGMPathElement*> can
+        be changed with toSVGMPathElement().
+
+        * svg/SVGAnimateMotionElement.cpp:
+        (WebCore::SVGAnimateMotionElement::updateAnimationPath):
+        * svg/SVGMPathElement.h:
+        (WebCore::toSVGMPathElement):
+        * svg/SVGPathElement.cpp:
+        (WebCore::SVGPathElement::invalidateMPathDependencies):
+
 2013-08-08  Antti Koivisto  <antti@apple.com>
 
         Move more style recalc code to StyleResolveTree.cpp
index 98274ff..13b69ac 100644 (file)
@@ -140,7 +140,7 @@ void SVGAnimateMotionElement::updateAnimationPath()
 
     for (Node* child = firstChild(); child; child = child->nextSibling()) {
         if (child->hasTagName(SVGNames::mpathTag)) {
-            SVGMPathElement* mPath = static_cast<SVGMPathElement*>(child);
+            SVGMPathElement* mPath = toSVGMPathElement(child);
             SVGPathElement* pathElement = mPath->pathElement();
             if (pathElement) {
                 updatePathFromGraphicsElement(pathElement, m_animationPath);
index d42fc4e..79d4f10 100644 (file)
@@ -25,6 +25,7 @@
 #include "SVGAnimatedString.h"
 #include "SVGElement.h"
 #include "SVGExternalResourcesRequired.h"
+#include "SVGNames.h"
 #include "SVGURIReference.h"
 
 namespace WebCore {
@@ -63,6 +64,12 @@ private:
     END_DECLARE_ANIMATED_PROPERTIES
 };
 
+inline SVGMPathElement* toSVGMPathElement(Node* node)
+{
+    ASSERT_WITH_SECURITY_IMPLICATION(!node || node->hasTagName(SVGNames::mpathTag));
+    return static_cast<SVGMPathElement*>(node);
+}
+
 } // namespace WebCore
 
 #endif // ENABLE(SVG)
index 3324d0b..eb6b95c 100644 (file)
@@ -290,7 +290,7 @@ void SVGPathElement::invalidateMPathDependencies()
         HashSet<SVGElement*>::iterator end = dependencies->end();
         for (HashSet<SVGElement*>::iterator it = dependencies->begin(); it != end; ++it) {
             if ((*it)->hasTagName(SVGNames::mpathTag))
-                static_cast<SVGMPathElement*>(*it)->targetPathChanged();
+                toSVGMPathElement(*it)->targetPathChanged();
         }
     }
 }