Chromium Code Reviews| Index: tools/dom/scripts/idlnode.py |
| diff --git a/tools/dom/scripts/idlnode.py b/tools/dom/scripts/idlnode.py |
| index 60a6ef7ddbf8e0977d7b3783287323a59d96726f..ea6d78d552c8a9ecbde64c1acb02d09837c6c799 100755 |
| --- a/tools/dom/scripts/idlnode.py |
| +++ b/tools/dom/scripts/idlnode.py |
| @@ -409,6 +409,13 @@ class IDLInterface(IDLNode): |
| 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 |
|
Anton Muhin
2013/05/17 09:55:05
I think it should be properties on the IDLInterfac
|
| + 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 @@ class IDLInterface(IDLNode): |
| 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 @@ class IDLArgument(IDLNode): |
| 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 |
|
Anton Muhin
2013/05/17 09:55:05
ditto
|
| def __repr__(self): |
| return '<IDLArgument(type = %s, id = %s)>' % (self.type, self.id) |