mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 11:49:44 +00:00
LibWeb: Make :hover invalidation logic reusable for all pseudo classes
We achieve this by keeping track of all checked pseudo class selectors in the SelectorEngine code. We also give StyleComputer per-pseudo-class rule caches.
This commit is contained in:
parent
ed35f9e7c2
commit
e1777f6e79
Notes:
github-actions[bot]
2025-04-17 17:47:22 +00:00
Author: https://github.com/awesomekling
Commit: e1777f6e79
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4388
13 changed files with 134 additions and 59 deletions
|
@ -20,7 +20,7 @@ struct MatchContext {
|
|||
GC::Ptr<CSS::CSSStyleSheet const> style_sheet_for_rule {};
|
||||
GC::Ptr<DOM::Element const> subject {};
|
||||
bool collect_per_element_selector_involvement_metadata { false };
|
||||
bool did_match_any_hover_rules { false };
|
||||
CSS::PseudoClassBitmap attempted_pseudo_class_matches {};
|
||||
};
|
||||
|
||||
bool matches(CSS::Selector const&, DOM::Element const&, GC::Ptr<DOM::Element const> shadow_host, MatchContext& context, Optional<CSS::PseudoElement> = {}, GC::Ptr<DOM::ParentNode const> scope = {}, SelectorKind selector_kind = SelectorKind::Normal, GC::Ptr<DOM::Element const> anchor = nullptr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue