2011-01-21 Yury Semikhatsky <yurys@chromium.org>
authoryurys@chromium.org <yurys@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jan 2011 09:34:29 +0000 (09:34 +0000)
committeryurys@chromium.org <yurys@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jan 2011 09:34:29 +0000 (09:34 +0000)
        Reviewed by Pavel Feldman.

        Make userscripts/window-onerror-for-isolated-world-*.html give consistent output
        https://bugs.webkit.org/show_bug.cgi?id=52870

        Call setTimeout from "load" event listener to make sure exception in the setTimeout
        callback happens after the one in the listener.

        * platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt:
        * platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt:
        * userscripts/window-onerror-for-isolated-world-1-expected.txt:
        * userscripts/window-onerror-for-isolated-world-1.html:
        * userscripts/window-onerror-for-isolated-world-2-expected.txt:
        * userscripts/window-onerror-for-isolated-world-2.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76336 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt
LayoutTests/platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt
LayoutTests/userscripts/window-onerror-for-isolated-world-1-expected.txt
LayoutTests/userscripts/window-onerror-for-isolated-world-1.html
LayoutTests/userscripts/window-onerror-for-isolated-world-2-expected.txt
LayoutTests/userscripts/window-onerror-for-isolated-world-2.html

index dbc6f031c236ab0323e06eb3495c267e8a1995fe..2858298aa4b9acd593e3aafe674dff3ea5e9f246 100644 (file)
@@ -1,3 +1,20 @@
+2011-01-21  Yury Semikhatsky  <yurys@chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Make userscripts/window-onerror-for-isolated-world-*.html give consistent output
+        https://bugs.webkit.org/show_bug.cgi?id=52870
+
+        Call setTimeout from "load" event listener to make sure exception in the setTimeout
+        callback happens after the one in the listener.
+
+        * platform/chromium/userscripts/window-onerror-for-isolated-world-1-expected.txt:
+        * platform/chromium/userscripts/window-onerror-for-isolated-world-2-expected.txt:
+        * userscripts/window-onerror-for-isolated-world-1-expected.txt:
+        * userscripts/window-onerror-for-isolated-world-1.html:
+        * userscripts/window-onerror-for-isolated-world-2-expected.txt:
+        * userscripts/window-onerror-for-isolated-world-2.html:
+
 2011-01-20  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Dan Bernstein.
index 2a3d06800f525c4fb74eff818e37ded2b18d93e9..1d1f68eb9f16fc7434183767bc11389359c45d06 100644 (file)
@@ -1,14 +1,14 @@
-Test that window.onerror and "error" event listeners from main world are invoked for uncaught exceptions in user scripts running in isolate worlds as well as for exceptions in the main world.Bug 8519.\r
-\r
-Main world window.onerror: Uncaught Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:54\r
-Main world error event listener: Uncaught Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:54\r
-Main world window.onerror: Uncaught Error: Error in user script inline script. at :12\r
-Main world error event listener: Uncaught Error: Error in user script inline script. at :12\r
-Main world window.onerror: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:46\r
-Main world error event listener: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:46\r
-Main world window.onerror: Uncaught Error: Error in user script load handler. at :4\r
-Main world error event listener: Uncaught Error: Error in user script load handler. at :4\r
-Main world window.onerror: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:51\r
-Main world error event listener: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:51\r
-Main world window.onerror: Uncaught Error: Error in user script setTimeout callback. at :9\r
-Main world error event listener: Uncaught Error: Error in user script setTimeout callback. at :9\r
+Test that window.onerror and "error" event listeners from main world are invoked for uncaught exceptions in user scripts running in isolate worlds as well as for exceptions in the main world.Bug 8519.
+
+Main world window.onerror: Uncaught Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:54
+Main world error event listener: Uncaught Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:54
+Main world window.onerror: Uncaught Error: Error in user script inline script. at :12
+Main world error event listener: Uncaught Error: Error in user script inline script. at :12
+Main world window.onerror: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:50
+Main world error event listener: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:50
+Main world window.onerror: Uncaught Error: Error in user script load handler. at :8
+Main world error event listener: Uncaught Error: Error in user script load handler. at :8
+Main world window.onerror: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:48
+Main world error event listener: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:48
+Main world window.onerror: Uncaught Error: Error in user script setTimeout callback. at :6
+Main world error event listener: Uncaught Error: Error in user script setTimeout callback. at :6
index 93994db12cb08bdf164d9018ad46054b0a45190c..110d0bccf4ec20cb49e57ab04571975ccb327e61 100644 (file)
@@ -1,13 +1,13 @@
-CONSOLE MESSAGE: line 30: Uncaught Error: Error in main world inline script.\r
-Test that window.onerror and "error" event listeners from isolated world are invoked for uncaught exceptions in user scripts running in isolate worlds as well as for exceptions in the main world.Bug 8519.\r
-\r
-user script window.onerror: Uncaught Error: Error in user script inline script. at :33\r
-user script error event listener: Uncaught Error: Error in user script inline script. at :33\r
-user script window.onerror: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:23\r
-user script error event listener: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:23\r
-user script window.onerror: Uncaught Error: Error in user script load handler. at :26\r
-user script error event listener: Uncaught Error: Error in user script load handler. at :26\r
-user script window.onerror: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:27\r
-user script error event listener: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:27\r
-user script window.onerror: Uncaught Error: Error in user script setTimeout callback. at :30\r
-user script error event listener: Uncaught Error: Error in user script setTimeout callback. at :30\r
+CONSOLE MESSAGE: line 30: Uncaught Error: Error in main world inline script.
+Test that window.onerror and "error" event listeners from isolated world are invoked for uncaught exceptions in user scripts running in isolate worlds as well as for exceptions in the main world.Bug 8519.
+
+user script window.onerror: Uncaught Error: Error in user script inline script. at :33
+user script error event listener: Uncaught Error: Error in user script inline script. at :33
+user script window.onerror: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27
+user script error event listener: Uncaught Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27
+user script window.onerror: Uncaught Error: Error in user script load handler. at :30
+user script error event listener: Uncaught Error: Error in user script load handler. at :30
+user script window.onerror: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25
+user script error event listener: Uncaught Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25
+user script window.onerror: Uncaught Error: Error in user script setTimeout callback. at :28
+user script error event listener: Uncaught Error: Error in user script setTimeout callback. at :28
index 6895c412e64a4c9cc8beec1aa2b82199c50b1539..3dbb658850fc8f4846883b0155882cad279218a3 100644 (file)
@@ -4,11 +4,11 @@ Main world window.onerror: Error: Error in main world inline script. at window-o
 Main world error event listener: Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:54
 Main world window.onerror: Error: Error in user script inline script. at undefined:11
 Main world error event listener: Error: Error in user script inline script. at undefined:11
