diff options
author | James Bursa <james@netsurf-browser.org> | 2004-03-29 21:27:52 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2004-03-29 21:27:52 +0000 |
commit | ead74d2f010a232f15d074ef47a0622b5bd9bf66 (patch) | |
tree | 4f8971d94d3c6190847eb0dd8c6652c68c5c2d60 | |
parent | 697be91e3bad5f8c3d4384cdfe43492e7fe24e0a (diff) | |
download | netsurf-ead74d2f010a232f15d074ef47a0622b5bd9bf66.tar.gz netsurf-ead74d2f010a232f15d074ef47a0622b5bd9bf66.tar.bz2 |
[project @ 2004-03-29 21:27:52 by bursa]
Implement CSS universal selector.
svn path=/import/netsurf/; revision=690
-rw-r--r-- | css/parser.y | 4 | ||||
-rw-r--r-- | css/ruleset.c | 4 | ||||
-rw-r--r-- | css/scanner.l | 1 |
3 files changed, 5 insertions, 4 deletions
diff --git a/css/parser.y b/css/parser.y index 29767b546..b373ad585 100644 --- a/css/parser.y +++ b/css/parser.y @@ -92,6 +92,8 @@ simple_selector(A) ::= detail_list(C). element_name(A) ::= IDENT(B). { A = B; } +element_name(A) ::= ASTERISK. + { A = 0; } detail_list(A) ::= detail(B). { A = B; } @@ -209,6 +211,8 @@ any(A) ::= LPAREN any_list(B) RPAREN. { A = css_new_node(CSS_NODE_PAREN, 0, B, 0); } any(A) ::= LBRAC any_list(B) RBRAC. { A = css_new_node(CSS_NODE_BRAC, 0, B, 0); } +any(A) ::= ASTERISK(B). + { A = css_new_node(CSS_NODE_DELIM, B, 0, 0); } /* lemon directives */ diff --git a/css/ruleset.c b/css/ruleset.c index f38b4572d..7ae15bd02 100644 --- a/css/ruleset.c +++ b/css/ruleset.c @@ -228,10 +228,6 @@ void css_add_ruleset(struct content *c, } fprintf(stderr, "\n");*/ - /* skip empty selectors */ - if (sel->left == 0 && sel->data == 0) - continue; - /* check if this selector is already present */ found = false; prev = 0; diff --git a/css/scanner.l b/css/scanner.l index 168ca012a..1f8cc1d92 100644 --- a/css/scanner.l +++ b/css/scanner.l @@ -72,6 +72,7 @@ U\+[0-9A-F?]{1,6}(-[0-9A-F]{1,6})? { "+" { return PLUS; } > { return GT; } "." { return DOT; } +"*" { return ASTERISK; } . { return DELIM; } %% |