pub type StructuredCloneErrorOp = Option<unsafe extern "C" fn(_: *mut JSContext, _: u32, _: *mut c_void, _: *const i8)>;
Expand description

This is called when serialization or deserialization encounters an error. To follow HTML5, the application must throw a DATA_CLONE_ERR DOMException with error set to one of the JS_SCERR_* values.

Note that if the .reportError field of the JSStructuredCloneCallbacks is set (to a function with this signature), then an exception will not be set on the JSContext when an error is encountered. The clone operation will still be aborted and will return false, however, so it is up to the embedding to do what it needs to for the error.

Example: for the DOM, mozilla::dom::StructuredCloneHolder will save away the error message during its reportError callback. Then when the overall operation fails, it will clear any exception that might have been set from other ways to fail and pass the saved error message to ErrorResult::ThrowDataCloneError().

Aliased Type§

enum StructuredCloneErrorOp {
    None,
    Some(unsafe extern "C" fn(_: *mut JSContext, _: u32, _: *mut c_void, _: *const i8)),
}

Variants§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(_: *mut JSContext, _: u32, _: *mut c_void, _: *const i8))

Some value of type T.

Trait Implementations§

source§

impl<T: CustomTrace> CustomTrace for Option<T>

source§

impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>

§

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>>, ()>

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.
source§

impl<T: ToJSValConvertible> ToJSValConvertible for Option<T>

source§

unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)

Convert self to a JSVal. JSAPI failure causes a panic.
source§

impl<T: Traceable> Traceable for Option<T>

source§

unsafe fn trace(&self, trc: *mut JSTracer)

Trace self.