aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorConnor Brewster <connor.brewster@eagles.oc.edu>2017-07-20 16:35:46 -0600
committerConnor Brewster <connor.brewster@eagles.oc.edu>2017-08-09 14:36:14 -0600
commit1a9f4cad0871bcde9420f633c527b933ac288057 (patch)
treee21bad0ac33327f6fa00644014f05e77b493d6f6 /components/script/dom/bindings/codegen/CodegenRust.py
parent37cbc857276578617f9771bb984700a00f132a3f (diff)
downloadservo-1a9f4cad0871bcde9420f633c527b933ac288057.tar.gz
servo-1a9f4cad0871bcde9420f633c527b933ac288057.zip
Fix compartment mismatch issue
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 482b713e10c..7f97868a378 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -5377,7 +5377,12 @@ let result = match result {
},
};
-JS_SetPrototype(cx, result.reflector().get_jsobject(), prototype.handle());
+rooted!(in(cx) let mut element = result.reflector().get_jsobject().get());
+if !JS_WrapObject(cx, element.handle_mut()) {
+ return false;
+}
+
+JS_SetPrototype(cx, element.handle(), prototype.handle());
(result).to_jsval(cx, args.rval());
return true;