diff --git a/components/style/values/generics/counters.rs b/components/style/values/generics/counters.rs index eeb97baef4b..c342e035fc9 100644 --- a/components/style/values/generics/counters.rs +++ b/components/style/values/generics/counters.rs @@ -237,7 +237,7 @@ impl Content { /// Items for the `content` property. #[derive( - Clone, Debug, Eq, MallocSizeOf, PartialEq, ToComputedValue, ToCss, ToResolvedValue, ToShmem, + Clone, Debug, Eq, MallocSizeOf, PartialEq, ToComputedValue, SpecifiedValueInfo, ToCss, ToResolvedValue, ToShmem, )] #[repr(u8)] pub enum GenericContentItem { diff --git a/components/style/values/specified/counters.rs b/components/style/values/specified/counters.rs index cf10aafbbbd..4dd949b6b1e 100644 --- a/components/style/values/specified/counters.rs +++ b/components/style/values/specified/counters.rs @@ -17,7 +17,7 @@ use crate::values::specified::Integer; use crate::values::CustomIdent; use cssparser::{Parser, Token}; use selectors::parser::SelectorParseErrorKind; -use style_traits::{KeywordsCollectFn, ParseError, SpecifiedValueInfo, StyleParseErrorKind}; +use style_traits::{ParseError, StyleParseErrorKind}; #[derive(PartialEq)] enum CounterType { @@ -201,7 +201,7 @@ impl Parse for Content { let mut has_alt_content = false; loop { { - if let Ok(image) = input.try_parse(|i| Image::parse_only_url(context, i)) { + if let Ok(image) = input.try_parse(|i| Image::parse_forbid_none(context, i)) { content.push(generics::ContentItem::Image(image)); continue; } @@ -279,20 +279,3 @@ impl Parse for Content { Ok(generics::Content::Items(content.into())) } } - -impl SpecifiedValueInfo for generics::GenericContentItem { - fn collect_completion_keywords(f: KeywordsCollectFn) { - f(&[ - "url", - "image-set", - "counter", - "counters", - "attr", - "open-quote", - "close-quote", - "no-open-quote", - "no-close-quote", - "-moz-alt-content", - ]); - } -} diff --git a/components/style/values/specified/image.rs b/components/style/values/specified/image.rs index c414706c00f..e614d279d30 100644 --- a/components/style/values/specified/image.rs +++ b/components/style/values/specified/image.rs @@ -291,6 +291,19 @@ impl Image { ) } + /// Provides an alternate method for parsing, but forbidding `none` + pub fn parse_forbid_none<'i, 't>( + context: &ParserContext, + input: &mut Parser<'i, 't>, + ) -> Result> { + Self::parse_with_cors_mode( + context, + input, + CorsMode::None, + ParseImageFlags::FORBID_NONE + ) + } + /// Provides an alternate method for parsing, but only for urls. pub fn parse_only_url<'i, 't>( context: &ParserContext,