script_bindings::interfaces

Trait DomHelpers

Source
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§

Source

fn throw_dom_exception( cx: JSContext, global: &D::GlobalScope, result: Error, can_gc: CanGc, )

Source

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

Source

fn settings_stack() -> &'static LocalKey<RefCell<Vec<StackEntry<D>>>>

Source

fn principals_callbacks() -> &'static JSPrincipalsCallbacks

Source

fn is_platform_object_same_origin(cx: JSContext, obj: RawHandleObject) -> bool

Source

fn interface_map() -> &'static Map<&'static [u8], for<'a> fn(_: JSContext, _: HandleObject<'_>)>

Source

fn push_new_element_queue()

Source

fn pop_current_element_queue(can_gc: CanGc)

Source

fn reflect_dom_object<T, U>( obj: Box<T>, global: &U, can_gc: CanGc, ) -> DomRoot<T>

Source

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.

Implementors§