aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/conversions.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2017-05-26 13:25:05 -0400
committerJosh Matthews <josh@joshmatthews.net>2017-09-25 16:10:58 -0400
commitb169689f32db6d497b04f3a5b173cba4acd33e93 (patch)
treeec02846b1f99dfac6abc9898ebf873b927bdc598 /components/script/dom/bindings/conversions.rs
parentda65698c5c5934220b82493b3f7bb2ab05a2e512 (diff)
downloadservo-b169689f32db6d497b04f3a5b173cba4acd33e93.tar.gz
servo-b169689f32db6d497b04f3a5b173cba4acd33e93.zip
Store rootable dictionary members of dictionaries in RootedTraceableBox.
Diffstat (limited to 'components/script/dom/bindings/conversions.rs')
-rw-r--r--components/script/dom/bindings/conversions.rs18
1 files changed, 5 insertions, 13 deletions
diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs
index 10accbcc62b..69751f2c263 100644
--- a/components/script/dom/bindings/conversions.rs
+++ b/components/script/dom/bindings/conversions.rs
@@ -116,19 +116,11 @@ impl <T: DomObject + IDLInterface> FromJSValConvertible for Root<T> {
}
}
-impl <T: FromJSValConvertible + JSTraceable> FromJSValConvertible for RootedTraceableBox<T> {
- type Config = T::Config;
-
- unsafe fn from_jsval(cx: *mut JSContext,
- value: HandleValue,
- config: Self::Config)
- -> Result<ConversionResult<Self>, ()> {
- T::from_jsval(cx, value, config).map(|result| {
- match result {
- ConversionResult::Success(v) => ConversionResult::Success(RootedTraceableBox::new(v)),
- ConversionResult::Failure(e) => ConversionResult::Failure(e),
- }
- })
+impl<T: ToJSValConvertible + JSTraceable> ToJSValConvertible for RootedTraceableBox<T> {
+ #[inline]
+ unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue) {
+ let value = &**self;
+ value.to_jsval(cx, rval);
}
}