summaryrefslogtreecommitdiff
path: root/runtime/web_worker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/web_worker.rs')
-rw-r--r--runtime/web_worker.rs15
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 {