diff --git a/components/style/stylesheets/rule_parser.rs b/components/style/stylesheets/rule_parser.rs index a60cd0ea6d0..185d549ef0f 100644 --- a/components/style/stylesheets/rule_parser.rs +++ b/components/style/stylesheets/rule_parser.rs @@ -241,6 +241,21 @@ impl<'a, 'i> AtRuleParser<'i> for TopLevelRuleParser<'a> { let url_string = input.expect_url_or_string()?.as_ref().to_owned(); let url = CssUrl::parse_from_string(url_string, &self.context, CorsMode::None); + let layer = if input.try_parse(|input| input.expect_ident_matching("layer")).is_ok() { + Some(ImportLayer { + name: None, + }) + } else { + input.try_parse(|input| { + input.expect_function_matching("layer")?; + input.parse_nested_block(|input| { + LayerName::parse(&self.context, input) + }).map(|name| ImportLayer { + name: Some(name), + }) + }).ok() + }; + #[cfg(feature = "gecko")] let supports_enabled = static_prefs::pref!("layout.css.import-supports.enabled"); #[cfg(feature = "servo")] @@ -264,21 +279,6 @@ impl<'a, 'i> AtRuleParser<'i> for TopLevelRuleParser<'a> { }).ok() }; - let layer = if input.try_parse(|input| input.expect_ident_matching("layer")).is_ok() { - Some(ImportLayer { - name: None, - }) - } else { - input.try_parse(|input| { - input.expect_function_matching("layer")?; - input.parse_nested_block(|input| { - LayerName::parse(&self.context, input) - }).map(|name| ImportLayer { - name: Some(name), - }) - }).ok() - }; - let media = MediaList::parse(&self.context, input); let media = Arc::new(self.shared_lock.wrap(media));