summaryrefslogtreecommitdiff
path: root/include/libcss
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-07-29 09:57:04 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-07-29 09:57:04 +0000
commit551c4e5bc7147f8eee1bb48cdd26bc83a66aa78a (patch)
treeaff3a1bb53332c80aa0b3e973c787baebaf3cc4a /include/libcss
parentfc6b96707730c54fb7ac4040680d79864169b5e0 (diff)
downloadlibcss-551c4e5bc7147f8eee1bb48cdd26bc83a66aa78a.tar.gz
libcss-551c4e5bc7147f8eee1bb48cdd26bc83a66aa78a.tar.bz2
Change selector hash to segregate:
1) element selectors 2) universal selectors with class names 3) universal selectors with ids 4) universal selectors Only bother looking for matching selectors in 2 & 3 if the node being selected for has class names or an id, respectively. In theory, this should speed up style selection somewhat. svn path=/trunk/libcss/; revision=8882
Diffstat (limited to 'include/libcss')
-rw-r--r--include/libcss/select.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/libcss/select.h b/include/libcss/select.h
index a3d18df..76bdcf5 100644
--- a/include/libcss/select.h
+++ b/include/libcss/select.h
@@ -26,6 +26,11 @@ enum css_pseudo_element {
typedef struct css_select_handler {
css_error (*node_name)(void *pw, void *node,
lwc_context *dict, lwc_string **name);
+ css_error (*node_classes)(void *pw, void *node,
+ lwc_context *dict, lwc_string ***classes,
+ uint32_t *n_classes);
+ css_error (*node_id)(void *pw, void *node,
+ lwc_context *dict, lwc_string **id);
css_error (*named_ancestor_node)(void *pw, void *node,
lwc_string *name, void **ancestor);