diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2011-01-31 22:30:51 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2011-01-31 22:30:51 +0000 |
commit | 39493b5635f8e78f37157be2f6b6d5941ec958ac (patch) | |
tree | 2845e292aa6d9a65c55d3232705a2bfece3477a9 | |
parent | 89c0440321f6f2a91dee1a2047f6bffc3eec382c (diff) | |
download | libcss-39493b5635f8e78f37157be2f6b6d5941ec958ac.tar.gz libcss-39493b5635f8e78f37157be2f6b6d5941ec958ac.tar.bz2 |
Fix specificity calculation for prefix, suffix, and substring attribute selectors.
Fix dumping of these selectors when debugging selector chains
svn path=/trunk/libcss/; revision=11569
-rw-r--r-- | src/select/select.c | 21 | ||||
-rw-r--r-- | src/stylesheet.c | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/select/select.c b/src/select/select.c index 9f46075..eb47309 100644 --- a/src/select/select.c +++ b/src/select/select.c @@ -1769,6 +1769,27 @@ void dump_chain(const css_selector *selector) (int) lwc_string_length(detail->value), lwc_string_data(detail->value)); break; + case CSS_SELECTOR_ATTRIBUTE_PREFIX: + fprintf(stderr, "[%.*s^=\"%.*s\"]", + (int) lwc_string_length(detail->name), + lwc_string_data(detail->name), + (int) lwc_string_length(detail->value), + lwc_string_data(detail->value)); + break; + case CSS_SELECTOR_ATTRIBUTE_SUFFIX: + fprintf(stderr, "[%.*s$=\"%.*s\"]", + (int) lwc_string_length(detail->name), + lwc_string_data(detail->name), + (int) lwc_string_length(detail->value), + lwc_string_data(detail->value)); + break; + case CSS_SELECTOR_ATTRIBUTE_SUBSTRING: + fprintf(stderr, "[%.*s*=\"%.*s\"]", + (int) lwc_string_length(detail->name), + lwc_string_data(detail->name), + (int) lwc_string_length(detail->value), + lwc_string_data(detail->value)); + break; } if (detail->next) diff --git a/src/stylesheet.c b/src/stylesheet.c index 42b5820..d8c3113 100644 --- a/src/stylesheet.c +++ b/src/stylesheet.c @@ -971,6 +971,9 @@ css_error css__stylesheet_selector_append_specific(css_stylesheet *sheet, case CSS_SELECTOR_ATTRIBUTE_EQUAL: case CSS_SELECTOR_ATTRIBUTE_DASHMATCH: case CSS_SELECTOR_ATTRIBUTE_INCLUDES: + case CSS_SELECTOR_ATTRIBUTE_PREFIX: + case CSS_SELECTOR_ATTRIBUTE_SUFFIX: + case CSS_SELECTOR_ATTRIBUTE_SUBSTRING: (*parent)->specificity += CSS_SPECIFICITY_C; break; case CSS_SELECTOR_ID: |