CSSConditionRule.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. #include <LibWeb/Bindings/CSSConditionRulePrototype.h>
  8. #include <LibWeb/Bindings/Intrinsics.h>
  9. #include <LibWeb/CSS/CSSConditionRule.h>
  10. namespace Web::CSS {
  11. CSSConditionRule::CSSConditionRule(JS::Realm& realm, CSSRuleList& rules)
  12. : CSSGroupingRule(realm, rules)
  13. {
  14. }
  15. void CSSConditionRule::for_each_effective_style_rule(Function<void(CSSStyleRule const&)> const& callback) const
  16. {
  17. if (condition_matches())
  18. CSSGroupingRule::for_each_effective_style_rule(callback);
  19. }
  20. void CSSConditionRule::for_each_effective_keyframes_at_rule(Function<void(CSSKeyframesRule const&)> const& callback) const
  21. {
  22. if (condition_matches())
  23. CSSGroupingRule::for_each_effective_keyframes_at_rule(callback);
  24. }
  25. void CSSConditionRule::initialize(JS::Realm& realm)
  26. {
  27. Base::initialize(realm);
  28. WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSConditionRule);
  29. }
  30. }