Title: [120138] trunk/LayoutTests
Revision
120138
Author
beid...@apple.com
Date
2012-06-12 16:40:04 -0700 (Tue, 12 Jun 2012)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=88928
[WK2] New http/tests/loading/* tests fail

There's some latent timing issue with WK2 tests that prevents us from getting the last load delegate callback
before finishing the test.

Fortunately for the sake of these tests the load delegate dumps are entirely irrelevant.
Moving them from http/tests/loading to http/tests/misc and getting new, cleaner results fixes this.

Rubberstamped by Darin Adler.

* http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/embed-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/image-input-type-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html.
* http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html.
* http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/object-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/resources/slowimage.php: Renamed from LayoutTests/http/tests/loading/resources/slowimage.php.
* http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/svg-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html.
* http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt.
* http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (120137 => 120138)


--- trunk/LayoutTests/ChangeLog	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/ChangeLog	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,3 +1,30 @@
+2012-06-12  Brady Eidson  <beid...@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=88928
+        [WK2] New http/tests/loading/* tests fail
+
+        There's some latent timing issue with WK2 tests that prevents us from getting the last load delegate callback
+        before finishing the test.
+
+        Fortunately for the sake of these tests the load delegate dumps are entirely irrelevant.
+        Moving them from http/tests/loading to http/tests/misc and getting new, cleaner results fixes this.
+
+        Rubberstamped by Darin Adler.
+
+        * http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/embed-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html.
+        * http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/image-input-type-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html.
+        * http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html.
+        * http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/object-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html.
+        * http/tests/misc/resources/slowimage.php: Renamed from LayoutTests/http/tests/loading/resources/slowimage.php.
+        * http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/svg-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html.
+        * http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt.
+        * http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html: Renamed from LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html.
+
 2012-06-12  Filip Pizlo  <fpi...@apple.com>
 
         DFG should not ASSERT if you have a double use of a variable that is not revealed to be a double

Deleted: trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-This has an embed element representing an image. That embed 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.
-

Deleted: trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,53 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-This has an embed element representing an image.  That embed 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>
-<div id="thediv">
-<embed type="image/gif" src=""
-</embed>
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Deleted: trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-This test has a form with an input type=image element in it. The form 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.
-

Deleted: trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,54 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-This test has a form with an input type=image element in it.  The form 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>
-<div id="thediv">
-<form>
-<input type="image" src=""
-</form>
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Deleted: trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-This test has an image inside 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.
-

Deleted: trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,52 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-This test has an image inside 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>
-<div id="thediv">
-<img src=""
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Deleted: trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-This has an object element representing an image. That object 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.
-

Deleted: trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,53 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-This has an object element representing an image.  That object 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>
-<div id="thediv">
-<object type="image/gif" data=""
-</object>
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Deleted: trunk/LayoutTests/http/tests/loading/resources/slowimage.php (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/resources/slowimage.php	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/resources/slowimage.php	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,5 +0,0 @@
-<?php
-sleep(30);
-header('Cache-Control: no-cache, must-revalidate');
-header('Location: data:image/gif;base64,R0lGODlhAQABAJAAAMjIyAAAACwAAAAAAQABAAACAgQBADs%3D');
-?>

Deleted: trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-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.
-

Deleted: trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,54 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-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>
-<div id="thediv">
-<svg>
-<image xlink:href="" />
-</svg>
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Deleted: trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,6 +0,0 @@
-main frame - didStartProvisionalLoadForFrame
-main frame - didCommitLoadForFrame
-main frame - didFinishDocumentLoadForFrame
-main frame - didFailLoadWithError
-This has a video element with an image for its poster frame. That video 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.
-

Deleted: trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html (120137 => 120138)


--- trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html	2012-06-12 23:16:51 UTC (rev 120137)
+++ trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -1,53 +0,0 @@
-<script>
-
-if (window.layoutTestController) {
-	layoutTestController.waitUntilDone();
-	layoutTestController.dumpAsText();
-}
-
-function loaded() {
-	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
-	alert("FAIL: The load event fired");
-	
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-</script>
-<body _onload_="loaded();">
-
-This has a video element with an image for its poster frame.  That video 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>
-<div id="thediv">
-<video poster="resources/slowimage.php">
-</video>
-</div>
-</body>
-<script>
-
-function finished() {
-	window.stop()
-	if (window.layoutTestController)
-		layoutTestController.notifyDone();
-}
-
-function forceGC() {
-    if (this.GCController)
-        GCController.collect();
-    else {
-        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
-            ({});
-	}
-
-	setTimeout("finished();", 0);
-}
-
-function removeTheDiv() {
-	var element = window.document.getElementById("thediv");
-	element.parentNode.removeChild(element);
-	element = null;
-	setTimeout("forceGC();", 0);
-}
-
-setTimeout("removeTheDiv();", 0);
-
-</script>

Copied: trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+This has an embed element representing an image. That embed 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.
+

Copied: trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/embed-image-load-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/embed-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,53 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+This has an embed element representing an image.  That embed 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>
+<div id="thediv">
+<embed type="image/gif" src=""
+</embed>
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>

Copied: trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+This test has a form with an input type=image element in it. The form 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.
+

Copied: trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/image-input-type-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/image-input-type-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,54 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+This test has a form with an input type=image element in it.  The form 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>
+<div id="thediv">
+<form>
+<input type="image" src=""
+</form>
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>

Copied: trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+This test has an image inside 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.
+

Copied: trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/image-load-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,52 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+This test has an image inside 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>
+<div id="thediv">
+<img src=""
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>

Copied: trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+This has an object element representing an image. That object 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.
+

Copied: trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/object-image-load-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/object-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,53 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+This has an object element representing an image.  That object 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>
+<div id="thediv">
+<object type="image/gif" data=""
+</object>
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>

Copied: trunk/LayoutTests/http/tests/misc/resources/slowimage.php (from rev 120137, trunk/LayoutTests/http/tests/loading/resources/slowimage.php) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/resources/slowimage.php	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/resources/slowimage.php	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,5 @@
+<?php
+sleep(30);
+header('Cache-Control: no-cache, must-revalidate');
+header('Location: data:image/gif;base64,R0lGODlhAQABAJAAAMjIyAAAACwAAAAAAQABAAACAgQBADs%3D');
+?>

Copied: trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+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.
+

Copied: trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/svg-image-load-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/svg-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,54 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+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>
+<div id="thediv">
+<svg>
+<image xlink:href="" />
+</svg>
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>

Copied: trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt (from rev 120137, trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing-expected.txt	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,2 @@
+This has a video element with an image for its poster frame. That video 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.
+

Copied: trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html (from rev 120137, trunk/LayoutTests/http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html) (0 => 120138)


--- trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/misc/video-poster-image-load-outlives-gc-without-crashing.html	2012-06-12 23:40:04 UTC (rev 120138)
@@ -0,0 +1,53 @@
+<script>
+
+if (window.layoutTestController) {
+	layoutTestController.waitUntilDone();
+	layoutTestController.dumpAsText();
+}
+
+function loaded() {
+	// If the garbage collection causes the image load to stop and therefore causes the load event to fire on the main frame, we failed.
+	alert("FAIL: The load event fired");
+	
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+</script>
+<body _onload_="loaded();">
+
+This has a video element with an image for its poster frame.  That video 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>
+<div id="thediv">
+<video poster="resources/slowimage.php">
+</video>
+</div>
+</body>
+<script>
+
+function finished() {
+	window.stop()
+	if (window.layoutTestController)
+		layoutTestController.notifyDone();
+}
+
+function forceGC() {
+    if (this.GCController)
+        GCController.collect();
+    else {
+        for (var i = 0; i < 10000; ++i) // Allocate a sufficient number of objects to force a GC.
+            ({});
+	}
+
+	setTimeout("finished();", 0);
+}
+
+function removeTheDiv() {
+	var element = window.document.getElementById("thediv");
+	element.parentNode.removeChild(element);
+	element = null;
+	setTimeout("forceGC();", 0);
+}
+
+setTimeout("removeTheDiv();", 0);
+
+</script>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to