Commit Graph
8 Commits
Author SHA1 Message Date
Basilisk-Dev 09466bc362 Issue #3176 - Fix excessive :has() restyles when typing
Avoid restyling entire parent subtrees for changes that only affect a
child or sibling selector. Skip unrelated class changes, cache selector
dependencies, and avoid searching sibling subtrees that cannot match.

This improves typing performance on Gitea.
2026-09-17 23:41:52 -04:00
Basilisk-Dev e841233d27 Issue #3176 - Avoid :has() restyles for unrelated attribute changes
Track attribute names and class tokens used by relative selectors. Check classes before and after attribute updates so removing a watched class still invalidates its anchors, while unrelated changes avoid broad subtree restyles.

Preserve conservative handling of implicit pseudo-class attribute dependencies and explicit attribute selectors. Validated with a full build, runtime restyle counts, and 22 correctness checks.
2026-09-11 16:10:22 -04:00
Basilisk-Dev 965715cd70 Issue #3176 - Reduce :has() restyle and selector matching overhead
Track state dependencies inside relative selectors to avoid restyling for unrelated state changes. Restrict parent dependency markers to sibling selectors while preserving outer sibling invalidation, and limit simple child and sibling searches to their candidate elements.
2026-09-11 15:34:13 -04:00
Basilisk-Dev d893526f82 Issue #2473 - Inline functions in CSS :has() implementation 2026-07-29 16:48:12 -04:00
Basilisk-Dev 7341809f67 Issue #2473 - implement :has() CSS pseudo class 2026-07-26 14:35:40 -04:00
Basilisk-Dev 950a608e01 Support CSS shadow parts 2026-05-17 09:57:14 +02:00
Francis Dominic Fajardo 2ba24302d9 Issue #2835 - Part 2: Implement processing of import rules based on order of appearance 2025-07-26 14:55:22 +08:00
Francis Dominic Fajardo 211aa6d652 Issue #2828 - Part 3: Refactor selector matching and rule cascade data into separate files/classes 2025-07-22 22:39:43 +08:00