| Index: tools/dom/scripts/idlnode.py
|
| ===================================================================
|
| --- tools/dom/scripts/idlnode.py (revision 22764)
|
| +++ tools/dom/scripts/idlnode.py (working copy)
|
| @@ -409,6 +409,13 @@
|
| javascript_interface_name = self.ext_attrs.get('InterfaceName', self.id)
|
| self.javascript_binding_name = javascript_interface_name
|
| self.doc_js_name = javascript_interface_name
|
| +
|
| + if not (self._find_first(ast, 'Callback') is None):
|
| + self.ext_attrs['Callback'] = None
|
| + if not (self._find_first(ast, 'Partial') is None):
|
| + self.is_supplemental = True
|
| + self.ext_attrs['Supplemental'] = None
|
| +
|
| self.operations = self._convert_all(ast, 'Operation',
|
| lambda ast: IDLOperation(ast, self.doc_js_name))
|
| self.attributes = self._convert_all(ast, 'Attribute',
|
| @@ -419,6 +426,7 @@
|
| self.is_no_interface_object = 'NoInterfaceObject' in self.ext_attrs
|
| self.is_fc_suppressed = 'Suppressed' in self.ext_attrs
|
|
|
| +
|
| def reset_id(self, new_id):
|
| """Reset the id of the Interface and corresponding the JS names."""
|
| if self.id != new_id:
|
| @@ -499,6 +507,9 @@
|
| self.type = self._convert_first(ast, 'Type', IDLType)
|
| self.optional = self._has(ast, 'Optional')
|
| self._convert_ext_attrs(ast)
|
| + # TODO(vsm): Recover this from the type instead.
|
| + if 'Callback' in self.type.id:
|
| + self.ext_attrs['Callback'] = None
|
|
|
| def __repr__(self):
|
| return '<IDLArgument(type = %s, id = %s)>' % (self.type, self.id)
|
|
|