- add third_party src.
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / media / media-source / webkitmediasource-closed-on-htmlmediaelement-destruction.html
1 <!DOCTYPE html>
2 <html>
3     <head>
4       <script src="/media-resources/video-test.js"></script>
5       <script src="webkitmediasource-util.js"></script>
6
7       <script>
8           var ms = new WebKitMediaSource();
9
10           function sourceOpened()
11           {
12               consoleWrite("sourceOpened called.");
13               var vid = document.getElementById('vid');
14               var buffer = ms.addSourceBuffer('video/webm; codecs="vorbis,vp8"');
15
16               MediaSourceTest.expectSourceState(ms, "open");
17
18               consoleWrite("Removing video element from DOM.");
19               vid.parentNode.removeChild(vid);
20               vid = null;
21
22               consoleWrite("Running the garbage collector.");
23               gc();
24
25               MediaSourceTest.expectSourceState(ms, "closed");
26
27               try {
28                   buffer.timestampOffset = 42;
29                   failTest("Expected an exception");
30               } catch (e) {
31                   consoleWrite("Setting timestampOffset failed as expected: " + e.name);
32               }
33           }
34
35           function sourceClosed()
36           {
37               consoleWrite("sourceClosed called.");
38               endTest();
39           }
40
41           function onLoad()
42           {
43               waitForEventAndFail('error');
44
45               ms.addEventListener('webkitsourceopen', sourceOpened);
46               ms.addEventListener('webkitsourceclose', sourceClosed);
47
48               document.getElementById('vid').src = window.URL.createObjectURL(ms);
49           }
50       </script>
51     </head>
52     <body onload="onLoad()">
53       <video id="vid"></video>
54       <p>Tests that the MediaSource is closed when the HTMLMediaElement is destroyed.</p>
55     </body>
56 </html>