diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-10-12 17:55:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-12 15:55:50 +0000 |
commit | c464cd7073c761780b3170a48542c387560e3f26 (patch) | |
tree | 881a26d05423f9c696c8f35ce8bd2d72d562b1ea /runtime/worker.rs | |
parent | 5dd010a4fbeb0602891ea537b98216b8ad7d27a7 (diff) |
refactor: FeatureChecker integration in ext/ crates (#20797)
Towards https://github.com/denoland/deno/issues/20779.
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r-- | runtime/worker.rs | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs index e8874575a..e8d9ca6bc 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -18,6 +18,7 @@ use deno_core::futures::Future; use deno_core::v8; use deno_core::CompiledWasmModuleStore; use deno_core::Extension; +use deno_core::FeatureChecker; use deno_core::FsModuleLoader; use deno_core::GetErrorClassFn; use deno_core::JsRuntime; @@ -141,6 +142,7 @@ pub struct WorkerOptions { /// `WebAssembly.Module` objects cannot be serialized. pub compiled_wasm_module_store: Option<CompiledWasmModuleStore>, pub stdio: Stdio, + pub feature_checker: Arc<FeatureChecker>, } impl Default for WorkerOptions { @@ -172,6 +174,7 @@ impl Default for WorkerOptions { create_params: Default::default(), bootstrap: Default::default(), stdio: Default::default(), + feature_checker: Default::default(), } } } @@ -205,7 +208,6 @@ impl MainWorker { ); // Permissions: many ops depend on this - let unstable = options.bootstrap.unstable; let enable_testing_features = options.bootstrap.enable_testing_features; let exit_code = ExitCode(Arc::new(AtomicI32::new(0))); let create_cache = options.cache_storage_dir.map(|storage_dir| { @@ -334,17 +336,10 @@ impl MainWorker { preserve_snapshotted_modules, inspector: options.maybe_inspector_server.is_some(), is_main: true, + feature_checker: Some(options.feature_checker.clone()), ..Default::default() }); - if unstable { - let op_state = js_runtime.op_state(); - op_state - .borrow_mut() - .feature_checker - .enable_legacy_unstable(); - } - if let Some(server) = options.maybe_inspector_server.clone() { server.register_inspector( main_module.to_string(), |