Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / media / gc-while-network-loading.html
1 <!DOCTYPE html>
2 <title>GC while networkState is NETWORK_LOADING</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
5 <script src="../../media-resources/media-file.js"></script>
6 <script>
7 async_test(function(t)
8 {
9     var v = document.createElement("video");
10     v.foo = "bar";
11     var mediaFile = findMediaFile("video", "../../../media/content/test");
12     var type = mimeTypeForExtension(mediaFile.split(".").pop());
13     v.src = "http://127.0.0.1:8000/media/video-throttled-load.cgi?name=" + mediaFile + "&throttle=50&type=" + type;
14     v.onloadeddata = t.step_func(function()
15     {
16         assert_equals(v.networkState, v.NETWORK_LOADING);
17         // The delaying-the-load-event flag is now false.
18         // Continue after a timeout since the current event target is the media
19         // element, which means that it cannot be garbage collected now.
20         setTimeout(t.step_func(gcAndAwaitProgress), 0);
21     });
22     function gcAndAwaitProgress()
23     {
24         v.onprogress = t.step_func(function(e)
25         {
26             assert_equals(e.target.foo, "bar");
27             t.done();
28         });
29         v = null;
30         gc();
31     }
32 });
33 </script>