#[repr(C)]pub(crate) struct SharedWorkerGlobalScope {
workerglobalscope: WorkerGlobalScope,
task_queue: TaskQueue<SharedWorkerScriptMsg>,
own_sender: Sender<SharedWorkerScriptMsg>,
worker: DomRefCell<Option<Trusted<SharedWorker>>>,
parent_event_loop_sender: ScriptEventLoopSender,
pending_connect: DomRefCell<Option<Dom<MessagePort>>>,
control_receiver: Receiver<SharedWorkerControlMsg>,
debugger_global: Dom<DebuggerGlobalScope>,
}Fields§
§workerglobalscope: WorkerGlobalScope§task_queue: TaskQueue<SharedWorkerScriptMsg>§own_sender: Sender<SharedWorkerScriptMsg>§worker: DomRefCell<Option<Trusted<SharedWorker>>>§parent_event_loop_sender: ScriptEventLoopSender§pending_connect: DomRefCell<Option<Dom<MessagePort>>>§control_receiver: Receiver<SharedWorkerControlMsg>§debugger_global: Dom<DebuggerGlobalScope>Implementations§
fn __assert_parent_type(&self)
fn new_inherited( init: WorkerGlobalScopeInit, worker_name: DOMString, worker_type: WorkerType, worker_url: ServoUrl, worker: Trusted<SharedWorker>, parent_event_loop_sender: ScriptEventLoopSender, from_devtools_receiver: RoutedReceiver<DevtoolScriptControlMsg>, runtime: Runtime, own_sender: Sender<SharedWorkerScriptMsg>, receiver: Receiver<SharedWorkerScriptMsg>, closing: Arc<AtomicBool>, gpu_id_hub: Arc<IdentityHub>, control_receiver: Receiver<SharedWorkerControlMsg>, insecure_requests_policy: InsecureRequestsPolicy, font_context: Option<Arc<FontContext>>, debugger_global: &DebuggerGlobalScope, ) -> SharedWorkerGlobalScope
pub(crate) fn new( init: WorkerGlobalScopeInit, worker_name: DOMString, worker_type: WorkerType, worker_url: ServoUrl, worker: Trusted<SharedWorker>, parent_event_loop_sender: ScriptEventLoopSender, from_devtools_receiver: RoutedReceiver<DevtoolScriptControlMsg>, runtime: Runtime, own_sender: Sender<SharedWorkerScriptMsg>, receiver: Receiver<SharedWorkerScriptMsg>, closing: Arc<AtomicBool>, gpu_id_hub: Arc<IdentityHub>, control_receiver: Receiver<SharedWorkerControlMsg>, insecure_requests_policy: InsecureRequestsPolicy, font_context: Option<Arc<FontContext>>, debugger_global: &DebuggerGlobalScope, cx: &mut JSContext, ) -> DomRoot<SharedWorkerGlobalScope>
pub(crate) fn event_loop_sender(&self) -> ScriptEventLoopSender
pub(crate) fn new_script_pair( &self, ) -> (ScriptEventLoopSender, ScriptEventLoopReceiver)
Sourcepub(crate) fn forward_simple_error_at_worker(&self)
pub(crate) fn forward_simple_error_at_worker(&self)
Step 1.1 of onComplete of https://html.spec.whatwg.org/multipage/#run-a-worker
Sourcepub(crate) fn enable_outside_port_message_queue(&self)
pub(crate) fn enable_outside_port_message_queue(&self)
Step 11 of onComplete of https://html.spec.whatwg.org/multipage/#run-a-worker
fn handle_connect( &self, port_impl: MessagePortImpl, cx: &mut JSContext, ) -> DomRoot<MessagePort>
fn dispatch_connect_event(&self, inside_port: &MessagePort)
pub(crate) fn fire_pending_connect(&self, _cx: &mut JSContext)
fn handle_script_event(&self, msg: SharedWorkerScriptMsg, cx: &mut JSContext)
fn handle_mixed_message(&self, msg: MixedMessage, cx: &mut JSContext) -> bool
Trait Implementations§
type ReflectorType = ()
Source§fn reflector(&self) -> &Reflector<Self::ReflectorType>
fn reflector(&self) -> &Reflector<Self::ReflectorType>
Returns the receiver’s reflector.
Source§fn as_parent(&self) -> &WorkerGlobalScope
fn as_parent(&self) -> &WorkerGlobalScope
This is used in a type assertion to ensure that the source and webidls agree as to what the parent type is
type Parent = WorkerGlobalScope
Source§const PROTO_FIRST: u16 = 183
const PROTO_FIRST: u16 = 183
First prototype ID in the DFS-ordered range for this interface and its descendants.
Source§const PROTO_LAST: u16 = 183
const PROTO_LAST: u16 = 183
Last prototype ID in the DFS-ordered range for this interface and its descendants.
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
fn GetOnconnect( &self, cx: &mut JSContext, ) -> Option<Rc<EventHandlerNonNull<DomTypeHolder>>>
fn SetOnconnect( &self, cx: &mut JSContext, listener: Option<Rc<EventHandlerNonNull<DomTypeHolder>>>, )
Source§unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)
unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)
Convert
self to a JSVal. JSAPI failure causes a panic.Source§fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandle<'_, Value>)
fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandle<'_, Value>)
Convert
self to a JSVal. JSAPI failure causes a panic.type WorkerMsg = SharedWorkerScriptMsg
type ControlMsg = SharedWorkerControlMsg
type Event = MixedMessage
fn task_queue(&self) -> &TaskQueue<SharedWorkerScriptMsg>
fn handle_event(&self, event: MixedMessage, cx: &mut JSContext) -> bool
fn handle_worker_post_event( &self, _worker: &Trusted<Worker>, ) -> Option<AutoWorkerReset<'_>>
fn from_control_msg(msg: SharedWorkerControlMsg) -> MixedMessage
fn from_worker_msg(msg: SharedWorkerScriptMsg) -> MixedMessage
fn from_devtools_msg(msg: DevtoolScriptControlMsg) -> MixedMessage
fn from_timer_msg() -> MixedMessage
fn control_receiver(&self) -> &Receiver<SharedWorkerControlMsg>
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope] of the realm that the DomObject was created in. If this
object is a Node, this will be different from it’s owning Document if adopted by. For
Nodes it’s almost always better to use NodeTraits::owning_global.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert