pub(crate) struct CallbackObject<D: DomTypes> {
callback: Heap<*mut JSObject>,
permanent_js_root: Heap<JSVal>,
incumbent: Option<Dom<D::GlobalScope>>,
}
Expand description
A common base class for representing IDL callback function and callback interface types.
Fields§
§callback: Heap<*mut JSObject>
The underlying JSObject
.
permanent_js_root: Heap<JSVal>
§incumbent: Option<Dom<D::GlobalScope>>
The “callback context”, that is, the global to use as incumbent global when calling the callback.
Looking at the WebIDL standard, it appears as though there would always be a value here, but sometimes callback functions are created by hand-waving without defining the value of the callback context, and without any JavaScript code on the stack to grab an incumbent global from.
Implementations§
Trait Implementations§
Source§impl<D: DomTypes> Drop for CallbackObject<D>
impl<D: DomTypes> Drop for CallbackObject<D>
Source§impl<D: DomTypes> PartialEq for CallbackObject<D>
impl<D: DomTypes> PartialEq for CallbackObject<D>
Auto Trait Implementations§
impl<D> !Freeze for CallbackObject<D>
impl<D> !RefUnwindSafe for CallbackObject<D>
impl<D> !Send for CallbackObject<D>
impl<D> !Sync for CallbackObject<D>
impl<D> Unpin for CallbackObject<D>
impl<D> UnwindSafe for CallbackObject<D>
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<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