Use testRunner instead of layoutTestController in tests still found to be using layou...
[WebKit-https.git] / LayoutTests / http / tests / misc / svg-image-load-outlives-gc-without-crashing.html
1 <script>
2
3 if (window.testRunner) {
4         testRunner.waitUntilDone();
5         testRunner.dumpAsText();
6 }
7
8 function loaded() {
9         // If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
10         alert("FAIL: The load event fired");
11         
12         if (window.testRunner)
13                 testRunner.notifyDone();
14 }
15
16 </script>
17 <body onload="loaded();">
18
19 This has an svg element that contains an svg image element.  That svg element is wrapped in a div.  It removes the div, forces garbage collection, and makes sure that the window load event does not fire.  It also makes sure there is no crash.<br>
20 <div id="thediv">
21 <svg>
22 <image xlink:href="resources/slowimage.php" />
23 </svg>
24 </div>
25 </body>
26 <script>
27
28 function finished() {
29         window.stop()
30         if (window.testRunner)
31                 testRunner.notifyDone();
32 }
33
34 function forceGC() {
35     if (this.GCController)
36         GCController.collect();
37     else {
38         for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
39             ({});
40         }
41
42         setTimeout("finished();", 0);
43 }
44
45 function removeTheDiv() {
46         var element = window.document.getElementById("thediv");
47         element.parentNode.removeChild(element);
48         element = null;
49         setTimeout("forceGC();", 0);
50 }
51
52 setTimeout("removeTheDiv();", 0);
53
54 </script>