| Index: tools/dom/scripts/generator.py
|
| diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
|
| index 73bf90ecc22721d37adcbe9bc7d56c959daba5fb..e2b6fc4d0f6b4671b0c8a8f1d5c1ee682fdf917e 100644
|
| --- a/tools/dom/scripts/generator.py
|
| +++ b/tools/dom/scripts/generator.py
|
| @@ -626,6 +626,10 @@ class IDLTypeInfo(object):
|
| if self._idl_type in WTF_INCLUDES:
|
| return ['<wtf/%s.h>' % self.native_type()]
|
|
|
| + # TODO(vsm): Why does this need special casing?
|
| + if self._idl_type == 'AnalyserNode':
|
| + return ['"AnalyserNode.h"', '<wtf/Uint8Array.h>']
|
| +
|
| if not self._idl_type.startswith('SVG'):
|
| return ['"%s.h"' % self.native_type()]
|
|
|
| @@ -688,6 +692,14 @@ class InterfaceIDLTypeInfo(IDLTypeInfo):
|
|
|
| return implementation_name
|
|
|
| + def native_type(self):
|
| + database = self._type_registry._database
|
| + if database.HasInterface(self.idl_type()):
|
| + interface = database.GetInterface(self.idl_type())
|
| + if 'ImplementedAs' in interface.ext_attrs:
|
| + return interface.ext_attrs['ImplementedAs']
|
| + return super(InterfaceIDLTypeInfo, self).native_type()
|
| +
|
| def has_generated_interface(self):
|
| return not self._data.suppress_interface
|
|
|
| @@ -979,8 +991,8 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
|
| item_type='CSSRule', suppress_interface=True),
|
| 'CSSValueList': TypeData(clazz='Interface',
|
| item_type='CSSValue', suppress_interface=True),
|
| - 'DOMMimeTypeArray': TypeData(clazz='Interface', item_type='DOMMimeType'),
|
| - 'DOMPluginArray': TypeData(clazz='Interface', item_type='DOMPlugin'),
|
| + 'MimeTypeArray': TypeData(clazz='Interface', item_type='MimeType'),
|
| + 'PluginArray': TypeData(clazz='Interface', item_type='Plugin'),
|
| 'DOMStringList': TypeData(clazz='Interface', item_type='DOMString',
|
| dart_type='List<String>', custom_to_native=True),
|
| 'EntryArray': TypeData(clazz='Interface', item_type='Entry',
|
| @@ -999,7 +1011,7 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
|
| suppress_interface=False, dart_type='List<Node>'),
|
| 'SVGElementInstanceList': TypeData(clazz='Interface',
|
| item_type='SVGElementInstance', suppress_interface=True),
|
| - 'SourceBufferList': TypeData(clazz='Interface', item_type='SourceBuffer'),
|
| + 'WebKitSourceBufferList': TypeData(clazz='Interface', item_type='WebKitSourceBuffer'),
|
| 'SpeechGrammarList': TypeData(clazz='Interface', item_type='SpeechGrammar'),
|
| 'SpeechInputResultList': TypeData(clazz='Interface',
|
| item_type='SpeechInputResult', suppress_interface=True),
|
|
|