:has Bloom Filter Performance Improvement - Special Handling for `:hover`, `:focus`
Categories
(Core :: CSS Parsing and Computation, enhancement)
Tracking
()
People
(Reporter: dshin, Unassigned)
References
(Blocks 1 open bug)
Details
Updated•10 months ago
|
Comment 1•10 months ago
|
||
On top of :has(:hover)
and :has(:focus)
(*) (:has(:focus-visible)
) in the subject, does this issue include support for the rest of dynamic pseudo classes like
:has(:checked)
,:has(:active)
,:has(:target)
,:has(:target-within)
,:has(:valid)
,:has(:invalid)
,:has(:user-invalid)
,:has(:indeterminate)
,:has(:blank)
,:has(:in-range)
,:has(:out-of-range)
,
and generally the rest of all Pseudo-classes (with exceptions like:has(:has())
that is AFAIK forbidden by spec and few that does not makes sense like:has(:root)
)?
Does it also include general dynamic subtree (sibling tree) changes, like :has(.some-dynamically-added-class)
or `:has(some-element-added-later)?
(*) :has(:focus)
it will technically become alias of :focus-within
, right?
Reporter | ||
Comment 2•10 months ago
|
||
(In reply to Michal Čaplygin [:myf] from comment #1)
On top of
:has(:hover)
and:has(:focus)
(*) (:has(:focus-visible)
) in the subject, does this issue include support for the rest of dynamic pseudo classes like
:has(:checked)
,:has(:active)
,:has(:target)
,:has(:target-within)
,:has(:valid)
,:has(:invalid)
,:has(:user-invalid)
,:has(:indeterminate)
,:has(:blank)
,:has(:in-range)
,:has(:out-of-range)
,
and generally the rest of all [Pseudo-classes] (with exceptions like:has(:has())
that is AFAIK forbidden by spec and few that does not makes sense like:has(:root)
)?Does it also include general dynamic subtree (sibling tree) changes, like
:has(.some-dynamically-added-class)
or `:has(some-element-added-later)?
Ah, this bug has to do with the internal detail of using Bloom filter to speed up matching, rather than handling them correctly.
General support for handling :has invalidations, i.e. restyling on things inside :has changing, is being handled as part of bug 1792501.
(*)
:has(:focus)
it will technically become alias of:focus-within
, right?
There's currently no plan to do so, though, though aliasing like that could be better for performance, etc., perhaps.
Updated•5 months ago
|
Description
•