diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 3ac26b0f97b..113a9d279d5 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -104,15 +104,14 @@ impl> FromJSValConvertible for Finite impl FromJSValConvertible for Root { type Config = (); - unsafe fn from_jsval(cx: *mut JSContext, + unsafe fn from_jsval(_cx: *mut JSContext, value: HandleValue, _config: Self::Config) -> Result>, ()> { - let result = root_from_handlevalue(value); - if let Err(()) = result { - throw_type_error(cx, "value is not an object"); - } - result.map(ConversionResult::Success) + Ok(match root_from_handlevalue(value) { + Ok(result) => ConversionResult::Success(result), + Err(()) => ConversionResult::Failure("value is not an object".into()), + }) } }