Reorder code in KeyframesAnimation::from_keyframes() to avoid a panic.

Fixes #11999.
Fixes #12006.
This commit is contained in:
Ms2ger 2016-07-01 10:15:38 +02:00
parent 0ae07e07e6
commit 70e964b707
3 changed files with 25 additions and 1 deletions

View file

@ -154,8 +154,12 @@ fn get_animated_properties(keyframe: &Keyframe) -> Vec<TransitionProperty> {
impl KeyframesAnimation {
pub fn from_keyframes(keyframes: &[Keyframe]) -> Option<Self> {
if keyframes.is_empty() {
return None;
}
let animated_properties = get_animated_properties(&keyframes[0]);
if keyframes.is_empty() || animated_properties.is_empty() {
if animated_properties.is_empty() {
return None;
}

View file

@ -6072,6 +6072,12 @@
]
},
"testharness": {
"css/empty-keyframes.html": [
{
"path": "css/empty-keyframes.html",
"url": "/_mozilla/css/empty-keyframes.html"
}
],
"css/flex-item-assign-inline-size.html": [
{
"path": "css/flex-item-assign-inline-size.html",

View file

@ -0,0 +1,14 @@
<!doctype html>
<meta charset="utf-8">
<title>Empty keyframes rule</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style id=style>
@keyframes foo {}
</style>
<div id=log></div>
<script>
test(function() {
// Check that it is exposed in the CSSOM.
});
</script>