pub trait MessagePortMethods<D: DomTypes> {
// Required methods
fn PostMessage(
&self,
cx: SafeJSContext,
message: HandleValue<'_>,
transfer: CustomAutoRooterGuard<'_, Vec<*mut JSObject>>,
) -> Fallible<()>;
fn PostMessage_(
&self,
cx: SafeJSContext,
message: HandleValue<'_>,
options: RootedTraceableBox<StructuredSerializeOptions>,
) -> Fallible<()>;
fn Start(&self, _can_gc: CanGc);
fn Close(&self, _can_gc: CanGc);
fn GetOnmessage(&self, _can_gc: CanGc) -> Option<Rc<EventHandlerNonNull<D>>>;
fn SetOnmessage(
&self,
value: Option<Rc<EventHandlerNonNull<D>>>,
_can_gc: CanGc,
);
fn GetOnmessageerror(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
fn SetOnmessageerror(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
fn GetOnclose(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
fn SetOnclose(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
}