diff options
author | chickenleaf <lashwinib@gmail.com> | 2024-10-18 19:12:43 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-18 13:42:43 +0000 |
commit | af6154cf630bd498f8b5afbd8a321eb4a45463b6 (patch) | |
tree | 364dcf5c2d2cfd247716eed34bc04d0aa136c263 /components/script/dom/worker.rs | |
parent | fde8d72acabb6f8314efe0e66312c02a488a7613 (diff) | |
download | servo-af6154cf630bd498f8b5afbd8a321eb4a45463b6.tar.gz servo-af6154cf630bd498f8b5afbd8a321eb4a45463b6.zip |
More files with CanGc fixes (#33892)
* More files with CanGc fixes
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* removed the can_gc inside !task
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Diffstat (limited to 'components/script/dom/worker.rs')
-rw-r--r-- | components/script/dom/worker.rs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index 850276ae2c0..cfbec632303 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -97,7 +97,11 @@ impl Worker { *self.context_for_interrupt.borrow_mut() = Some(cx); } - pub fn handle_message(address: TrustedWorkerAddress, data: StructuredSerializedData) { + pub fn handle_message( + address: TrustedWorkerAddress, + data: StructuredSerializedData, + can_gc: CanGc, + ) { let worker = address.root(); if worker.is_terminated() { @@ -109,10 +113,18 @@ impl Worker { let _ac = enter_realm(target); rooted!(in(*GlobalScope::get_cx()) let mut message = UndefinedValue()); if let Ok(ports) = structuredclone::read(&global, data, message.handle_mut()) { - MessageEvent::dispatch_jsval(target, &global, message.handle(), None, None, ports); + MessageEvent::dispatch_jsval( + target, + &global, + message.handle(), + None, + None, + ports, + can_gc, + ); } else { // Step 4 of the "port post message steps" of the implicit messageport, fire messageerror. - MessageEvent::dispatch_error(target, &global); + MessageEvent::dispatch_error(target, &global, can_gc); } } |