aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/selector_parser.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2022-09-06 17:00:33 +0000
committerMartin Robinson <mrobinson@igalia.com>2023-11-03 08:59:49 +0100
commit9f6341b83a088e7062f7915e113acd2bd512162e (patch)
treeb4eef8a9b55680734f01263d8417fde756150022 /components/style/selector_parser.rs
parentab36c8a39bba7e21e77d93da94ef5a21bfe3e122 (diff)
downloadservo-9f6341b83a088e7062f7915e113acd2bd512162e.tar.gz
servo-9f6341b83a088e7062f7915e113acd2bd512162e.zip
style: Disallow forgiving selector-parsing in @supports
As per spec, see https://github.com/w3c/csswg-drafts/issues/7280 Differential Revision: https://phabricator.services.mozilla.com/D156468
Diffstat (limited to 'components/style/selector_parser.rs')
-rw-r--r--components/style/selector_parser.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/components/style/selector_parser.rs b/components/style/selector_parser.rs
index 1af4d6ff07a..c401fe431ce 100644
--- a/components/style/selector_parser.rs
+++ b/components/style/selector_parser.rs
@@ -47,6 +47,8 @@ pub struct SelectorParser<'a> {
/// The extra URL data of the stylesheet, which is used to look up
/// whether we are parsing a chrome:// URL style sheet.
pub url_data: &'a UrlExtraData,
+ /// Whether we're parsing selectors for `@supports`
+ pub for_supports_rule: bool,
}
impl<'a> SelectorParser<'a> {
@@ -63,6 +65,7 @@ impl<'a> SelectorParser<'a> {
stylesheet_origin: Origin::Author,
namespaces: &namespaces,
url_data,
+ for_supports_rule: false,
};
let mut input = ParserInput::new(input);
SelectorList::parse(&parser, &mut CssParser::new(&mut input))