diff --git a/components/style/values/specified/color.rs b/components/style/values/specified/color.rs index dd510e79680..5405fc6602f 100644 --- a/components/style/values/specified/color.rs +++ b/components/style/values/specified/color.rs @@ -172,6 +172,7 @@ pub enum SystemColor { MozOddtreerow, /// Used for button text when pressed. + #[parse(condition = "ParserContext::in_ua_or_chrome_sheet")] MozGtkButtonactivetext, /// Used for button text when pressed. @@ -359,14 +360,12 @@ impl Parse for Color { Err(e) => { #[cfg(feature = "gecko")] { - if let Ok(ident) = input.expect_ident() { - if let Ok(system) = SystemColor::from_ident(ident) { - return Ok(Color::System(system)); - } + if let Ok(system) = input.try(|i| SystemColor::parse(context, i)) { + return Ok(Color::System(system)); + } - if let Ok(c) = gecko::SpecialColorKeyword::from_ident(ident) { - return Ok(Color::Special(c)); - } + if let Ok(c) = input.try(gecko::SpecialColorKeyword::parse) { + return Ok(Color::Special(c)); } }