blob: 4157de173d904ac54f0a8d6215c3ab3d6a541932 [file] [log] [blame]
This test ensures that exceptions are handled correctly by the various callback mechanisms present in WebCore.
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
testRunner.setGeolocationPermission(true);
testRunner.setMockGeolocationPositionUnavailableError('error');
}
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(rafTest, 0);
throw errorObject("event handler");
}
function rafTest() {
requestAnimationFrame(function() {
setTimeout(getCurrentPositionTest, 0);
throw errorObject("request animation callback");
});
}
function getCurrentPositionTest() {
navigator.geolocation.getCurrentPosition(function(position) {
setTimeout(timerTest, 0);
console.log('FAIL: getCurrentPosition unexpectedly succeeded.');
}, function(error) {
setTimeout(timerTest, 0);
throw errorObject("position callback");
});
}
function timerTest() {
if (window.testRunner)
setTimeout("testRunner.notifyDone()", 0);
throw errorObject("timer");
}
window.onload = eventTest;
</script>