From 6171b5c465d372333fe7f922e12ce6a72595fee6 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Mon, 24 Jul 2017 17:01:24 +0800 Subject: [PATCH] style: Don't clamp Opacity values when computing them for SMIL. --- components/style/values/specified/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs index dd34f9bdbeb..158c33a5b6a 100644 --- a/components/style/values/specified/mod.rs +++ b/components/style/values/specified/mod.rs @@ -563,7 +563,14 @@ impl ToComputedValue for Opacity { #[inline] fn to_computed_value(&self, context: &Context) -> CSSFloat { - self.0.to_computed_value(context).min(1.0).max(0.0) + let value = self.0.to_computed_value(context); + if context.for_smil_animation { + // SMIL expects to be able to interpolate between out-of-range + // opacity values. + value + } else { + value.min(1.0).max(0.0) + } } #[inline]