pub trait DomHelpers<D: DomTypes> {
// Required methods
fn throw_dom_exception(
cx: JSContext,
global: &D::GlobalScope,
result: Error,
can_gc: CanGc,
);
fn call_html_constructor<T: DerivedFrom<D::Element> + DomObject>(
cx: JSContext,
args: &CallArgs,
global: &D::GlobalScope,
proto_id: ID,
creator: unsafe fn(_: JSContext, _: HandleObject<'_>, _: *mut ProtoOrIfaceArray),
can_gc: CanGc,
) -> bool;
fn settings_stack() -> &'static LocalKey<RefCell<Vec<StackEntry<D>>>>;
fn principals_callbacks() -> &'static JSPrincipalsCallbacks;
fn is_platform_object_same_origin(
cx: JSContext,
obj: RawHandleObject,
) -> bool;
fn interface_map( ) -> &'static Map<&'static [u8], for<'a> fn(_: JSContext, _: HandleObject<'_>)>;
fn push_new_element_queue();
fn pop_current_element_queue(can_gc: CanGc);
fn reflect_dom_object<T, U>(
obj: Box<T>,
global: &U,
can_gc: CanGc,
) -> DomRoot<T>
where T: DomObject + DomObjectWrap<D>,
U: DerivedFrom<D::GlobalScope>;
fn report_pending_exception(
cx: JSContext,
dispatch_event: bool,
realm: InRealm<'_>,
can_gc: CanGc,
);
}
Expand description
Operations that must be invoked from the generated bindings.
Required Methods§
fn throw_dom_exception( cx: JSContext, global: &D::GlobalScope, result: Error, can_gc: CanGc, )
fn call_html_constructor<T: DerivedFrom<D::Element> + DomObject>( cx: JSContext, args: &CallArgs, global: &D::GlobalScope, proto_id: ID, creator: unsafe fn(_: JSContext, _: HandleObject<'_>, _: *mut ProtoOrIfaceArray), can_gc: CanGc, ) -> bool
fn settings_stack() -> &'static LocalKey<RefCell<Vec<StackEntry<D>>>>
fn principals_callbacks() -> &'static JSPrincipalsCallbacks
fn is_platform_object_same_origin(cx: JSContext, obj: RawHandleObject) -> bool
fn interface_map() -> &'static Map<&'static [u8], for<'a> fn(_: JSContext, _: HandleObject<'_>)>
fn push_new_element_queue()
fn pop_current_element_queue(can_gc: CanGc)
fn reflect_dom_object<T, U>( obj: Box<T>, global: &U, can_gc: CanGc, ) -> DomRoot<T>
fn report_pending_exception( cx: JSContext, dispatch_event: bool, realm: InRealm<'_>, can_gc: CanGc, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.