#[repr(C)]pub(crate) struct Worker {
eventtarget: EventTarget,
sender: Sender<DedicatedWorkerScriptMsg>,
closing: Arc<AtomicBool>,
terminated: Cell<bool>,
context_for_interrupt: DomRefCell<Option<ThreadSafeJSContext>>,
}Fields§
§eventtarget: EventTarget§sender: Sender<DedicatedWorkerScriptMsg>Sender to the Receiver associated with the DedicatedWorkerGlobalScope this Worker created.
closing: Arc<AtomicBool>§terminated: Cell<bool>§context_for_interrupt: DomRefCell<Option<ThreadSafeJSContext>>Implementations§
Source§impl Worker
impl Worker
fn __assert_parent_type(&self)
Source§impl Worker
impl Worker
fn new_inherited( sender: Sender<DedicatedWorkerScriptMsg>, closing: Arc<AtomicBool>, ) -> Worker
fn new( global: &GlobalScope, proto: Option<HandleObject<'_>>, sender: Sender<DedicatedWorkerScriptMsg>, closing: Arc<AtomicBool>, can_gc: CanGc, ) -> DomRoot<Worker>
pub(crate) fn is_terminated(&self) -> bool
pub(crate) fn set_context_for_interrupt(&self, cx: ThreadSafeJSContext)
pub(crate) fn handle_message( address: Trusted<Worker>, data: StructuredSerializedData, can_gc: CanGc, )
pub(crate) fn dispatch_simple_error(address: Trusted<Worker>, can_gc: CanGc)
Sourcefn post_message_impl(
&self,
cx: JSContext,
message: HandleValue<'_>,
transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>,
) -> ErrorResult
fn post_message_impl( &self, cx: JSContext, message: HandleValue<'_>, transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>, ) -> ErrorResult
Trait Implementations§
§impl Castable for Worker
impl Castable for Worker
Source§impl DomObjectWrap<DomTypeHolder> for Worker
impl DomObjectWrap<DomTypeHolder> for Worker
Source§const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::WorkerBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::workers::worker::Worker>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::workers::worker::Worker>>}
const WRAP: unsafe fn(SafeJSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>, CanGc) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::WorkerBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b> unsafe fn(script_bindings::script_runtime::JSContext, &'a dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'b, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::workers::worker::Worker>, script_bindings::script_runtime::CanGc) -> script_bindings::root::Root<script_bindings::root::Dom<dom::workers::worker::Worker>>}
Function pointer to the general wrap function type
Source§impl HasParent for Worker
impl HasParent for Worker
Source§fn as_parent(&self) -> &EventTarget
fn as_parent(&self) -> &EventTarget
This is used in a type assertion to ensure that the source and webidls agree as to what the parent type is
type Parent = EventTarget
Source§impl IDLInterface for Worker
impl IDLInterface for Worker
Source§impl MallocSizeOf for Worker
impl MallocSizeOf for Worker
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.
Source§impl MutDomObject for Worker
impl MutDomObject for Worker
Source§impl ToJSValConvertible for Worker
impl ToJSValConvertible for Worker
Source§impl WorkerMethods<DomTypeHolder> for Worker
impl WorkerMethods<DomTypeHolder> for Worker
Source§fn PostMessage(
&self,
cx: JSContext,
message: HandleValue<'_>,
transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>,
) -> ErrorResult
fn PostMessage( &self, cx: JSContext, message: HandleValue<'_>, transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>, ) -> ErrorResult
Source§fn PostMessage_(
&self,
cx: JSContext,
message: HandleValue<'_>,
options: RootedTraceableBox<StructuredSerializeOptions>,
) -> ErrorResult
fn PostMessage_( &self, cx: JSContext, message: HandleValue<'_>, options: RootedTraceableBox<StructuredSerializeOptions>, ) -> ErrorResult
fn Constructor( global: &GlobalScope, proto: Option<HandleObject<'_>>, can_gc: CanGc, script_url: TrustedScriptURLOrUSVString<DomTypeHolder>, worker_options: &WorkerOptions, ) -> Fallible<DomRoot<Worker>>
fn GetOnmessage(&self) -> Option<Rc<EventHandlerNonNull<DomTypeHolder>>>
fn SetOnmessage(&self, listener: Option<Rc<EventHandlerNonNull<DomTypeHolder>>>)
fn GetOnmessageerror(&self) -> Option<Rc<EventHandlerNonNull<DomTypeHolder>>>
fn SetOnmessageerror( &self, listener: Option<Rc<EventHandlerNonNull<DomTypeHolder>>>, )
fn GetOnerror(&self) -> Option<Rc<EventHandlerNonNull<DomTypeHolder>>>
fn SetOnerror(&self, listener: Option<Rc<EventHandlerNonNull<DomTypeHolder>>>)
impl DerivedFrom<EventTarget> for Worker
impl Eq for Worker
Auto Trait Implementations§
impl !Freeze for Worker
impl !RefUnwindSafe for Worker
impl !Send for Worker
impl !Sync for Worker
impl Unpin for Worker
impl !UnwindSafe for Worker
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§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