diff options
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 13 | ||||
-rw-r--r-- | src/components/script/dom/bindings/js.rs | 5 | ||||
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/document.rs | 2 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 2 |
5 files changed, 12 insertions, 12 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 71c46b09119..fd6d83d09ec 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -2600,7 +2600,7 @@ class CGWrapMethod(CGAbstractMethod): def __init__(self, descriptor): assert descriptor.interface.hasInterfacePrototypeObject() if not descriptor.createGlobal: - args = [Argument('*JSContext', 'aCx'), Argument('*JSObject', 'aScope'), + args = [Argument('*JSContext', 'aCx'), Argument('&JS<Window>', 'aScope'), Argument(DOMObjectPointerArg(descriptor), 'aObject', mutable=True)] else: args = [Argument('*JSContext', 'aCx'), @@ -2610,11 +2610,12 @@ class CGWrapMethod(CGAbstractMethod): def definition_body(self): if not self.descriptor.createGlobal: return """ - assert!(aScope.is_not_null()); - assert!(((*JS_GetClass(aScope)).flags & JSCLASS_IS_GLOBAL) != 0); + let scope = aScope.reflector().get_jsobject(); + assert!(scope.is_not_null()); + assert!(((*JS_GetClass(scope)).flags & JSCLASS_IS_GLOBAL) != 0); - //JSAutoCompartment ac(aCx, aScope); - let proto = GetProtoObject(aCx, aScope, aScope); + //JSAutoCompartment ac(aCx, scope); + let proto = GetProtoObject(aCx, scope, scope); if proto.is_null() { return ptr::null(); } @@ -2623,7 +2624,7 @@ class CGWrapMethod(CGAbstractMethod): (*raw).mut_reflector().set_jsobject(obj); - return obj;""" % CreateBindingJSObject(self.descriptor, "aScope") + return obj;""" % CreateBindingJSObject(self.descriptor, "scope") else: return """ %s diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs index 29efaddd840..9f8e44ba06f 100644 --- a/src/components/script/dom/bindings/js.rs +++ b/src/components/script/dom/bindings/js.rs @@ -32,11 +32,10 @@ impl <T> Clone for JS<T> { impl<T: Reflectable> JS<T> { pub fn new(mut obj: ~T, window: &JS<Window>, - wrap_fn: extern "Rust" fn(*JSContext, *JSObject, ~T) -> *JSObject) -> JS<T> { + wrap_fn: extern "Rust" fn(*JSContext, &JS<Window>, ~T) -> *JSObject) -> JS<T> { let cx = window.get().get_cx(); - let scope = window.get().reflector().get_jsobject(); let raw: *mut T = &mut *obj; - if wrap_fn(cx, scope, obj).is_null() { + if wrap_fn(cx, window, obj).is_null() { fail!("Could not eagerly wrap object"); } JS { diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index 6f82d161811..b27b75646b5 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -494,7 +494,7 @@ pub trait Reflectable { pub fn reflect_dom_object<T: Reflectable> (obj: ~T, window: &JS<window::Window>, - wrap_fn: extern "Rust" fn(*JSContext, *JSObject, ~T) -> *JSObject) + wrap_fn: extern "Rust" fn(*JSContext, &JS<window::Window>, ~T) -> *JSObject) -> JS<T> { JS::new(obj, window, wrap_fn) } diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index f0bf35db84b..f2e6370f599 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -86,7 +86,7 @@ impl Document { pub fn reflect_document<D: Reflectable+DocumentBase> (document: ~D, window: &JS<Window>, - wrap_fn: extern "Rust" fn(*JSContext, *JSObject, ~D) -> *JSObject) + wrap_fn: extern "Rust" fn(*JSContext, &JS<Window>, ~D) -> *JSObject) -> JS<D> { assert!(document.reflector().get_jsobject().is_null()); let raw_doc = reflect_dom_object(document, window, wrap_fn); diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index 60e53504417..f323421a8d7 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -754,7 +754,7 @@ impl Node { pub fn reflect_node<N: Reflectable+NodeBase> (node: ~N, document: &JS<Document>, - wrap_fn: extern "Rust" fn(*JSContext, *JSObject, ~N) -> *JSObject) + wrap_fn: extern "Rust" fn(*JSContext, &JS<Window>, ~N) -> *JSObject) -> JS<N> { assert!(node.reflector().get_jsobject().is_null()); let node = reflect_dom_object(node, &document.get().window, wrap_fn); |