diff options
author | Ms2ger <ms2ger@gmail.com> | 2013-11-03 14:47:26 +0100 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2013-11-06 21:56:36 +0100 |
commit | edd9c1d5ebb17c68bc1c5b809099aecc3f59943b (patch) | |
tree | 3ac8222096b23c3adf9dae8a1756f4ea549aa726 /src/components/script/dom/bindings/codegen/CodegenRust.py | |
parent | 5c101526a1432ca783028d70185f78ae0d2559a1 (diff) | |
download | servo-edd9c1d5ebb17c68bc1c5b809099aecc3f59943b.tar.gz servo-edd9c1d5ebb17c68bc1c5b809099aecc3f59943b.zip |
Remove WrapNativeParent and nearby cleanup.
Diffstat (limited to 'src/components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 1d1eb1e4fe0..2efe1af1359 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -2506,8 +2506,8 @@ class CGAbstractMethod(CGThing): def CreateBindingJSObject(descriptor, parent=None): if descriptor.proxy: - handler = """ //let reflector = aObject.mut_reflector(); - + assert not descriptor.createGlobal + handler = """ let page = page_from_context(aCx); let handler = (*page).js_info.get_ref().dom_static.proxy_handlers.get(&(PrototypeList::id::%s as uint)); """ % descriptor.name @@ -2546,33 +2546,29 @@ class CGWrapWithCacheMethod(CGAbstractMethod): return """return aObject->GetJSObject();""" if not self.descriptor.createGlobal: - return """let mut parent = aObject.GetParentObject(aCx); - let parent = WrapNativeParent(aCx, aScope, parent); - if parent.is_null() { - return ptr::null(); - } + return """ + assert!(aScope.is_not_null()); + assert!(((*JS_GetClass(aScope)).flags & JSCLASS_IS_GLOBAL) != 0); - //JSAutoCompartment ac(aCx, parent); - let global = JS_GetGlobalForObject(aCx, parent); - let proto = GetProtoObject(aCx, global, global); + //JSAutoCompartment ac(aCx, aScope); + let proto = GetProtoObject(aCx, aScope, aScope); if proto.is_null() { return ptr::null(); } - - let reflector = aObject.mut_reflector(); %s //NS_ADDREF(aObject); - (*reflector).set_jsobject(obj); + aObject.mut_reflector().set_jsobject(obj); - return obj;""" % (CreateBindingJSObject(self.descriptor, "parent")) + return obj;""" % (CreateBindingJSObject(self.descriptor, "aScope")) else: - return """ let reflector = aObject.mut_reflector(); + return """ + assert!(aScope.is_null()); %s let proto = GetProtoObject(aCx, obj, obj); JS_SetPrototype(aCx, obj, proto); - (*reflector).set_jsobject(obj); + aObject.mut_reflector().set_jsobject(obj); return obj;""" % CreateBindingJSObject(self.descriptor) class CGWrapMethod(CGAbstractMethod): |