-Main world window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:46
-Main world error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:46
-Main world window.onerror: Error: Error in user script load handler. at undefined:3
-Main world error event listener: Error: Error in user script load handler. at undefined:3
-Main world window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:51
-Main world error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:51
-Main world window.onerror: Error: Error in user script setTimeout callback. at undefined:8
-Main world error event listener: Error: Error in user script setTimeout callback. at undefined:8
+Main world window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:50
+Main world error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:50
+Main world window.onerror: Error: Error in user script load handler. at undefined:7
+Main world error event listener: Error: Error in user script load handler. at undefined:7
+Main world window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:48
+Main world error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:48
+Main world window.onerror: Error: Error in user script setTimeout callback. at undefined:5
+Main world error event listener: Error: Error in user script setTimeout callback. at undefined:5
index 3c6bac228352fb2efb88644cb0c524bf69e6d90b..e198ec96571ae1b86e2093a934d20f0805547ba1 100644 (file)
@@ -43,14 +43,14 @@ window.addEventListener("error", function(e)
 var exceptions = function(isolatedWorld)
 {
     window.addEventListener("load", function(e) {
+        // Do the following call from load listener to make sure error in the setTimeout callback always happens after the error in this listener.
+        setTimeout(function() {
+            throw new Error("Error in " + isolatedWorld + " setTimeout callback.");
+        }, 0);
         throw new Error("Error in " + isolatedWorld + " load handler.");
     }, false);
 
 
-    setTimeout(function() {
-        throw new Error("Error in " + isolatedWorld + " setTimeout callback.");
-    }, 0);
-
     throw new Error("Error in "+ isolatedWorld + " inline script.");
 }
 
index b909a9975bffa61270fbe48ff54f48b79a289a2d..cdd8fec638be80b7d0871f943b4b743ea9340520 100644 (file)
@@ -3,11 +3,11 @@ Test that window.onerror and "error" event listeners from isolated world are inv
 
 user script window.onerror: Error: Error in user script inline script. at undefined:31
 user script error event listener: Error: Error in user script inline script. at undefined:31
-user script window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:23
-user script error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:23
-user script window.onerror: Error: Error in user script load handler. at undefined:24
-user script error event listener: Error: Error in user script load handler. at undefined:24
-user script window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:27
-user script error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:27
-user script window.onerror: Error: Error in user script setTimeout callback. at undefined:28
-user script error event listener: Error: Error in user script setTimeout callback. at undefined:28
+user script window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27
+user script error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27
+user script window.onerror: Error: Error in user script load handler. at undefined:28
+user script error event listener: Error: Error in user script load handler. at undefined:28
+user script window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25
+user script error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25
+user script window.onerror: Error: Error in user script setTimeout callback. at undefined:26
+user script error event listener: Error: Error in user script setTimeout callback. at undefined:26
index a6ec699f8c60bb524d91448b57ad732acdac0911..8a2ddacc45fdb93b00562ee2fc541ca427b7b55f 100644 (file)
@@ -20,12 +20,12 @@ document.getElementById("console").addEventListener("DOMNodeInserted", function(
 var throwExceptions = function(isolatedWorld)
 {
     window.addEventListener("load", function(e) {
+        // Do the following call from load listener to make sure error in the setTimeout callback always happens after the error in this listener.
+        setTimeout(function() {
+            throw new Error("Error in " + isolatedWorld + " setTimeout callback.");
+        }, 0);
         throw new Error("Error in " + isolatedWorld + " load handler.");
     }, false);
-
-    setTimeout(function() {
-        throw new Error("Error in " + isolatedWorld + " setTimeout callback.");
-    }, 0);
     
     throw new Error("Error in "+ isolatedWorld + " inline script.");
 };