Index: LayoutTests/fast/notifications/notifications-document-close-crash.html |
diff --git a/LayoutTests/fast/notifications/notifications-document-close-crash.html b/LayoutTests/fast/notifications/notifications-document-close-crash.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..37ac369217f95fc7799d0a2a80db59ceb3675af0 |
--- /dev/null |
+++ b/LayoutTests/fast/notifications/notifications-document-close-crash.html |
@@ -0,0 +1,50 @@ |
+<html> |
+ <body> |
+ <div id="result"></div> |
+ <script> |
+ if (window.testRunner) |
+ { |
+ testRunner.dumpAsText(); |
+ testRunner.setCanOpenWindows(); |
+ testRunner.grantWebNotificationPermission("file://"); |
+ testRunner.waitUntilDone(); |
+ } |
+ |
+ if (!window.webkitNotifications) { |
+ log("FAIL: No webkitNotifications interface!"); |
+ } |
+ |
+ var target = window.open("about:blank"); |
+ var notification = target.webkitNotifications; |
+ target.location.reload(); |
+ var timer = setInterval("crash()", 60); |
+ setTimeout("finish()", 100); |
+ |
+ function crash() |
+ { |
+ var a = []; |
+ for (var i = 0; i < 0x100; i++) |
+ { |
+ try |
+ { |
+ a.push(new WebGLByteArray()); |
+ } |
+ catch (e) {} |
+ a.push(Array(i).join("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")); |
+ } |
+ delete a; |
+ notification.requestPermission(); |
+ } |
+ |
+ function finish() |
+ { |
+ clearInterval(timer); |
+ document.getElementById("result").innerHTML = "PASS"; |
+ target.close(); |
+ if (window.testRunner) |
+ testRunner.notifyDone(); |
+ } |
+ </script> |
+ </body> |
+</html> |
+ |