diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-04-13 14:34:39 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-04-13 14:34:39 -0500 |
commit | 1f9c2f9b34dede8182f45655b03380f8c26f3475 (patch) | |
tree | 307f2ee1ea15bc8fc8ce418650bf4bef10f43516 /components/script/dom/bindings/codegen/Configuration.py | |
parent | 74c847a17fb560dd4cd62069778776f6f06df19f (diff) | |
parent | d2b0d5e04084c936a457d0718f98f860c380026b (diff) | |
download | servo-1f9c2f9b34dede8182f45655b03380f8c26f3475.tar.gz servo-1f9c2f9b34dede8182f45655b03380f8c26f3475.zip |
Auto merge of #3726 - ChrisParis:callback-constants, r=jdm
This addresses https://github.com/servo/servo/issues/3149. The immediate purpose is to support the constants in NodeFilter. The changes mostly follow the current Gecko Codegen.py. The main gist is that the generation of certain code artifacts is now gated by hasInterfaceObject() or hasInterfacePrototypeObject(), rather than by isCallback().
Diffstat (limited to 'components/script/dom/bindings/codegen/Configuration.py')
-rw-r--r-- | components/script/dom/bindings/codegen/Configuration.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index e6712357d35..5ea521e15b8 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -162,10 +162,12 @@ class Descriptor(DescriptorProvider): self.concreteType = ifaceName self.register = desc.get('register', True) self.outerObjectHook = desc.get('outerObjectHook', 'None') + self.proxy = False # If we're concrete, we need to crawl our ancestor interfaces and mark # them as having a concrete descendant. - self.concrete = desc.get('concrete', True) + self.concrete = (not self.interface.isCallback() and + desc.get('concrete', True)) self.operations = { 'IndexedGetter': None, @@ -190,7 +192,6 @@ class Descriptor(DescriptorProvider): addOperation('Stringifier', m) if self.concrete: - self.proxy = False iface = self.interface while iface: for m in iface.members: |