summaryrefslogtreecommitdiffstats
path: root/remote/marionette/permissions.sys.mjs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
commit59203c63bb777a3bacec32fb8830fba33540e809 (patch)
tree58298e711c0ff0575818c30485b44a2f21bf28a0 /remote/marionette/permissions.sys.mjs
parentAdding upstream version 126.0.1. (diff)
downloadfirefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz
firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'remote/marionette/permissions.sys.mjs')
-rw-r--r--remote/marionette/permissions.sys.mjs95
1 files changed, 0 insertions, 95 deletions
diff --git a/remote/marionette/permissions.sys.mjs b/remote/marionette/permissions.sys.mjs
deleted file mode 100644
index 5238bf8347..0000000000
--- a/remote/marionette/permissions.sys.mjs
+++ /dev/null
@@ -1,95 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const lazy = {};
-
-ChromeUtils.defineESModuleGetters(lazy, {
- error: "chrome://remote/content/shared/webdriver/Errors.sys.mjs",
- MarionettePrefs: "chrome://remote/content/marionette/prefs.sys.mjs",
-});
-
-/** @namespace */
-export const permissions = {};
-
-function mapToInternalPermissionParameters(browsingContext, permissionType) {
- const currentURI = browsingContext.currentWindowGlobal.documentURI;
-
- // storage-access is quite special...
- if (permissionType === "storage-access") {
- const thirdPartyPrincipalSite = Services.eTLD.getSite(currentURI);
-
- const topLevelURI = browsingContext.top.currentWindowGlobal.documentURI;
- const topLevelPrincipal =
- Services.scriptSecurityManager.createContentPrincipal(topLevelURI, {});
-
- return {
- name: "3rdPartyFrameStorage^" + thirdPartyPrincipalSite,
- principal: topLevelPrincipal,
- };
- }
-
- const currentPrincipal =
- Services.scriptSecurityManager.createContentPrincipal(currentURI, {});
-
- return {
- name: permissionType,
- principal: currentPrincipal,
- };
-}
-
-/**
- * Set a permission's state.
- * Note: Currently just a shim to support testdriver's set_permission.
- *
- * @param {object} permissionType
- * The Gecko internal permission type
- * @param {string} state
- * State of the permission. It can be `granted`, `denied` or `prompt`.
- * @param {boolean} oneRealm
- * Currently ignored
- * @param {browsingContext=} browsingContext
- * Current browsing context object
- * @throws {UnsupportedOperationError}
- * If `marionette.setpermission.enabled` is not set or
- * an unsupported permission is used.
- */
-permissions.set = function (permissionType, state, oneRealm, browsingContext) {
- if (!lazy.MarionettePrefs.setPermissionEnabled) {
- throw new lazy.error.UnsupportedOperationError(
- "'Set Permission' is not available"
- );
- }
-
- const { name, principal } = mapToInternalPermissionParameters(
- browsingContext,
- permissionType
- );
-
- switch (state) {
- case "granted": {
- Services.perms.addFromPrincipal(
- principal,
- name,
- Services.perms.ALLOW_ACTION
- );
- return;
- }
- case "denied": {
- Services.perms.addFromPrincipal(
- principal,
- name,
- Services.perms.DENY_ACTION
- );
- return;
- }
- case "prompt": {
- Services.perms.removeFromPrincipal(principal, name);
- return;
- }
- default:
- throw new lazy.error.UnsupportedOperationError(
- "Unrecognized permission keyword for 'Set Permission' operation"
- );
- }
-};