| Index: third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..7604bd21e9eb7cfa7298b08a35b95d89dbc7aab9
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
 | 
| @@ -0,0 +1,85 @@
 | 
| +<!doctype html>
 | 
| +<meta charset=utf-8>
 | 
| +<title>Test for effect composition</title>
 | 
| +<link rel="help" href="https://w3c.github.io/web-animations/#effect-composition">
 | 
| +<script src=/resources/testharness.js></script>
 | 
| +<script src=/resources/testharnessreport.js></script>
 | 
| +<script src="../../testcommon.js"></script>
 | 
| +<div id="log"></div>
 | 
| +<script>
 | 
| +'use strict';
 | 
| +
 | 
| +[ 'accumulate', 'add' ].forEach(function(composite) {
 | 
| +  test(function(t) {
 | 
| +    var div = createDiv(t);
 | 
| +    div.style.marginLeft = '10px';
 | 
| +    var anim =
 | 
| +      div.animate({ marginLeft: ['0px', '10px'], composite }, 100);
 | 
| +
 | 
| +    anim.currentTime = 50;
 | 
| +    assert_equals(getComputedStyle(div).marginLeft, '15px',
 | 
| +      'Animated margin-left style at 50%');
 | 
| +  }, composite + ' onto the base value');
 | 
| +
 | 
| +  test(function(t) {
 | 
| +    var div = createDiv(t);
 | 
| +    var anims = [];
 | 
| +    anims.push(div.animate({ marginLeft: ['10px', '20px'],
 | 
| +                             composite: 'replace' },
 | 
| +                           100));
 | 
| +    anims.push(div.animate({ marginLeft: ['0px', '10px'],
 | 
| +                             composite },
 | 
| +                           100));
 | 
| +
 | 
| +    anims.forEach(function(anim) {
 | 
| +      anim.currentTime = 50;
 | 
| +    });
 | 
| +
 | 
| +    assert_equals(getComputedStyle(div).marginLeft, '20px',
 | 
| +      'Animated style at 50%');
 | 
| +  }, composite + ' onto an underlying animation value');
 | 
| +
 | 
| +  test(function(t) {
 | 
| +    var div = createDiv(t);
 | 
| +    div.style.marginLeft = '10px';
 | 
| +    var anim =
 | 
| +      div.animate([{ marginLeft: '10px', composite },
 | 
| +                   { marginLeft: '30px', composite: 'replace' }],
 | 
| +                  100);
 | 
| +
 | 
| +    anim.currentTime = 50;
 | 
| +    assert_equals(getComputedStyle(div).marginLeft, '25px',
 | 
| +      'Animated style at 50%');
 | 
| +  }, 'Composite when mixing ' + composite + ' and replace');
 | 
| +
 | 
| +  test(function(t) {
 | 
| +    var div = createDiv(t);
 | 
| +    div.style.marginLeft = '10px';
 | 
| +    var anim =
 | 
| +      div.animate([{ marginLeft: '10px', composite: 'replace' },
 | 
| +                   { marginLeft: '20px' }],
 | 
| +                  { duration: 100 , composite });
 | 
| +
 | 
| +    anim.currentTime = 50;
 | 
| +    assert_equals(getComputedStyle(div).marginLeft, '20px',
 | 
| +      'Animated style at 50%');
 | 
| +  }, composite + ' specified on a keyframe overrides the composite mode of ' +
 | 
| +     'the effect');
 | 
| +
 | 
| +  test(function(t) {
 | 
| +    var div = createDiv(t);
 | 
| +    div.style.marginLeft = '10px';
 | 
| +    var anim =
 | 
| +      div.animate([{ marginLeft: '10px', composite: 'replace' },
 | 
| +                   { marginLeft: '20px' }],
 | 
| +                  100);
 | 
| +
 | 
| +    anim.effect.composite = composite;
 | 
| +    anim.currentTime = 50;                       // (10 + (10 + 20)) * 0.5
 | 
| +    assert_equals(getComputedStyle(div).marginLeft, '20px',
 | 
| +      'Animated style at 50%');
 | 
| +  }, 'unspecified composite mode on a keyframe is overriden by setting ' +
 | 
| +     composite + ' of the effect');
 | 
| +});
 | 
| +
 | 
| +</script>
 | 
| 
 |