Skip to content

Commit

Permalink
[ScrollTimeline] Add timeline to Element.animate()
Browse files Browse the repository at this point in the history
This patch adds a timeline option to Element.animate() function based on
the recent spec change: w3c/csswg-drafts#5013.

Change-Id: Ibf7e6f824f9e013f62da015cebdbc893255142dd
Bug: 1080720
  • Loading branch information
yi-gu authored and chromium-wpt-export-bot committed May 28, 2020
1 parent b0cfc1c commit 9210d2c
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
12 changes: 12 additions & 0 deletions web-animations/interfaces/Animatable/animate.html
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,18 @@
}, 'Element.animate() correctly sets the Animation\'s timeline when ' +
'triggered on an element in a different document');

for (const subtest of gAnimationTimelineTests) {
test(t => {
const anim = createDiv(t).animate(null, { timeline: subtest.timeline });
assert_not_equals(anim, null,
'An animation sohuld be created');
assert_equals(anim.timeline, subtest.expectedTimeline,
'Animation timeline should be '+
subtest.expectedTimelineDescription);
}, 'Element.animate() correctly sets the Animation\'s timeline '
+ subtest.description + ' in KeyframeAnimationOptions.');
}

test(t => {
const anim = createDiv(t).animate(null, 2000);
assert_equals(anim.playState, 'running');
Expand Down
33 changes: 33 additions & 0 deletions web-animations/resources/keyframe-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -796,3 +796,36 @@ const gInvalidKeyframeEffectOptionTests = [
{ desc: 'a variable easing', input: { easing: 'var(--x)' } },
{ desc: 'a multi-value easing', input: { easing: 'ease-in-out, ease-out' } },
];

const scroll_timeline = new ScrollTimeline({ timeRange: 100 });
const gAnimationTimelineTests = [
{
expectedTimeline: document.timeline,
expectedTimelineDescription: 'document.timeline',
description: 'with no timeline parameter'
},
{
timeline: undefined,
expectedTimeline: document.timeline,
expectedTimelineDescription: 'document.timeline',
description: 'with undefined timeline'
},
{
timeline: null,
expectedTimeline: null,
expectedTimelineDescription: 'null',
description: 'with null timeline'
},
{
timeline: document.timeline,
expectedTimeline: document.timeline,
expectedTimelineDescription: 'document.timeline',
description: 'with DocumentTimeline'
},
{
timeline: scroll_timeline,
expectedTimeline: scroll_timeline,
expectedTimelineDescription: 'ScrollTimeline',
description: 'with ScrollTimeline'
},
];

0 comments on commit 9210d2c

Please sign in to comment.