1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:37:35 +00:00

LibWeb: Make MediaList GC-allocated

This commit is contained in:
Andreas Kling 2022-08-08 15:32:27 +02:00
parent 0176d42f49
commit cfdb8f2a8e
9 changed files with 58 additions and 35 deletions

View file

@ -22,8 +22,8 @@ class CSSMediaRule final : public CSSConditionRule {
public:
CSSMediaRule& impl() { return *this; }
static CSSMediaRule* create(Bindings::WindowObject&, NonnullRefPtr<MediaList>&& media_queries, CSSRuleList&);
explicit CSSMediaRule(Bindings::WindowObject&, NonnullRefPtr<MediaList>&&, CSSRuleList&);
static CSSMediaRule* create(Bindings::WindowObject&, MediaList& media_queries, CSSRuleList&);
explicit CSSMediaRule(Bindings::WindowObject&, MediaList&, CSSRuleList&);
virtual ~CSSMediaRule() = default;
@ -31,16 +31,17 @@ public:
virtual String condition_text() const override;
virtual void set_condition_text(String) override;
virtual bool condition_matches() const override { return m_media->matches(); }
virtual bool condition_matches() const override { return m_media.matches(); }
NonnullRefPtr<MediaList> const& media() const { return m_media; }
MediaList* media() const { return &m_media; }
bool evaluate(HTML::Window const& window) { return m_media->evaluate(window); }
bool evaluate(HTML::Window const& window) { return m_media.evaluate(window); }
private:
virtual void visit_edges(Cell::Visitor&) override;
virtual String serialized() const override;
NonnullRefPtr<MediaList> m_media;
MediaList& m_media;
};
template<>