diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-01 19:02:37 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-01 19:02:37 +0000 |
commit | cea0f412145c239a7583c10554c2d88964e94fd7 (patch) | |
tree | 7c8919bc45001c596ad6dc21a6035077fa48ad68 /Makefile | |
parent | d2460b3a2f2690813abdf3b350be9dc5ebf2fe18 (diff) | |
download | libcss-cea0f412145c239a7583c10554c2d88964e94fd7.tar.gz libcss-cea0f412145c239a7583c10554c2d88964e94fd7.tar.bz2 |
Significantly optimise CSS selection performance.
Now we pass a node bloom filter to css_get_style. That node bloom
filter is filled with the node's ancestor element, class, and id
names. Internally, libcss also generates a bloom filter for each
selector chain. If the selector chain's bloom filter is not a
subset of the node bloom filter, we know that the selector chain's
rule does not apply to the node. This avoids the slow selector
chain matching process.
Other smaller optimisations to move the ruling out of selector
chains for inapplicable media types and other reasons to before
we start comparing rules from different sources to find the next
rule. All this is now done in hash.c so select.c never sees the
trivially ruled out rules.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -46,6 +46,7 @@ include $(NSBUILD)/Makefile.top # Extra installation rules I := /include/libcss +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libcss/bloom.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libcss/computed.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libcss/errors.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):include/libcss/font_face.h |