diff options
Diffstat (limited to 'components/script/dom/worker.rs')
-rw-r--r-- | components/script/dom/worker.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index b9370f02914..5bd0acf701c 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -9,7 +9,7 @@ use crate::dom::bindings::codegen::Bindings::WorkerBinding::{WorkerMethods, Work use crate::dom::bindings::error::{Error, ErrorResult, Fallible}; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::refcounted::Trusted; -use crate::dom::bindings::reflector::{reflect_dom_object, DomObject}; +use crate::dom::bindings::reflector::{reflect_dom_object2, DomObject}; use crate::dom::bindings::root::DomRoot; use crate::dom::bindings::str::USVString; use crate::dom::bindings::structuredclone; @@ -31,7 +31,7 @@ use dom_struct::dom_struct; use ipc_channel::ipc; use js::jsapi::{Heap, JSObject, JS_RequestInterruptCallback}; use js::jsval::UndefinedValue; -use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleValue}; +use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleObject, HandleValue}; use script_traits::{StructuredSerializedData, WorkerScriptLoadOrigin}; use std::cell::Cell; use std::sync::atomic::{AtomicBool, Ordering}; @@ -63,18 +63,20 @@ impl Worker { } } - pub fn new( + fn new( global: &GlobalScope, + proto: Option<HandleObject>, sender: Sender<DedicatedWorkerScriptMsg>, closing: Arc<AtomicBool>, ) -> DomRoot<Worker> { - reflect_dom_object(Box::new(Worker::new_inherited(sender, closing)), global) + reflect_dom_object2(Box::new(Worker::new_inherited(sender, closing)), global, proto) } // https://html.spec.whatwg.org/multipage/#dom-worker #[allow(unsafe_code, non_snake_case)] pub fn Constructor( global: &GlobalScope, + proto: Option<HandleObject>, script_url: USVString, worker_options: &WorkerOptions, ) -> Fallible<DomRoot<Worker>> { @@ -86,7 +88,7 @@ impl Worker { let (sender, receiver) = unbounded(); let closing = Arc::new(AtomicBool::new(false)); - let worker = Worker::new(global, sender.clone(), closing.clone()); + let worker = Worker::new(global, proto, sender.clone(), closing.clone()); let worker_ref = Trusted::new(&*worker); let worker_load_origin = WorkerScriptLoadOrigin { |