diff options
Diffstat (limited to 'components/style/values/specified/transform.rs')
-rw-r--r-- | components/style/values/specified/transform.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/components/style/values/specified/transform.rs b/components/style/values/specified/transform.rs index ba2be4ee8d3..c10b79a089b 100644 --- a/components/style/values/specified/transform.rs +++ b/components/style/values/specified/transform.rs @@ -238,8 +238,14 @@ impl Transform { Ok(generic::TransformOperation::SkewY(theta)) }, "perspective" => { - let d = specified::Length::parse_non_negative(context, input)?; - Ok(generic::TransformOperation::Perspective(d)) + let p = match input.try_parse(|input| specified::Length::parse_non_negative(context, input)) { + Ok(p) => generic::PerspectiveFunction::Length(p), + Err(..) => { + input.expect_ident_matching("none")?; + generic::PerspectiveFunction::None + } + }; + Ok(generic::TransformOperation::Perspective(p)) }, _ => Err(()), }; |