summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h')
-rw-r--r--chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h b/chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h
index 6688c04c816..c6de7fb18db 100644
--- a/chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h
+++ b/chromium/third_party/blink/renderer/core/svg/svg_geometry_element.h
@@ -59,7 +59,7 @@ class SVGGeometryElement : public SVGGraphicsElement {
static float PathLengthScaleFactor(float computed_path_length,
float author_path_length);
- void Trace(blink::Visitor*) override;
+ void Trace(Visitor*) override;
protected:
SVGGeometryElement(const QualifiedName&,
@@ -79,11 +79,20 @@ class SVGGeometryElement : public SVGGraphicsElement {
Member<SVGAnimatedNumber> path_length_;
};
-inline bool IsSVGGeometryElement(const SVGElement& element) {
- return element.IsSVGGeometryElement();
+template <>
+inline bool IsElementOfType<const SVGGeometryElement>(const Node& node) {
+ return IsA<SVGGeometryElement>(node);
}
-
-DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGGeometryElement);
+template <>
+struct DowncastTraits<SVGGeometryElement> {
+ static bool AllowFrom(const Node& node) {
+ auto* svg_element = DynamicTo<SVGElement>(node);
+ return svg_element && AllowFrom(*svg_element);
+ }
+ static bool AllowFrom(const SVGElement& svg_element) {
+ return svg_element.IsSVGGeometryElement();
+ }
+};
} // namespace blink