css: Track backdrop state separately
authorMatthias Clasen <mclasen@redhat.com>
Thu, 16 Jan 2020 01:05:44 +0000 (20:05 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 16 Jan 2020 16:25:04 +0000 (11:25 -0500)
commit2426b9e23a300dfb45b806365547a49e52a0760a
tree359581582a8b24204e8ff2abeb7609814f127498
parent64848aebf48793544c81e825959985783825b914
css: Track backdrop state separately

Like the previous change, this reduces the number of
css nodes reacting to parent-state changes.

Before (numbers from widget-factory with Adwaita):
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2247
hover 562
disabled 859
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91

After:
2247 nodes
class 612
name 2246
id 2
first-child 148
last-child 156
state 2245
hover 562
disabled 859
backdrop 1080
sibling-name 63
sibling-disabled 51
parent-class 586
parent-name 788
parent-id 2
parent-first-child 78
parent-last-child 78
parent-state 236
parent-hover 5
parent-disabled 91
parent-backdrop 4
gtk/gtkcssmatcher.c
gtk/gtkcssnode.c
gtk/gtkcssselector.c
gtk/gtkcsstypes.c
gtk/gtkcsstypesprivate.h