Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / media / media-query-listener-gc.html
1 <!DOCTYPE html>
2 <script src="../../resources/js-test.js"></script>
3
4 <div id="sandbox"></div>
5
6 <script>
7     description("Media query listeners should work even after gc.");
8     var jsTestIsAsync = true;
9
10     var sandbox = document.getElementById("sandbox");
11     var iframe = document.createElement("iframe");
12     sandbox.appendChild(iframe);
13
14     var matchMedia = iframe.contentWindow.matchMedia;
15     var mediaList1 = matchMedia("(max-width: 100px)");
16
17     var listenersCalled = [];
18
19     function makeListener(label) {
20         return function() { listenersCalled.push(label); };
21     }
22
23     mediaList1.addListener(makeListener("mediaList1_1"));
24     mediaList1.addListener(verifyResult);
25     mediaList1 = null;
26     gc();
27     iframe.style.width = "200px";
28
29     var expectedResult = ["mediaList1_1"];
30     function verifyResult() {
31         shouldBe("listenersCalled", "expectedResult");
32         finishJSTest();
33     }
34 </script>
35