This test ensures that exceptions are handled correctly by the various callback mechanisms present in WebCore. <script> if (window.testRunner) { testRunner.dumpAsText(); testRunner.waitUntilDone(); } var db = openDatabase("exception-info-test", "1.0", "Test for exception information thrown by callbacks and timers", 1); function errorObject(msg) { return { message: "FAIL: message incorrectly pulled from thrown object in " + msg, toString: function() {return "PASS: toString called on exception value thrown from " + msg} } } function eventTest() { setTimeout(dbTransactionTest, 0); throw errorObject("event handler"); } function dbTransactionTest() { db.transaction(function(tx) { setTimeout(dbStatementTest, 0); throw errorObject("sql transaction callback"); }); } function dbStatementTest() { db.transaction( function(tx) { tx.executeSql("I am bogus syntax", [], function() { }, function(tx, error) { setTimeout(timerTest, 0); throw errorObject("sql error callback"); }); }); } function timerTest() { if (window.testRunner) setTimeout("testRunner.notifyDone()", 0); throw errorObject("timer"); } window.onload = eventTest; </script>