Bug 1946184 - Fix computing the CSD margin right after calling HideWindowChrome(...
[gecko.git] / dom / quota / test / browser / browser_permissionsPromptDeny.js
blob927cbdd07418fc86b05c3d899c56ce00cd1fa0c7
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 */
6 const testPageURL =
7 "https://example.com/browser/dom/quota/test/browser/permissionsPrompt.html";
9 addTest(async function testPermissionTemporaryDenied() {
10 registerPopupEventHandler("popupshowing", function () {
11 ok(true, "prompt showing");
12 });
13 registerPopupEventHandler("popupshown", function () {
14 ok(true, "prompt shown");
15 triggerSecondaryCommand(this);
16 });
17 registerPopupEventHandler("popuphidden", function () {
18 ok(true, "prompt hidden");
19 });
21 info("Creating tab");
22 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
24 info("Loading test page: " + testPageURL);
25 BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, testPageURL);
26 await waitForMessage(false, gBrowser);
28 is(
29 getPermission(testPageURL, "persistent-storage"),
30 Ci.nsIPermissionManager.UNKNOWN_ACTION,
31 "Correct permission set"
34 let tempBlock = SitePermissions.getAllForBrowser(
35 gBrowser.selectedBrowser
36 ).find(
37 p =>
38 p.id == "persistent-storage" &&
39 p.state == SitePermissions.BLOCK &&
40 p.scope == SitePermissions.SCOPE_TEMPORARY
42 ok(tempBlock, "Should have a temporary block permission on active browser");
44 unregisterAllPopupEventHandlers();
45 gBrowser.removeCurrentTab();
46 removePermission(testPageURL, "persistent-storage");
47 });
49 addTest(async function testPermissionDenied() {
50 removePermission(testPageURL, "persistent-storage");
52 registerPopupEventHandler("popupshowing", function () {
53 ok(true, "prompt showing");
54 });
55 registerPopupEventHandler("popupshown", function () {
56 ok(true, "prompt shown");
57 triggerSecondaryCommand(this, /* remember = */ true);
58 });
59 registerPopupEventHandler("popuphidden", function () {
60 ok(true, "prompt hidden");
61 });
63 info("Creating tab");
64 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
66 info("Loading test page: " + testPageURL);
67 BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, testPageURL);
68 await waitForMessage(false, gBrowser);
70 is(
71 getPermission(testPageURL, "persistent-storage"),
72 Ci.nsIPermissionManager.DENY_ACTION,
73 "Correct permission set"
75 unregisterAllPopupEventHandlers();
76 gBrowser.removeCurrentTab();
77 // Keep persistent-storage permission for the next test.
78 });
80 addTest(async function testNoPermissionPrompt() {
81 registerPopupEventHandler("popupshowing", function () {
82 ok(false, "Shouldn't show a popup this time");
83 });
84 registerPopupEventHandler("popupshown", function () {
85 ok(false, "Shouldn't show a popup this time");
86 });
87 registerPopupEventHandler("popuphidden", function () {
88 ok(false, "Shouldn't show a popup this time");
89 });
91 info("Creating tab");
92 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
94 info("Loading test page: " + testPageURL);
95 BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, testPageURL);
96 await waitForMessage(false, gBrowser);
98 is(
99 getPermission(testPageURL, "persistent-storage"),
100 Ci.nsIPermissionManager.DENY_ACTION,
101 "Correct permission set"
103 unregisterAllPopupEventHandlers();
104 gBrowser.removeCurrentTab();
105 removePermission(testPageURL, "persistent-storage");
108 addTest(async function testPermissionDeniedDismiss() {
109 registerPopupEventHandler("popupshowing", function () {
110 ok(true, "prompt showing");
112 registerPopupEventHandler("popupshown", function () {
113 ok(true, "prompt shown");
114 // Dismiss permission prompt.
115 dismissNotification(this);
117 registerPopupEventHandler("popuphidden", function () {
118 ok(true, "prompt hidden");
121 info("Creating tab");
122 gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
124 info("Loading test page: " + testPageURL);
125 BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, testPageURL);
126 await waitForMessage(false, gBrowser);
128 // Pressing ESC results in a temporary block permission on the browser object.
129 // So the global permission for the URL should still be unknown, but the browser
130 // should have a block permission with a temporary scope.
132 getPermission(testPageURL, "persistent-storage"),
133 Ci.nsIPermissionManager.UNKNOWN_ACTION,
134 "Correct permission set"
137 let tempBlock = SitePermissions.getAllForBrowser(
138 gBrowser.selectedBrowser
139 ).find(
140 p =>
141 p.id == "persistent-storage" &&
142 p.state == SitePermissions.BLOCK &&
143 p.scope == SitePermissions.SCOPE_TEMPORARY
145 ok(tempBlock, "Should have a temporary block permission on active browser");
147 unregisterAllPopupEventHandlers();
148 gBrowser.removeCurrentTab();
149 removePermission(testPageURL, "persistent-storage");