| TOKEN_EOF
;
+before_charset_rule:
+ /* empty */ {
+ parser->startRule();
+ parser->startRuleHeader(CSSRuleSourceData::CHARSET_RULE);
+ }
+
maybe_charset:
/* empty */
- | CHARSET_SYM maybe_space STRING maybe_space semi_or_eof {
+ | before_charset_rule CHARSET_SYM maybe_space STRING maybe_space semi_or_eof {
if (parser->m_styleSheet)
- parser->m_styleSheet->parserSetEncodingFromCharsetRule($3);
- parser->startEndUnknownRule();
+ parser->m_styleSheet->parserSetEncodingFromCharsetRule($4);
+ parser->endRuleHeader();
+ parser->startRuleBody();
+ parser->endRule(true);
}
- | CHARSET_SYM at_rule_recovery
+ | before_charset_rule CHARSET_SYM at_rule_recovery {
+ parser->endRule(false);
+ }
;
rule_list: