4 <style type="text/css">
10 background-color: black;
13 <script type="text/javascript">
15 function log(message) {
16 var results = document.getElementById('results');
17 results.innerHTML += message + '<br>';
20 function validateFinishEvent(player, event) {
21 if (event.target === player) {
22 log('PASS: ' + player.name + ' is target');
24 log('FAIL: expected target named ' + player.name + ', actual target is ' + event.target);
26 if (event.currentTime === player.currentTime) {
27 log('PASS: event currentTime equals player currentTime');
29 log('FAIL: event currentTime ' + event.currentTime + ' does not equal player currentTime ' + player.currentTime);
31 if (event.timelineTime === document.timeline.currentTime) {
32 log('PASS: event timelineTime equals timeline currentTime');
34 log('FAIL: event timelineTime ' + event.timelineTime +
35 ' does not equal timeline currentTime ' + document.timeline.currentTime);
39 var playerTop, playerMiddle, playerBottom;
41 function onFinishTop(event) {
42 validateFinishEvent(playerTop, event);
43 testRunner.notifyDone();
46 function onFinishMiddle(event) {
47 log('FAIL: seeking to finish should not queue event');
50 function onFinishBottom(event) {
51 log('FAIL: seeking past finish should not queue event');
57 {left: '10px', opacity: '1', offset: 0},
58 {left: '100px', opacity: '0', offset: 1}
61 playerMiddle = document.getElementById('middle').animate(keyframes, 70.0);
62 playerMiddle.name = 'playerMiddle';
63 playerMiddle.onfinish = onFinishMiddle;
64 playerMiddle.finish();
65 playerMiddle.currentTime = 0;
67 playerBottom = document.getElementById('bottom').animate(keyframes, 70.0);
68 playerBottom.name = 'playerBottom';
69 playerBottom.onfinish = onFinishBottom;
70 playerBottom.currentTime = 80.0;
71 playerBottom.currentTime = 0;
73 playerTop = document.getElementById('top').animate(keyframes, 90.0);
74 playerTop.name = 'playerTop';
75 playerTop.onfinish = onFinishTop;
78 if (window.testRunner) {
79 testRunner.dumpAsText();
80 testRunner.waitUntilDone();
84 window.onload = animate;
89 <div class="anim" id="top"></div>
90 <div class="anim" id="middle"></div>
91 <div class="anim" id="bottom"></div>
92 <div id="results"></div>