Type Alias mozjs::jsapi::JSWrapObjectCallback
source · pub type JSWrapObjectCallback = Option<unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>) -> *mut JSObject>;
Expand description
Callback used to ask the embedding for the cross compartment wrapper handler that implements the desired prolicy for this kind of object in the destination compartment. |obj| is the object to be wrapped. If |existing| is non-nullptr, it will point to an existing wrapper object that should be re-used if possible. |existing| is guaranteed to be a cross-compartment wrapper with a lazily-defined prototype and the correct global. It is guaranteed not to wrap a function.
Aliased Type§
enum JSWrapObjectCallback {
None,
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>) -> *mut JSObject),
}
Variants§
None
No value.
Some(unsafe extern "C" fn(_: *mut JSContext, _: Handle<*mut JSObject>, _: Handle<*mut JSObject>) -> *mut JSObject)
Some value of type T
.
Trait Implementations§
source§impl<T: CustomTrace> CustomTrace for Option<T>
impl<T: CustomTrace> CustomTrace for Option<T>
source§impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
§type Config = <T as FromJSValConvertible>::Config
type Config = <T as FromJSValConvertible>::Config
Optional configurable behaviour switch; use () for no configuration.
source§unsafe fn from_jsval(
cx: *mut JSContext,
value: HandleValue<'_>,
option: T::Config
) -> Result<ConversionResult<Option<T>>, ()>
unsafe fn from_jsval( cx: *mut JSContext, value: HandleValue<'_>, option: T::Config ) -> Result<ConversionResult<Option<T>>, ()>
Convert
val
to type Self
.
Optional configuration of type T
can be passed as the option
argument.
If it returns Err(())
, a JSAPI exception is pending.
If it returns Ok(Failure(reason))
, there is no pending JSAPI exception.