diff --git a/Libraries/LibWeb/DOM/Document.cpp b/Libraries/LibWeb/DOM/Document.cpp index c2babf713e1..9029aa9f3ff 100644 --- a/Libraries/LibWeb/DOM/Document.cpp +++ b/Libraries/LibWeb/DOM/Document.cpp @@ -6029,7 +6029,7 @@ void Document::for_each_shadow_root(Function&& callback) bool Document::is_decoded_svg() const { - return is(page().client()); + return page().client().is_svg_page_client(); } // https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer diff --git a/Libraries/LibWeb/Page/Page.h b/Libraries/LibWeb/Page/Page.h index 20ebdb679e0..68ba9f5f318 100644 --- a/Libraries/LibWeb/Page/Page.h +++ b/Libraries/LibWeb/Page/Page.h @@ -408,6 +408,8 @@ public: virtual bool is_headless() const = 0; + virtual bool is_svg_page_client() const { return false; } + protected: virtual ~PageClient() = default; }; diff --git a/Libraries/LibWeb/SVG/SVGDecodedImageData.h b/Libraries/LibWeb/SVG/SVGDecodedImageData.h index fa55ab047b6..8ab403a6bc1 100644 --- a/Libraries/LibWeb/SVG/SVGDecodedImageData.h +++ b/Libraries/LibWeb/SVG/SVGDecodedImageData.h @@ -92,6 +92,8 @@ private: { } + virtual bool is_svg_page_client() const override { return true; } + virtual void visit_edges(Visitor&) override; };