mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 05:57:41 +00:00
LibWeb: Move media-query-list serialization code to MediaQuery.{h,cpp}
It's not a complicated algorithm, but having it in one place instead of 2, and with spec comments, is nice. :^)
This commit is contained in:
parent
caac0706c2
commit
46bba44f8b
4 changed files with 18 additions and 6 deletions
|
@ -21,9 +21,7 @@ MediaList::~MediaList()
|
||||||
// https://www.w3.org/TR/cssom-1/#dom-medialist-mediatext
|
// https://www.w3.org/TR/cssom-1/#dom-medialist-mediatext
|
||||||
String MediaList::media_text() const
|
String MediaList::media_text() const
|
||||||
{
|
{
|
||||||
StringBuilder builder;
|
return serialize_a_media_query_list(m_media);
|
||||||
builder.join(", ", m_media);
|
|
||||||
return builder.to_string();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/cssom-1/#dom-medialist-mediatext
|
// https://www.w3.org/TR/cssom-1/#dom-medialist-mediatext
|
||||||
|
|
|
@ -227,4 +227,18 @@ bool MediaQuery::evaluate(DOM::Window const& window)
|
||||||
return m_matches;
|
return m_matches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/cssom-1/#serialize-a-media-query-list
|
||||||
|
String serialize_a_media_query_list(NonnullRefPtrVector<MediaQuery> const& media_queries)
|
||||||
|
{
|
||||||
|
// 1. If the media query list is empty, then return the empty string.
|
||||||
|
if (media_queries.is_empty())
|
||||||
|
return "";
|
||||||
|
|
||||||
|
// 2. Serialize each media query in the list of media queries, in the same order as they
|
||||||
|
// appear in the media query list, and then serialize the list.
|
||||||
|
StringBuilder builder;
|
||||||
|
builder.join(", ", media_queries);
|
||||||
|
return builder.to_string();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,8 @@ private:
|
||||||
bool m_matches { false };
|
bool m_matches { false };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
String serialize_a_media_query_list(NonnullRefPtrVector<MediaQuery> const&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace AK {
|
namespace AK {
|
||||||
|
|
|
@ -29,9 +29,7 @@ MediaQueryList::~MediaQueryList()
|
||||||
// https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-media
|
// https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-media
|
||||||
String MediaQueryList::media() const
|
String MediaQueryList::media() const
|
||||||
{
|
{
|
||||||
StringBuilder builder;
|
return serialize_a_media_query_list(m_media);
|
||||||
builder.join(", ", m_media);
|
|
||||||
return builder.to_string();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-matches
|
// https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-matches
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue