summaryrefslogtreecommitdiff
path: root/cli/web_worker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/web_worker.rs')
-rw-r--r--cli/web_worker.rs30
1 files changed, 28 insertions, 2 deletions
diff --git a/cli/web_worker.rs b/cli/web_worker.rs
index 795409175..24318fc59 100644
--- a/cli/web_worker.rs
+++ b/cli/web_worker.rs
@@ -77,10 +77,16 @@ pub struct WebWorker {
event_loop_idle: bool,
terminate_rx: mpsc::Receiver<()>,
handle: WebWorkerHandle,
+ pub has_deno_namespace: bool,
}
impl WebWorker {
- pub fn new(name: String, startup_data: StartupData, state: State) -> Self {
+ pub fn new(
+ name: String,
+ startup_data: StartupData,
+ state: State,
+ has_deno_namespace: bool,
+ ) -> Self {
let state_ = state.clone();
let mut worker = Worker::new(name, startup_data, state_);
@@ -105,6 +111,7 @@ impl WebWorker {
event_loop_idle: false,
terminate_rx,
handle,
+ has_deno_namespace,
};
let handle = web_worker.thread_safe_handle();
@@ -124,6 +131,22 @@ impl WebWorker {
ops::errors::init(isolate, &state);
ops::timers::init(isolate, &state);
ops::fetch::init(isolate, &state);
+
+ if has_deno_namespace {
+ let op_registry = isolate.op_registry.clone();
+ ops::runtime_compiler::init(isolate, &state);
+ ops::fs::init(isolate, &state);
+ ops::fs_events::init(isolate, &state);
+ ops::plugins::init(isolate, &state, op_registry);
+ ops::net::init(isolate, &state);
+ ops::tls::init(isolate, &state);
+ ops::os::init(isolate, &state);
+ ops::permissions::init(isolate, &state);
+ ops::process::init(isolate, &state);
+ ops::random::init(isolate, &state);
+ ops::signal::init(isolate, &state);
+ ops::tty::init(isolate, &state);
+ }
}
web_worker
@@ -238,8 +261,11 @@ mod tests {
"TEST".to_string(),
startup_data::deno_isolate_init(),
state,
+ false,
);
- worker.execute("bootstrapWorkerRuntime(\"TEST\")").unwrap();
+ worker
+ .execute("bootstrapWorkerRuntime(\"TEST\", false)")
+ .unwrap();
worker
}
#[test]