Type Alias mozjs::jsapi::StructuredCloneErrorOp
source · 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§
None
No value.
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>
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
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>>, ()>
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.