LibWeb: Avoid dynamic_cast in DOM::Document::is_decoded_svg()

This commit is contained in:
Andreas Kling 2025-04-18 10:37:08 +02:00
commit 67a867d60d
3 changed files with 5 additions and 1 deletions

View file

@ -6029,7 +6029,7 @@ void Document::for_each_shadow_root(Function<void(DOM::ShadowRoot&)>&& callback)
bool Document::is_decoded_svg() const bool Document::is_decoded_svg() const
{ {
return is<Web::SVG::SVGDecodedImageData::SVGPageClient>(page().client()); return page().client().is_svg_page_client();
} }
// https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer // https://drafts.csswg.org/css-position-4/#add-an-element-to-the-top-layer

View file

@ -408,6 +408,8 @@ public:
virtual bool is_headless() const = 0; virtual bool is_headless() const = 0;
virtual bool is_svg_page_client() const { return false; }
protected: protected:
virtual ~PageClient() = default; virtual ~PageClient() = default;
}; };

View file

@ -92,6 +92,8 @@ private:
{ {
} }
virtual bool is_svg_page_client() const override { return true; }
virtual void visit_edges(Visitor&) override; virtual void visit_edges(Visitor&) override;
}; };