From fac64478157ee563b185edb5734688e4523df3a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Sat, 7 Jan 2023 17:25:34 +0100 Subject: refactor(permissions): add PermissionsContainer struct for internal mutability (#17134) Turns out we were cloning permissions which after prompting were discarded, so the state of permissions was never preserved. To handle that we need to store all permissions behind "Arc>" (because there are situations where we need to send them to other thread). Testing and benching code still uses "Permissions" in most places - it's undesirable to share the same permission set between various test/bench files - otherwise granting or revoking permissions in one file would influence behavior of other test files. --- cli/build.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'cli/build.rs') diff --git a/cli/build.rs b/cli/build.rs index faeaed073..b4acc0d1d 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -7,7 +7,7 @@ use std::path::PathBuf; use deno_core::snapshot_util::*; use deno_core::Extension; use deno_runtime::deno_cache::SqliteBackedCache; -use deno_runtime::permissions::Permissions; +use deno_runtime::permissions::PermissionsContainer; use deno_runtime::*; mod ts { @@ -294,13 +294,13 @@ fn create_cli_snapshot(snapshot_path: PathBuf, files: Vec) { deno_console::init(), deno_url::init(), deno_tls::init(), - deno_web::init::( + deno_web::init::( deno_web::BlobStore::default(), Default::default(), ), - deno_fetch::init::(Default::default()), + deno_fetch::init::(Default::default()), deno_cache::init::(None), - deno_websocket::init::("".to_owned(), None, None), + deno_websocket::init::("".to_owned(), None, None), deno_webstorage::init(None), deno_crypto::init(None), deno_webgpu::init(false), @@ -308,15 +308,15 @@ fn create_cli_snapshot(snapshot_path: PathBuf, files: Vec) { deno_broadcast_channel::InMemoryBroadcastChannel::default(), false, // No --unstable. ), - deno_node::init::(None), // No --unstable. - deno_ffi::init::(false), - deno_net::init::( + deno_node::init::(None), // No --unstable. + deno_ffi::init::(false), + deno_net::init::( None, false, // No --unstable. None, ), - deno_napi::init::(false), + deno_napi::init::(false), deno_http::init(), - deno_flash::init::(false), // No --unstable + deno_flash::init::(false), // No --unstable ]; create_snapshot(CreateSnapshotOptions { -- cgit v1.2.3