summaryrefslogtreecommitdiff
path: root/runtime/worker.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-10-12 17:55:50 +0200
committerGitHub <noreply@github.com>2023-10-12 15:55:50 +0000
commitc464cd7073c761780b3170a48542c387560e3f26 (patch)
tree881a26d05423f9c696c8f35ce8bd2d72d562b1ea /runtime/worker.rs
parent5dd010a4fbeb0602891ea537b98216b8ad7d27a7 (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.rs13
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(),