@@ -26,10 +26,8 @@ function parse(tokens) {
26
26
} ;
27
27
var switchto = function ( newmode ) {
28
28
if ( newmode === undefined ) {
29
- if ( rule . ruleType == 'SELECTOR-RULE' || ( rule . ruleType == 'AT-RULE' && rule . fillType == 'declaration' ) )
30
- mode = 'declaration' ;
31
- else if ( rule . ruleType == 'AT-RULE' && rule . fillType == 'rule' )
32
- mode = 'rule' ;
29
+ if ( rule . fillType !== '' )
30
+ mode = rule . fillType ;
33
31
else if ( rule . ruleType == 'STYLESHEET' )
34
32
mode = 'top-level'
35
33
else { console . log ( "Unknown rule-type while switching to current rule's content mode: " , rule ) ; mode = '' ; }
@@ -247,6 +245,7 @@ function parse(tokens) {
247
245
}
248
246
249
247
function CSSParserRule ( ) { return this ; }
248
+ CSSParserRule . prototype . fillType = '' ;
250
249
CSSParserRule . prototype . toString = function ( indent ) {
251
250
return JSON . stringify ( this . toJSON ( ) , null , indent ) ;
252
251
}
@@ -271,8 +270,6 @@ function AtRule(name) {
271
270
this . value = [ ] ;
272
271
if ( name in AtRule . registry )
273
272
this . fillType = AtRule . registry [ name ] ;
274
- else
275
- this . fillType = '' ;
276
273
return this ;
277
274
}
278
275
AtRule . prototype = new CSSParserRule ;
@@ -306,6 +303,7 @@ function StyleRule() {
306
303
}
307
304
StyleRule . prototype = new CSSParserRule ;
308
305
StyleRule . prototype . ruleType = "SELECTOR-RULE" ;
306
+ StyleRule . prototype . fillType = 'declaration' ;
309
307
StyleRule . prototype . appendSelector = function ( val ) {
310
308
this . selector . push ( val ) ;
311
309
return this ;
0 commit comments