summaryrefslogtreecommitdiff
path: root/runtime/js/40_permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/40_permissions.js')
-rw-r--r--runtime/js/40_permissions.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/js/40_permissions.js b/runtime/js/40_permissions.js
index 8e57a5b5a..019e65446 100644
--- a/runtime/js/40_permissions.js
+++ b/runtime/js/40_permissions.js
@@ -8,6 +8,7 @@
Deno: { core },
__bootstrap: { webUtil: { illegalConstructorKey } },
} = window;
+ const { pathFromURL } = window.__bootstrap.util;
const {
ArrayPrototypeIncludes,
Map,
@@ -161,6 +162,17 @@
),
);
}
+
+ if (desc.name === "read" || desc.name === "write") {
+ desc.path = pathFromURL(desc.path);
+ } else if (desc.name === "run") {
+ desc.command = pathFromURL(desc.command);
+ } else if (desc.name === "net") {
+ if (desc.host instanceof URL) {
+ desc.host = desc.host.host;
+ }
+ }
+
const state = opQuery(desc);
return PromiseResolve(cache(desc, state));
}
@@ -173,6 +185,17 @@
),
);
}
+
+ if (desc.name === "read" || desc.name === "write") {
+ desc.path = pathFromURL(desc.path);
+ } else if (desc.name === "run") {
+ desc.command = pathFromURL(desc.command);
+ } else if (desc.name === "net") {
+ if (desc.host instanceof URL) {
+ desc.host = desc.host.host;
+ }
+ }
+
const state = opRevoke(desc);
return PromiseResolve(cache(desc, state));
}
@@ -185,6 +208,17 @@
),
);
}
+
+ if (desc.name === "read" || desc.name === "write") {
+ desc.path = pathFromURL(desc.path);
+ } else if (desc.name === "run") {
+ desc.command = pathFromURL(desc.command);
+ } else if (desc.name === "net") {
+ if (desc.host instanceof URL) {
+ desc.host = desc.host.host;
+ }
+ }
+
const state = opRequest(desc);
return PromiseResolve(cache(desc, state));
}