aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/bindings')
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py7
-rw-r--r--src/components/script/dom/bindings/utils.rs4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index 17001fd734a..3b35999cb65 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -1792,7 +1792,7 @@ class CGWrapMethod(CGAbstractMethod):
else:
args = [Argument('*mut JSContext', 'aCx'),
Argument("Box<%s>" % descriptor.concreteType, 'aObject', mutable=True)]
- retval = 'JS<%s>' % descriptor.concreteType
+ retval = 'Temporary<%s>' % descriptor.concreteType
CGAbstractMethod.__init__(self, descriptor, 'Wrap', retval, args, pub=True)
def definition_body(self):
@@ -1809,7 +1809,7 @@ assert!(proto.is_not_null());
raw.reflector().set_jsobject(obj);
-return raw;""" % CreateBindingJSObject(self.descriptor, "scope"))
+Temporary::new(raw)""" % CreateBindingJSObject(self.descriptor, "scope"))
else:
return CGGeneric("""\
%s
@@ -1818,7 +1818,8 @@ with_compartment(aCx, obj, || {
JS_SetPrototype(aCx, obj, proto);
});
raw.reflector().set_jsobject(obj);
-return raw;""" % CreateBindingJSObject(self.descriptor))
+
+Temporary::new(raw)""" % CreateBindingJSObject(self.descriptor))
class CGIDLInterface(CGThing):
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs
index 2c494c2008e..99398bfc2f8 100644
--- a/src/components/script/dom/bindings/utils.rs
+++ b/src/components/script/dom/bindings/utils.rs
@@ -377,9 +377,9 @@ pub trait Reflectable {
pub fn reflect_dom_object<T: Reflectable>
(obj: Box<T>,
window: &JSRef<window::Window>,
- wrap_fn: extern "Rust" fn(*mut JSContext, &JSRef<window::Window>, Box<T>) -> JS<T>)
+ wrap_fn: extern "Rust" fn(*mut JSContext, &JSRef<window::Window>, Box<T>) -> Temporary<T>)
-> Temporary<T> {
- Temporary::new(wrap_fn(window.deref().get_cx(), window, obj))
+ wrap_fn(window.get_cx(), window, obj)
}
#[allow(raw_pointer_deriving)]