summaryrefslogtreecommitdiff
path: root/runtime/worker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r--runtime/worker.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs
index ad31cacc6..7a3a6c1c3 100644
--- a/runtime/worker.rs
+++ b/runtime/worker.rs
@@ -313,7 +313,13 @@ impl MainWorker {
&mut self,
script_name: &str,
) -> Result<(), AnyError> {
- self.execute_script(script_name, "window.dispatchEvent(new Event('load'))")
+ self.execute_script(
+ script_name,
+ // NOTE(@bartlomieju): not using `globalThis` here, because user might delete
+ // it. Instead we're using global `dispatchEvent` function which will
+ // used a saved reference to global scope.
+ "dispatchEvent(new Event('load'))",
+ )
}
/// Dispatches "unload" event to the JavaScript runtime.
@@ -323,8 +329,13 @@ impl MainWorker {
&mut self,
script_name: &str,
) -> Result<(), AnyError> {
- self
- .execute_script(script_name, "window.dispatchEvent(new Event('unload'))")
+ self.execute_script(
+ script_name,
+ // NOTE(@bartlomieju): not using `globalThis` here, because user might delete
+ // it. Instead we're using global `dispatchEvent` function which will
+ // used a saved reference to global scope.
+ "dispatchEvent(new Event('unload'))",
+ )
}
}