@@ -82,7 +82,7 @@ function parse(tokens) {
82
82
case ";" : pop ( ) && switchto ( ) ; break ;
83
83
case "{" :
84
84
if ( rule . fillType !== '' ) switchto ( rule . fillType ) ;
85
- else parseerror ( "Attempt to open a curly-block in a statement-type at-rule." ) && switchto ( 'next-block' ) && reprocess ( ) ;
85
+ else parseerror ( "Attempt to open a curly-block in a statement-type at-rule." ) && discard ( ) && switchto ( 'next-block' ) && reprocess ( ) ;
86
86
break ;
87
87
case "EOF" : finish ( ) ; return stylesheet ;
88
88
default : rule . appendPrelude ( consumeAPrimitive ( ) ) ;
@@ -92,8 +92,6 @@ function parse(tokens) {
92
92
case "rule" :
93
93
switch ( token . tokenType ) {
94
94
case "WHITESPACE" : break ;
95
- case "BADSTRING" :
96
- case "BADURL" : parseerror ( "Use of BADSTRING or BADURL token in selector." ) && switchto ( 'next-block' ) ; break ;
97
95
case "}" : pop ( ) && switchto ( ) ; break ;
98
96
case "AT-KEYWORD" : push ( new AtRule ( token . value ) ) && switchto ( 'at-rule' ) ; break ;
99
97
case "EOF" : finish ( ) ; return stylesheet ;
@@ -117,7 +115,7 @@ function parse(tokens) {
117
115
case "AT-RULE" : push ( new AtRule ( token . value ) ) && switchto ( 'at-rule' ) ; break ;
118
116
case "IDENT" : push ( new Declaration ( token . value ) ) && switchto ( 'after-declaration-name' ) ; break ;
119
117
case "EOF" : finish ( ) ; return stylesheet ;
120
- default : parseerror ( ) && switchto ( 'next-declaration' ) ;
118
+ default : parseerror ( ) && discard ( ) && switchto ( 'next-declaration' ) ;
121
119
}
122
120
break ;
123
121
@@ -143,7 +141,7 @@ function parse(tokens) {
143
141
}
144
142
break ;
145
143
case ";" : pop ( ) && switchto ( ) ; break ;
146
- case "}" : pop ( ) && switchto ( ) && reprocess ( ) ; break ;
144
+ case "}" : pop ( ) && pop ( ) && switchto ( ) ; break ;
147
145
case "EOF" : finish ( ) ; return stylesheet ;
148
146
default : rule . append ( consumeAPrimitive ( ) ) ;
149
147
}
@@ -153,7 +151,7 @@ function parse(tokens) {
153
151
switch ( token . tokenType ) {
154
152
case "WHITESPACE" : break ;
155
153
case ";" : pop ( ) && switchto ( ) ; break ;
156
- case "}" : pop ( ) && switchto ( ) && reprocess ( ) ; break ;
154
+ case "}" : pop ( ) && pop ( ) && switchto ( ) ; break ;
157
155
case "EOF" : finish ( ) ; return stylesheet ;
158
156
default : parseerror ( "Invalid declaration - additional token after !important." ) && discard ( ) && switchto ( 'next-declaration' ) ;
159
157
}
0 commit comments