diff --git a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.cpp index ebdfc1a458d..a857f997eb2 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.cpp @@ -140,4 +140,10 @@ void SVGGradientElement::initialize(JS::Realm& realm) WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGradientElement); } +void SVGGradientElement::visit_edges(Cell::Visitor& visitor) +{ + Base::visit_edges(visitor); + SVGURIReferenceMixin::visit_edges(visitor); +} + } diff --git a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.h b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.h index 99f37fb81e6..3f50eda40fd 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.h @@ -12,6 +12,7 @@ #include #include #include +#include namespace Web::SVG { @@ -35,7 +36,9 @@ inline Painting::SVGGradientPaintStyle::SpreadMethod to_painting_spread_method(S } } -class SVGGradientElement : public SVGElement { +class SVGGradientElement + : public SVGElement + , public SVGURIReferenceMixin { WEB_PLATFORM_OBJECT(SVGGradientElement, SVGElement); public: @@ -55,6 +58,7 @@ protected: SVGGradientElement(DOM::Document&, DOM::QualifiedName); virtual void initialize(JS::Realm&) override; + virtual void visit_edges(Cell::Visitor&) override; JS::GCPtr linked_gradient(HashTable& seen_gradients) const; diff --git a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.idl b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.idl index 30dbacb836c..b56e2a1e8f9 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGradientElement.idl +++ b/Userland/Libraries/LibWeb/SVG/SVGGradientElement.idl @@ -1,4 +1,5 @@ #import +#import // https://svgwg.org/svg2-draft/single-page.html#pservers-InterfaceSVGGradientElement [Exposed=Window] @@ -16,4 +17,4 @@ interface SVGGradientElement : SVGElement { }; -// FIXME: SVGGradientElement includes SVGURIReference; +SVGGradientElement includes SVGURIReference;