<!DOCTYPE html>
<html>
<head>
<script src="/resources/js-test-pre.js"></script>
<script src="/resources/notifications-test-pre.js"></script>
</head>
<body>
<script>
if (!window.Notification)
    testFailed("window.Notification does not exist.");

window.Notification.requestPermission();
testPassed("Notification.requestPermission does not crash.");

testRunner.grantWebNotificationPermission(testURL);
window.Notification.requestPermission();
testPassed("Notification.requestPermission does not crash.");

testRunner.denyWebNotificationPermission(testURL);
window.Notification.requestPermission();
testPassed("Notification.requestPermission does not crash.");
</script>
<script src="/resources/js-test-post.js"></script>
</body>
</html>
