Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(381)

Side by Side Diff: tools/dom/scripts/generator.py

Issue 93933014: Changes for Chrome 32 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/dom/idl/dart/dart.idl ('k') | tools/dom/scripts/systemnative.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module provides shared functionality for systems to generate 6 """This module provides shared functionality for systems to generate
7 Dart APIs from the IDL database.""" 7 Dart APIs from the IDL database."""
8 8
9 import copy 9 import copy
10 import json 10 import json
11 import monitored 11 import monitored
12 import os 12 import os
13 import re 13 import re
14 from htmlrenamer import custom_html_constructors, html_interface_renames, \ 14 from htmlrenamer import custom_html_constructors, html_interface_renames, \
15 typed_array_renames 15 typed_array_renames
16 16
17 _pure_interfaces = monitored.Set('generator._pure_interfaces', [ 17 _pure_interfaces = monitored.Set('generator._pure_interfaces', [
18 # TODO(sra): DOMStringMap should be a class implementing Map<String,String>. 18 # TODO(sra): DOMStringMap should be a class implementing Map<String,String>.
19 'DOMStringMap', 19 'DOMStringMap',
20 'ChildNode', 20 'ChildNode',
21 'EventListener', 21 'EventListener',
22 'GlobalEventHandlers',
22 'MediaQueryListListener', 23 'MediaQueryListListener',
23 'MutationCallback', 24 'MutationCallback',
24 'NavigatorID', 25 'NavigatorID',
25 'NavigatorOnLine', 26 'NavigatorOnLine',
26 'ParentNode', 27 'ParentNode',
27 'SVGExternalResourcesRequired', 28 'SVGExternalResourcesRequired',
28 'SVGFilterPrimitiveStandardAttributes', 29 'SVGFilterPrimitiveStandardAttributes',
29 'SVGFitToViewBox', 30 'SVGFitToViewBox',
30 'SVGTests', 31 'SVGTests',
31 'SVGURIReference', 32 'SVGURIReference',
32 'SVGZoomAndPan', 33 'SVGZoomAndPan',
33 'TimeoutHandler', 34 'TimeoutHandler',
35 'URLUtils',
36 'URLUtilsReadOnly',
34 'WindowBase64', 37 'WindowBase64',
38 'WindowEventHandlers',
35 'WindowTimers', 39 'WindowTimers',
36 ]) 40 ])
37 41
38 def IsPureInterface(interface_name): 42 def IsPureInterface(interface_name):
39 return interface_name in _pure_interfaces 43 return interface_name in _pure_interfaces
40 44
41 # 45 #
42 # Classes which have native constructors but which we are suppressing because 46 # Classes which have native constructors but which we are suppressing because
43 # they are not cross-platform. 47 # they are not cross-platform.
44 # 48 #
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 def __repr__(self): 191 def __repr__(self):
188 content = 'name = %s, type_id = %s, is_optional = %s' % ( 192 content = 'name = %s, type_id = %s, is_optional = %s' % (
189 self.name, self.type_id, self.is_optional) 193 self.name, self.type_id, self.is_optional)
190 return '<ParamInfo(%s)>' % content 194 return '<ParamInfo(%s)>' % content
191 195
192 def GetCallbackInfo(interface): 196 def GetCallbackInfo(interface):
193 """For the given interface, find operations that take callbacks (for use in 197 """For the given interface, find operations that take callbacks (for use in
194 auto-transforming callbacks into futures).""" 198 auto-transforming callbacks into futures)."""
195 callback_handlers = [operation for operation in interface.operations 199 callback_handlers = [operation for operation in interface.operations
196 if operation.id == 'handleEvent'] 200 if operation.id == 'handleEvent']
201 if callback_handlers == []:
202 callback_handlers = [operation for operation in interface.operations
203 if operation.id == 'handleItem']
197 return AnalyzeOperation(interface, callback_handlers) 204 return AnalyzeOperation(interface, callback_handlers)
198 205
199 # Given a list of overloaded arguments, render dart arguments. 206 # Given a list of overloaded arguments, render dart arguments.
200 def _BuildArguments(args, interface, constructor=False): 207 def _BuildArguments(args, interface, constructor=False):
201 def IsOptional(argument): 208 def IsOptional(argument):
202 if 'Callback' in argument.ext_attrs: 209 if 'Callback' in argument.ext_attrs:
203 # Optional callbacks arguments are treated as optional arguments. 210 # Optional callbacks arguments are treated as optional arguments.
204 return argument.optional 211 return argument.optional
205 if constructor: 212 if constructor:
206 # FIXME: Optional constructors arguments should not be treated as 213 # FIXME: Optional constructors arguments should not be treated as
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 'SVGLength': TypeData(clazz='SVGTearOff'), 1172 'SVGLength': TypeData(clazz='SVGTearOff'),
1166 'SVGLengthList': TypeData(clazz='SVGTearOff', item_type='SVGLength'), 1173 'SVGLengthList': TypeData(clazz='SVGTearOff', item_type='SVGLength'),
1167 'SVGMatrix': TypeData(clazz='SVGTearOff'), 1174 'SVGMatrix': TypeData(clazz='SVGTearOff'),
1168 'SVGNumber': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SV GNumber>'), 1175 'SVGNumber': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SV GNumber>'),
1169 'SVGNumberList': TypeData(clazz='SVGTearOff', item_type='SVGNumber'), 1176 'SVGNumberList': TypeData(clazz='SVGTearOff', item_type='SVGNumber'),
1170 'SVGPathSegList': TypeData(clazz='SVGTearOff', item_type='SVGPathSeg', 1177 'SVGPathSegList': TypeData(clazz='SVGTearOff', item_type='SVGPathSeg',
1171 native_type='SVGPathSegListPropertyTearOff'), 1178 native_type='SVGPathSegListPropertyTearOff'),
1172 'SVGPoint': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<Flo atPoint>'), 1179 'SVGPoint': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<Flo atPoint>'),
1173 'SVGPointList': TypeData(clazz='SVGTearOff'), 1180 'SVGPointList': TypeData(clazz='SVGTearOff'),
1174 'SVGPreserveAspectRatio': TypeData(clazz='SVGTearOff'), 1181 'SVGPreserveAspectRatio': TypeData(clazz='SVGTearOff'),
1175 'SVGRect': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<Floa tRect>'), 1182 'SVGRect': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SVGR ect>'),
Jacob 2013/12/20 19:09:16 Drive by comment... the names on both sides are no
1176 'SVGStringList': TypeData(clazz='SVGTearOff', item_type='DOMString', 1183 'SVGStringList': TypeData(clazz='SVGTearOff', item_type='DOMString',
1177 native_type='SVGStaticListPropertyTearOff<SVGStringList>'), 1184 native_type='SVGStaticListPropertyTearOff<SVGStringList>'),
1178 'SVGTransform': TypeData(clazz='SVGTearOff'), 1185 'SVGTransform': TypeData(clazz='SVGTearOff'),
1179 'SVGTransformList': TypeData(clazz='SVGTearOff', item_type='SVGTransform', 1186 'SVGTransformList': TypeData(clazz='SVGTearOff', item_type='SVGTransform',
1180 native_type='SVGTransformListPropertyTearOff'), 1187 native_type='SVGTransformListPropertyTearOff'),
1181 }) 1188 })
1182 1189
1183 _svg_supplemental_includes = [ 1190 _svg_supplemental_includes = [
1184 '"SVGAnimatedPropertyTearOff.h"', 1191 '"SVGAnimatedPropertyTearOff.h"',
1185 '"SVGAnimatedListPropertyTearOff.h"', 1192 '"SVGAnimatedListPropertyTearOff.h"',
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 if type_data.clazz == 'BasicTypedList': 1261 if type_data.clazz == 'BasicTypedList':
1255 if type_name == 'ArrayBuffer': 1262 if type_name == 'ArrayBuffer':
1256 dart_interface_name = 'ByteBuffer' 1263 dart_interface_name = 'ByteBuffer'
1257 else: 1264 else:
1258 dart_interface_name = self._renamer.RenameInterfaceId(type_name) 1265 dart_interface_name = self._renamer.RenameInterfaceId(type_name)
1259 return BasicTypedListIDLTypeInfo( 1266 return BasicTypedListIDLTypeInfo(
1260 type_name, type_data, dart_interface_name, self) 1267 type_name, type_data, dart_interface_name, self)
1261 1268
1262 class_name = '%sIDLTypeInfo' % type_data.clazz 1269 class_name = '%sIDLTypeInfo' % type_data.clazz
1263 return globals()[class_name](type_name, type_data) 1270 return globals()[class_name](type_name, type_data)
OLDNEW
« no previous file with comments | « tools/dom/idl/dart/dart.idl ('k') | tools/dom/scripts/systemnative.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698