diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp b/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp index 2af28d4128..d3295c3075 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp @@ -13,7 +13,7 @@ namespace Web::CSS { -MediaQueryList::MediaQueryList(DOM::Document& document, String media) +MediaQueryList::MediaQueryList(DOM::Document& document, NonnullRefPtrVector&& media) : DOM::EventTarget(static_cast(document)) , m_document(document) , m_media(move(media)) @@ -27,8 +27,9 @@ MediaQueryList::~MediaQueryList() // https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-media String MediaQueryList::media() const { - // TODO: Replace this with a "media query list" and serialize on demand - return m_media; + StringBuilder builder; + builder.join(", ", m_media); + return builder.to_string(); } // https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-matches diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryList.h b/Userland/Libraries/LibWeb/CSS/MediaQueryList.h index 117da92d1b..45c2caf099 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryList.h +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryList.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -26,9 +27,9 @@ public: using RefCounted::ref; using RefCounted::unref; - static NonnullRefPtr create(DOM::Document& document, String media) + static NonnullRefPtr create(DOM::Document& document, NonnullRefPtrVector&& media_queries) { - return adopt_ref(*new MediaQueryList(document, move(media))); + return adopt_ref(*new MediaQueryList(document, move(media_queries))); } virtual ~MediaQueryList() override; @@ -48,10 +49,10 @@ public: HTML::EventHandler onchange(); private: - MediaQueryList(DOM::Document&, String); + MediaQueryList(DOM::Document&, NonnullRefPtrVector&&); DOM::Document& m_document; - String m_media; + NonnullRefPtrVector m_media; }; } diff --git a/Userland/Libraries/LibWeb/DOM/Window.cpp b/Userland/Libraries/LibWeb/DOM/Window.cpp index 9c71b3ffad..b10be4f417 100644 --- a/Userland/Libraries/LibWeb/DOM/Window.cpp +++ b/Userland/Libraries/LibWeb/DOM/Window.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -261,7 +262,7 @@ NonnullRefPtr Window::get_computed_style(DOM::Element& NonnullRefPtr Window::match_media(String media) { - return CSS::MediaQueryList::create(associated_document(), move(media)); + return CSS::MediaQueryList::create(associated_document(), parse_media_query_list(CSS::ParsingContext(associated_document()), media)); } // https://www.w3.org/TR/cssom-view/#dom-window-scrollx