summaryrefslogtreecommitdiffstats
path: root/extensions/permissions/test/browser_permmgr_viewsrc.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/permissions/test/browser_permmgr_viewsrc.js')
-rw-r--r--extensions/permissions/test/browser_permmgr_viewsrc.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/extensions/permissions/test/browser_permmgr_viewsrc.js b/extensions/permissions/test/browser_permmgr_viewsrc.js
new file mode 100644
index 0000000000..64dcb0413c
--- /dev/null
+++ b/extensions/permissions/test/browser_permmgr_viewsrc.js
@@ -0,0 +1,28 @@
+add_task(async function () {
+ // Add a permission for example.com, start a new content process, and make
+ // sure that the permission has been sent down.
+ let principal =
+ Services.scriptSecurityManager.createContentPrincipalFromOrigin(
+ "https://example.com"
+ );
+ Services.perms.addFromPrincipal(
+ principal,
+ "viewsourceTestingPerm",
+ Services.perms.ALLOW_ACTION
+ );
+
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ "view-source:https://example.com",
+ /* waitForLoad */ true,
+ /* waitForStateStop */ false,
+ /* forceNewProcess */ true
+ );
+ await SpecialPowers.spawn(tab.linkedBrowser, [principal], async function (p) {
+ is(
+ Services.perms.testPermissionFromPrincipal(p, "viewsourceTestingPerm"),
+ Services.perms.ALLOW_ACTION
+ );
+ });
+ BrowserTestUtils.removeTab(tab);
+});