diff options
author | Josh Matthews <josh@joshmatthews.net> | 2014-04-24 13:03:19 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2014-05-03 14:18:31 -0400 |
commit | 91278da9dd55582401154e07f9eea34425a332c2 (patch) | |
tree | ccce9b42e8a6c54245e53620082efe0b9840eae1 /src/components/script/dom/bindings/codegen/Configuration.py | |
parent | 46a33b4b38666252245af5dd3a38bb6f57ff8a8e (diff) | |
download | servo-91278da9dd55582401154e07f9eea34425a332c2.tar.gz servo-91278da9dd55582401154e07f9eea34425a332c2.zip |
Address review comments.
Diffstat (limited to 'src/components/script/dom/bindings/codegen/Configuration.py')
-rw-r--r-- | src/components/script/dom/bindings/codegen/Configuration.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/components/script/dom/bindings/codegen/Configuration.py b/src/components/script/dom/bindings/codegen/Configuration.py index dc4daa18b26..1272867f542 100644 --- a/src/components/script/dom/bindings/codegen/Configuration.py +++ b/src/components/script/dom/bindings/codegen/Configuration.py @@ -128,15 +128,18 @@ class Descriptor(DescriptorProvider): # Read the desc, and fill in the relevant defaults. ifaceName = self.interface.identifier.name + + # Callback types do not use JS smart pointers, so we should not use the + # built-in rooting mechanisms for them. if self.interface.isCallback(): - nativeTypeDefault = "nsIDOM" + ifaceName + self.needsRooting = False else: - nativeTypeDefault = 'JS<%s>' % ifaceName + self.needsRooting = True self.returnType = "Temporary<%s>" % ifaceName self.argumentType = "JSRef<%s>" % ifaceName self.memberType = "Root<'a, 'b, %s>" % ifaceName - self.nativeType = desc.get('nativeType', nativeTypeDefault) + self.nativeType = desc.get('nativeType', 'JS<%s>' % ifaceName) self.concreteType = desc.get('concreteType', ifaceName) self.createGlobal = desc.get('createGlobal', False) self.register = desc.get('register', True) |