diff options
Diffstat (limited to 'components/script/dom/dedicatedworkerglobalscope.rs')
-rw-r--r-- | components/script/dom/dedicatedworkerglobalscope.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 6a64b4fb544..a3adde75498 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -26,7 +26,9 @@ use crate::dom::worker::{TrustedWorkerAddress, Worker}; use crate::dom::workerglobalscope::WorkerGlobalScope; use crate::fetch::load_whole_resource; use crate::script_runtime::ScriptThreadEventCategory::WorkerEvent; -use crate::script_runtime::{new_child_runtime, CommonScriptMsg, Runtime, ScriptChan, ScriptPort}; +use crate::script_runtime::{ + new_child_runtime, CommonScriptMsg, JSContext as SafeJSContext, Runtime, ScriptChan, ScriptPort, +}; use crate::task_queue::{QueuedTask, QueuedTaskConversion, TaskQueue}; use crate::task_source::TaskSourceName; use crossbeam_channel::{unbounded, Receiver, Sender}; @@ -283,7 +285,7 @@ impl DedicatedWorkerGlobalScope { closing, image_cache, )); - unsafe { DedicatedWorkerGlobalScopeBinding::Wrap(cx, scope) } + unsafe { DedicatedWorkerGlobalScopeBinding::Wrap(SafeJSContext::from_ptr(cx), scope) } } #[allow(unsafe_code)] @@ -403,7 +405,7 @@ impl DedicatedWorkerGlobalScope { unsafe { // Handle interrupt requests - JS_AddInterruptCallback(scope.get_cx(), Some(interrupt_callback)); + JS_AddInterruptCallback(*scope.get_cx(), Some(interrupt_callback)); } if scope.is_closing() { @@ -464,7 +466,7 @@ impl DedicatedWorkerGlobalScope { let scope = self.upcast::<WorkerGlobalScope>(); let target = self.upcast(); let _ac = enter_realm(self); - rooted!(in(scope.get_cx()) let mut message = UndefinedValue()); + rooted!(in(*scope.get_cx()) let mut message = UndefinedValue()); data.read(scope.upcast(), message.handle_mut()); MessageEvent::dispatch_jsval(target, scope.upcast(), message.handle(), None, None); }, @@ -558,10 +560,9 @@ unsafe extern "C" fn interrupt_callback(cx: *mut JSContext) -> bool { } impl DedicatedWorkerGlobalScopeMethods for DedicatedWorkerGlobalScope { - #[allow(unsafe_code)] // https://html.spec.whatwg.org/multipage/#dom-dedicatedworkerglobalscope-postmessage - unsafe fn PostMessage(&self, cx: *mut JSContext, message: HandleValue) -> ErrorResult { - let data = StructuredCloneData::write(cx, message)?; + fn PostMessage(&self, cx: SafeJSContext, message: HandleValue) -> ErrorResult { + let data = StructuredCloneData::write(*cx, message)?; let worker = self.worker.borrow().as_ref().unwrap().clone(); let pipeline_id = self.upcast::<GlobalScope>().pipeline_id(); let task = Box::new(task!(post_worker_message: move || { |