diff options
author | Leo K <crowlkats@toaxl.com> | 2021-08-06 15:04:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-06 15:04:00 +0200 |
commit | 15b0e61de523c1a0157e754379f0ec7decf0c23e (patch) | |
tree | 4d3aed3e1b80dbe38e70dad363c64532656c7e5a /runtime/js/40_permissions.js | |
parent | b6b71c3d590722117db04fda7362d3b23245c3c3 (diff) |
feat(runtime): allow URL for permissions (#11578)
Diffstat (limited to 'runtime/js/40_permissions.js')
-rw-r--r-- | runtime/js/40_permissions.js | 34 |
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)); } |