diff options
Diffstat (limited to 'runtime/web_worker.rs')
-rw-r--r-- | runtime/web_worker.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index c6fbb8370..0aa142da8 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -25,6 +25,7 @@ use deno_core::CompiledWasmModuleStore; use deno_core::Extension; use deno_core::GetErrorClassFn; use deno_core::JsRuntime; +use deno_core::ModuleCode; use deno_core::ModuleId; use deno_core::ModuleLoader; use deno_core::ModuleSpecifier; @@ -575,16 +576,16 @@ impl WebWorker { "#; let poll_for_messages_fn = self .js_runtime - .execute_script(&located_script_name!(), script) + .execute_script(located_script_name!(), script) .expect("Failed to execute worker bootstrap script"); self.poll_for_messages_fn = Some(poll_for_messages_fn); } /// See [JsRuntime::execute_script](deno_core::JsRuntime::execute_script) - pub fn execute_script( + pub fn execute_script<S: Into<ModuleCode>>( &mut self, - name: &str, - source_code: &str, + name: &'static str, + source_code: S, ) -> Result<(), AnyError> { self.js_runtime.execute_script(name, source_code)?; Ok(()) @@ -744,7 +745,7 @@ fn print_worker_error( pub fn run_web_worker( worker: WebWorker, specifier: ModuleSpecifier, - maybe_source_code: Option<String>, + mut maybe_source_code: Option<String>, preload_module_cb: Arc<ops::worker_host::WorkerEventCb>, pre_execute_module_cb: Arc<ops::worker_host::WorkerEventCb>, format_js_error_fn: Option<Arc<FormatJsErrorFn>>, @@ -772,8 +773,8 @@ pub fn run_web_worker( }; // Execute provided source code immediately - let result = if let Some(source_code) = maybe_source_code { - let r = worker.execute_script(&located_script_name!(), &source_code); + let result = if let Some(source_code) = maybe_source_code.take() { + let r = worker.execute_script(located_script_name!(), source_code); worker.start_polling_for_messages(); r } else { |