Implement Focus UI
[framework/web/webkit-efl.git] / LayoutTests / media / audio-delete-while-slider-thumb-clicked.html
1 <!DOCTYPE html>
2 <html>
3     <head>
4         <script src=media-file.js></script>
5         <script src=video-test.js></script>
6         <script src=media-controls.js></script>
7         <script>
8             if (window.testRunner) {
9                 testRunner.dumpAsText();
10                 testRunner.waitUntilDone();
11             }
12
13             function log(msg)
14             {
15                 var console = document.getElementById('console');
16                 console.innerHTML = console.innerHTML + msg + "<br>";
17             }
18             
19             function buttonClick()
20             {
21                 if (document.getElementById('audio'))
22                     log("<br>FAIL: audio element not deleted!!");
23
24                 log("<br>clicking button");
25
26                 // click the button
27                 var button = document.getElementById('button');
28                 eventSender.mouseMoveTo(button.offsetLeft + 20, button.offsetTop + 7);
29                 eventSender.mouseDown();
30                 eventSender.mouseUp();
31
32                 testRunner.notifyDone();
33             }
34             
35             function deleteAudio()
36             {
37                 var audio = document.getElementById('audio');
38                 if (!audio)
39                     return;
40
41                 log("<br>deleting audio element");
42                 audio.parentNode.removeChild(audio);
43
44                 setTimeout(buttonClick, 10);
45             }
46             
47             function drag()
48             {
49                 if (!window.testRunner)
50                     return;
51
52                 testRunner.dumpAsText();
53                 testRunner.waitUntilDone();
54
55                 var audio = document.getElementById('audio');
56                 var seekCoords;
57                 try {
58                     seekCoords = mediaControlsButtonCoordinates(audio, "timeline");
59                 } catch (exception) {
60                     failTest(exception.description);
61                     return;
62                 }
63                 var x = seekCoords[0];
64                 var y = seekCoords[1];
65
66                 // Click in the slider to get the thumb under the mouse.
67                 log("clicking in controller");
68                 eventSender.mouseMoveTo(x, y);
69                 eventSender.mouseDown();
70                 eventSender.mouseUp();
71
72                 // Click slider to scrub, leave the mouse down.
73                 log("clicking on thumb");
74                 eventSender.mouseDown();
75                 eventSender.mouseMoveTo(x, y + 20);
76
77                 // Remove the element after seeking started
78                 audio.addEventListener("seeking", deleteAudio);
79             }
80
81
82             function start()
83             {
84                 setSrcByTagName("audio", findMediaFile("audio", "content/test"));
85             }
86
87         </script>
88     </head>
89     <body onload="start()">
90         This tests that events don't continue to target a slider thumb if the media element is deleted while scrubbing.
91         <br>
92         <input type="button" id="button" value="Click Me!" onmouseup="log('button click!')"> 
93         <br>
94         <audio id="audio" autoplay onplaying="drag()" controls></audio><br><br>
95         <div id="console"></div>
96     </body>
97 </html>