mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 04:09:13 +00:00
LibWeb/CSS: Replace style-rule iteration methods with a generic one
I didn't want to add another set of boilerplatey tree-walking methods, so here's a general-purpose one. :^) `for_each_effective_rule()` walks the tree of effective style rules, and runs the callback on each one, in either pre- or postorder. The previous `for_each_effective_style/keyframes_rule()` methods of `CSSStyleSheet` are then reimplemented in terms of `for_each_effective_rule()`, and we can get rid of their equivalents elsewhere.
This commit is contained in:
parent
4c98906e2c
commit
cbb4be3e5e
Notes:
github-actions[bot]
2024-09-06 05:50:56 +00:00
Author: https://github.com/AtkinsSJ
Commit: cbb4be3e5e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1291
9 changed files with 53 additions and 67 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
|
||||
* Copyright (c) 2021-2024, Sam Atkins <sam@ladybird.org>
|
||||
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
|
@ -47,14 +47,9 @@ WebIDL::ExceptionOr<void> CSSGroupingRule::delete_rule(u32 index)
|
|||
return m_rules->remove_a_css_rule(index);
|
||||
}
|
||||
|
||||
void CSSGroupingRule::for_each_effective_style_rule(Function<void(CSSStyleRule const&)> const& callback) const
|
||||
void CSSGroupingRule::for_each_effective_rule(TraversalOrder order, Function<void(Web::CSS::CSSRule const&)> const& callback) const
|
||||
{
|
||||
m_rules->for_each_effective_style_rule(callback);
|
||||
}
|
||||
|
||||
void CSSGroupingRule::for_each_effective_keyframes_at_rule(Function<void(CSSKeyframesRule const&)> const& callback) const
|
||||
{
|
||||
m_rules->for_each_effective_keyframes_at_rule(callback);
|
||||
m_rules->for_each_effective_rule(order, callback);
|
||||
}
|
||||
|
||||
void CSSGroupingRule::set_parent_style_sheet(CSSStyleSheet* parent_style_sheet)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue