Bug 1790055 - @container rules should support not without parentheses. r=emilio

We are currently detect 'not' as part of the container-name.

Differential Revision: https://phabricator.services.mozilla.com/D159836
This commit is contained in:
Ziran Sun 2022-10-20 13:54:33 +00:00
parent d167696f69
commit a4248fe12c
2 changed files with 7 additions and 20 deletions

View File

@ -1525,7 +1525,7 @@ bitflags! {
/// TODO: block-size is on the spec but it seems it was removed? WPTs don't /// TODO: block-size is on the spec but it seems it was removed? WPTs don't
/// support it, see https://github.com/w3c/csswg-drafts/issues/7179. /// support it, see https://github.com/w3c/csswg-drafts/issues/7179.
pub struct ContainerType: u8 { pub struct ContainerType: u8 {
/// The `none` variant. /// The `normal` variant.
const NORMAL = 0; const NORMAL = 0;
/// The `inline-size` variant. /// The `inline-size` variant.
const INLINE_SIZE = 1 << 0; const INLINE_SIZE = 1 << 0;
@ -1587,12 +1587,11 @@ impl Parse for ContainerName {
first, first,
DISALLOWED_CONTAINER_NAMES, DISALLOWED_CONTAINER_NAMES,
)?); )?);
while let Ok(ident) = input.try_parse(|input| input.expect_ident_cloned()) { while let Ok(name) = input.try_parse(|input| {
idents.push(CustomIdent::from_ident( let ident = input.expect_ident()?;
location, CustomIdent::from_ident(location, &ident, DISALLOWED_CONTAINER_NAMES)
&ident, }) {
DISALLOWED_CONTAINER_NAMES, idents.push(name);
)?);
} }
Ok(ContainerName(idents.into())) Ok(ContainerName(idents.into()))
} }

View File

@ -94,17 +94,5 @@
[Container name: None] [Container name: None]
expected: FAIL expected: FAIL
[name not (width <= 500px)] [Container name: foo foo]
expected: FAIL
[Container name: foo]
expected: FAIL
[Container name: foo]
expected: FAIL
[Container name: foo ]
expected: FAIL
[not (width: 100px)]
expected: FAIL expected: FAIL