ladybird/Userland/Libraries/LibWeb/CSS/CSSGroupingRule.cpp
Sam Atkins 439d978ea5 LibWeb: Make style-rule iteration aware of CSSMediaRule
The logic is handled by `CSSGroupingRule` and `CSSConditionRule`, so
`CSSMediaRule` only has to report if its condition matches.

Right now, that condition is always false because we do not evaluate the
media query.
2021-10-08 23:02:57 +02:00

49 lines
1.1 KiB
C++

/*
* Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/CSS/CSSGroupingRule.h>
#include <LibWeb/CSS/CSSRuleList.h>
namespace Web::CSS {
CSSGroupingRule::CSSGroupingRule(NonnullRefPtrVector<CSSRule>&& rules)
: m_rules(CSSRuleList::create(move(rules)))
{
}
CSSGroupingRule::~CSSGroupingRule()
{
}
size_t CSSGroupingRule::insert_rule(StringView const&, size_t)
{
// https://www.w3.org/TR/cssom-1/#insert-a-css-rule
TODO();
}
void CSSGroupingRule::delete_rule(size_t)
{
// https://www.w3.org/TR/cssom-1/#remove-a-css-rule
TODO();
}
// https://drafts.csswg.org/cssom/#serialize-a-css-rule
String CSSGroupingRule::serialized() const
{
TODO();
}
void CSSGroupingRule::for_each_effective_style_rule(Function<void(CSSStyleRule const&)> const& callback) const
{
m_rules->for_each_effective_style_rule(callback);
}
bool CSSGroupingRule::for_first_not_loaded_import_rule(Function<void(CSSImportRule&)> const& callback)
{
return m_rules->for_first_not_loaded_import_rule(callback);
}
}