Index: client/dom/scripts/idlnode.py |
diff --git a/client/dom/scripts/idlnode.py b/client/dom/scripts/idlnode.py |
index 356c77f1f262fc4081501e1b353e35bc9dae8acf..a4a54bea734a34edf48d104fbea8480f014cf9a9 100755 |
--- a/client/dom/scripts/idlnode.py |
+++ b/client/dom/scripts/idlnode.py |
@@ -351,7 +351,21 @@ class IDLInterface(IDLNode): |
self.is_supplemental = 'Supplemental' in self.ext_attrs |
self.is_no_interface_object = 'NoInterfaceObject' in self.ext_attrs |
self.is_fc_suppressed = 'Suppressed' in self.ext_attrs |
+ self.javascript_binding_name = self.id |
+ def has_attribute(self, candidate): |
+ for attribute in self.attributes: |
+ if attribute.id == candidate.id and attribute.is_fc_getter == candidate.is_fc_getter and attribute.is_fc_setter == candidate.is_fc_setter: |
+ return True |
+ return False |
+ |
+ def merge(self, other): |
+ self.operations.extend(other.operations) |
+ for attribute in other.attributes: |
+ if not self.has_attribute(attribute): |
+ self.attributes.append(attribute) |
+ |
+ self.constants.extend(other.constants) |
class IDLParentInterface(IDLNode): |
"""This IDLNode specialization is for 'Interface Child : Parent {}' |