diff options
Diffstat (limited to 'components/style/parser.rs')
-rw-r--r-- | components/style/parser.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/components/style/parser.rs b/components/style/parser.rs index b82d21ace4f..bac1252228a 100644 --- a/components/style/parser.rs +++ b/components/style/parser.rs @@ -6,6 +6,7 @@ #![deny(missing_docs)] +use context::QuirksMode; use cssparser::{Parser, SourcePosition, UnicodeRange}; use error_reporting::ParseErrorReporter; use style_traits::OneOrMoreCommaSeparated; @@ -44,6 +45,8 @@ pub struct ParserContext<'a> { pub line_number_offset: u64, /// The mode to use when parsing lengths. pub length_parsing_mode: LengthParsingMode, + /// The quirks mode of this stylesheet. + pub quirks_mode: QuirksMode, } impl<'a> ParserContext<'a> { @@ -52,7 +55,8 @@ impl<'a> ParserContext<'a> { url_data: &'a UrlExtraData, error_reporter: &'a ParseErrorReporter, rule_type: Option<CssRuleType>, - length_parsing_mode: LengthParsingMode) + length_parsing_mode: LengthParsingMode, + quirks_mode: QuirksMode) -> ParserContext<'a> { ParserContext { stylesheet_origin: stylesheet_origin, @@ -61,6 +65,7 @@ impl<'a> ParserContext<'a> { rule_type: rule_type, line_number_offset: 0u64, length_parsing_mode: length_parsing_mode, + quirks_mode: quirks_mode, } } @@ -68,9 +73,10 @@ impl<'a> ParserContext<'a> { pub fn new_for_cssom(url_data: &'a UrlExtraData, error_reporter: &'a ParseErrorReporter, rule_type: Option<CssRuleType>, - length_parsing_mode: LengthParsingMode) + length_parsing_mode: LengthParsingMode, + quirks_mode: QuirksMode) -> ParserContext<'a> { - Self::new(Origin::Author, url_data, error_reporter, rule_type, length_parsing_mode) + Self::new(Origin::Author, url_data, error_reporter, rule_type, length_parsing_mode, quirks_mode) } /// Create a parser context based on a previous context, but with a modified rule type. @@ -84,6 +90,7 @@ impl<'a> ParserContext<'a> { rule_type: rule_type, line_number_offset: context.line_number_offset, length_parsing_mode: context.length_parsing_mode, + quirks_mode: context.quirks_mode, } } @@ -92,7 +99,8 @@ impl<'a> ParserContext<'a> { url_data: &'a UrlExtraData, error_reporter: &'a ParseErrorReporter, line_number_offset: u64, - length_parsing_mode: LengthParsingMode) + length_parsing_mode: LengthParsingMode, + quirks_mode: QuirksMode) -> ParserContext<'a> { ParserContext { stylesheet_origin: stylesheet_origin, @@ -101,6 +109,7 @@ impl<'a> ParserContext<'a> { rule_type: None, line_number_offset: line_number_offset, length_parsing_mode: length_parsing_mode, + quirks_mode: quirks_mode, } } |