css: Don't got to the selector tree for change
authorMatthias Clasen <mclasen@redhat.com>
Wed, 15 Jan 2020 13:03:09 +0000 (08:03 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 16 Jan 2020 22:20:45 +0000 (17:20 -0500)
commit1caf197a0db48df92b361218bba1e40ae7730faf
treecd176028bdba10b94d7d0dbd5531ba0a8950c965
parent0a49726c73a74c15f0b38210194699e28d3147ba
css: Don't got to the selector tree for change

The tree is optimized for mimizing the decisions, and is built ahead-of-time.
That prevents us from taking advantage of the information in the matcher when
collecting changes.

So, instead do what we used to do for verification: Use the selector tree
for finding the superset matches, then just walk the rulesets to collect
the changes.

Since we are now recomputing the change masks much less frequently, this
slightly less optimized way of computing them is not a problem, and will
let us compute better results in the future, by improving the superset
matcher to be more precise.
gtk/gtkcssprovider.c