diff --git a/components/style/keyframes.rs b/components/style/keyframes.rs index f458ae45f8e..c90e68a4630 100644 --- a/components/style/keyframes.rs +++ b/components/style/keyframes.rs @@ -50,10 +50,11 @@ impl KeyframePercentage { KeyframePercentage::new(1.) } else { let percentage = try!(input.expect_percentage()); - if percentage > 1. || percentage < 0. { + if percentage >= 0. && percentage <= 1. { + KeyframePercentage::new(percentage) + } else { return Err(()); } - KeyframePercentage::new(percentage) }; Ok(percentage) diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 3eb8fb2e3c3..df134a0abb9 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -8294,6 +8294,12 @@ "url": "/_mozilla/mozilla/iterable.html" } ], + "mozilla/keyframe-infinite-percentage.html": [ + { + "path": "mozilla/keyframe-infinite-percentage.html", + "url": "/_mozilla/mozilla/keyframe-infinite-percentage.html" + } + ], "mozilla/lenient_this.html": [ { "path": "mozilla/lenient_this.html", diff --git a/tests/wpt/mozilla/tests/mozilla/keyframe-infinite-percentage.html b/tests/wpt/mozilla/tests/mozilla/keyframe-infinite-percentage.html new file mode 100644 index 00000000000..36ba83eeac4 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/keyframe-infinite-percentage.html @@ -0,0 +1,15 @@ + + +Shouldn't end up with an invalid keyframe when inf or nan are at play. + + + +