gtk2/testsuite/css/change/test4.nodes
Benjamin Otte ccdc3ee406 selector: Make :not() selectors not radical
:not() selectors cannot be radical because the bloomfilter only knows if
a value is set in any of the nodes, but cannot determine the opposite
(if a value is not set in at least one node), but that would be required
for:not() selectors.
However, this is very unlikely to happen in the real world, so it's not
worth optimizing.

Unfortunately, change tracking could know this, so by excluding the
:not() selectors from radical changes, the change tracking will now pick
them up. If that turns out to be a performance problem, we need to add a
special category for radical not filters, so change tracking and bloom
filters can deal with them.

The testcase demonstrating the problem in widget-factory has been
extrated and added.
2020-01-28 02:17:03 +01:00

9 lines
396 B
Plaintext

window.background:dir(ltr)
decoration:dir(ltr)
box.horizontal:dir(ltr) name
label.a:dir(ltr) class|name|hover
label.b:dir(ltr) class|name|hover|backdrop
label.c:dir(ltr) class|name|parent-name|parent-hover
label.d:dir(ltr) class|name|parent-name|parent-hover|parent-backdrop
label.e.f:dir(ltr) class|name|parent-name|parent-hover|parent-backdrop