Bug 1398491 - Use SpecialPowers.pushPermissions instead of Services.perms.add. r?mattn
MozReview-Commit-ID: NzlSA8Kt2t
--- a/browser/base/content/test/alerts/browser_notification_open_settings.js
+++ b/browser/base/content/test/alerts/browser_notification_open_settings.js
@@ -19,48 +19,44 @@ add_task(async function test_settingsOpe
let tab = await tabPromise;
ok(tab, "The notification settings tab opened");
await syncPaneLoadedPromise;
await BrowserTestUtils.removeTab(tab);
});
});
add_task(async function test_settingsOpen_button() {
- let pm = Services.perms;
info("Adding notification permission");
- pm.add(makeURI(notificationURL), "desktop-notification", pm.ALLOW_ACTION);
+ await new Promise(res => {
+ SpecialPowers.pushPermissions([{'type': 'desktop-notification', 'allow': true, 'context': notificationURL}], res);
+ });
- try {
- await BrowserTestUtils.withNewTab({
- gBrowser,
- url: notificationURL
- }, async function tabTask(aBrowser) {
- // Ensure preferences is loaded before removing the tab.
- let syncPaneLoadedPromise = TestUtils.topicObserved("sync-pane-loaded", () => true);
+ await BrowserTestUtils.withNewTab({
+ gBrowser,
+ url: notificationURL
+ }, async function tabTask(aBrowser) {
+ // Ensure preferences is loaded before removing the tab.
+ let syncPaneLoadedPromise = TestUtils.topicObserved("sync-pane-loaded", () => true);
- info("Waiting for notification");
- await openNotification(aBrowser, "showNotification2");
+ info("Waiting for notification");
+ await openNotification(aBrowser, "showNotification2");
- let alertWindow = Services.wm.getMostRecentWindow("alert:alert");
- if (!alertWindow) {
- ok(true, "Notifications don't use XUL windows on all platforms.");
- await closeNotification(aBrowser);
- return;
- }
-
- let closePromise = promiseWindowClosed(alertWindow);
- let tabPromise = BrowserTestUtils.waitForNewTab(gBrowser, expectedURL);
- let openSettingsMenuItem = alertWindow.document.getElementById("openSettingsMenuItem");
- openSettingsMenuItem.click();
+ let alertWindow = Services.wm.getMostRecentWindow("alert:alert");
+ if (!alertWindow) {
+ ok(true, "Notifications don't use XUL windows on all platforms.");
+ await closeNotification(aBrowser);
+ return;
+ }
- info("Waiting for notification settings tab");
- let tab = await tabPromise;
- ok(tab, "The notification settings tab opened");
+ let closePromise = promiseWindowClosed(alertWindow);
+ let tabPromise = BrowserTestUtils.waitForNewTab(gBrowser, expectedURL);
+ let openSettingsMenuItem = alertWindow.document.getElementById("openSettingsMenuItem");
+ openSettingsMenuItem.click();
- await syncPaneLoadedPromise;
- await closePromise;
- await BrowserTestUtils.removeTab(tab);
- });
- } finally {
- info("Removing notification permission");
- pm.remove(makeURI(notificationURL), "desktop-notification");
- }
+ info("Waiting for notification settings tab");
+ let tab = await tabPromise;
+ ok(tab, "The notification settings tab opened");
+
+ await syncPaneLoadedPromise;
+ await closePromise;
+ await BrowserTestUtils.removeTab(tab);
+ });
});