summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/alerts/browser_notification_remove_permission.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/alerts/browser_notification_remove_permission.js')
-rw-r--r--browser/base/content/test/alerts/browser_notification_remove_permission.js72
1 files changed, 0 insertions, 72 deletions
diff --git a/browser/base/content/test/alerts/browser_notification_remove_permission.js b/browser/base/content/test/alerts/browser_notification_remove_permission.js
deleted file mode 100644
index bd36faeae..000000000
--- a/browser/base/content/test/alerts/browser_notification_remove_permission.js
+++ /dev/null
@@ -1,72 +0,0 @@
-"use strict";
-
-var tab;
-var notificationURL = "http://example.org/browser/browser/base/content/test/alerts/file_dom_notifications.html";
-var alertWindowClosed = false;
-var permRemoved = false;
-
-function test () {
- waitForExplicitFinish();
-
- let pm = Services.perms;
- registerCleanupFunction(function() {
- pm.remove(makeURI(notificationURL), "desktop-notification");
- gBrowser.removeTab(tab);
- window.restore();
- });
-
- pm.add(makeURI(notificationURL), "desktop-notification", pm.ALLOW_ACTION);
-
- tab = gBrowser.addTab(notificationURL);
- gBrowser.selectedTab = tab;
- tab.linkedBrowser.addEventListener("load", onLoad, true);
-}
-
-function onLoad() {
- tab.linkedBrowser.removeEventListener("load", onLoad, true);
- openNotification(tab.linkedBrowser, "showNotification2").then(onAlertShowing);
-}
-
-function onAlertShowing() {
- info("Notification alert showing");
-
- let alertWindow = Services.wm.getMostRecentWindow("alert:alert");
- if (!alertWindow) {
- ok(true, "Notifications don't use XUL windows on all platforms.");
- closeNotification(tab.linkedBrowser).then(finish);
- return;
- }
- ok(Services.perms.testExactPermission(makeURI(notificationURL), "desktop-notification"),
- "Permission should exist prior to removal");
- let disableForOriginMenuItem = alertWindow.document.getElementById("disableForOriginMenuItem");
- is(disableForOriginMenuItem.localName, "menuitem", "menuitem found");
- Services.obs.addObserver(permObserver, "perm-changed", false);
- alertWindow.addEventListener("beforeunload", onAlertClosing);
- disableForOriginMenuItem.click();
- info("Clicked on disable-for-origin menuitem")
-}
-
-function permObserver(subject, topic, data) {
- if (topic != "perm-changed") {
- return;
- }
-
- let permission = subject.QueryInterface(Ci.nsIPermission);
- is(permission.type, "desktop-notification", "desktop-notification permission changed");
- is(data, "deleted", "desktop-notification permission deleted");
-
- Services.obs.removeObserver(permObserver, "perm-changed");
- permRemoved = true;
- if (alertWindowClosed) {
- finish();
- }
-}
-
-function onAlertClosing(event) {
- event.target.removeEventListener("beforeunload", onAlertClosing);
-
- alertWindowClosed = true;
- if (permRemoved) {
- finish();
- }
-}