pub struct CallbackObject {
callback: Heap<*mut JSObject>,
permanent_js_root: Heap<JSVal>,
incumbent: Option<Dom<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<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 Drop for CallbackObject
impl Drop for CallbackObject
source§impl PartialEq for CallbackObject
impl PartialEq for CallbackObject
Auto Trait Implementations§
impl !Freeze for CallbackObject
impl !RefUnwindSafe for CallbackObject
impl !Send for CallbackObject
impl !Sync for CallbackObject
impl Unpin for CallbackObject
impl !UnwindSafe for CallbackObject
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