Serenity Operating System
at master 33 lines 919 B view raw
1/* 2 * Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org> 3 * Copyright (c) 2022, Andreas Kling <kling@serenityos.org> 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#include <LibWeb/Bindings/CSSConditionRulePrototype.h> 9#include <LibWeb/Bindings/Intrinsics.h> 10#include <LibWeb/CSS/CSSConditionRule.h> 11 12namespace Web::CSS { 13 14CSSConditionRule::CSSConditionRule(JS::Realm& realm, CSSRuleList& rules) 15 : CSSGroupingRule(realm, rules) 16{ 17} 18 19void CSSConditionRule::for_each_effective_style_rule(Function<void(CSSStyleRule const&)> const& callback) const 20{ 21 if (condition_matches()) 22 CSSGroupingRule::for_each_effective_style_rule(callback); 23} 24 25JS::ThrowCompletionOr<void> CSSConditionRule::initialize(JS::Realm& realm) 26{ 27 MUST_OR_THROW_OOM(Base::initialize(realm)); 28 set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSConditionRulePrototype>(realm, "CSSConditionRule")); 29 30 return {}; 31} 32 33}