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

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

Issue 12082122: Add supported checks to the SVG library, and library cleanup. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 months 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
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 the systems to generate 6 """This module provides shared functionality for the systems to generate
7 native binding from the IDL database.""" 7 native binding from the IDL database."""
8 8
9 import emitter 9 import emitter
10 import os 10 import os
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 arguments, 228 arguments,
229 self._interface.id, 229 self._interface.id,
230 'ConstructorRaisesException' in ext_attrs) 230 'ConstructorRaisesException' in ext_attrs)
231 231
232 def HasSupportCheck(self): 232 def HasSupportCheck(self):
233 # Need to omit a support check if it is conditional in JS. 233 # Need to omit a support check if it is conditional in JS.
234 return self._interface.doc_js_name in js_support_checks 234 return self._interface.doc_js_name in js_support_checks
235 235
236 def GetSupportCheck(self): 236 def GetSupportCheck(self):
237 # Assume that everything is supported on Dartium. 237 # Assume that everything is supported on Dartium.
238 return 'true' 238 value = js_support_checks.get(self._interface.doc_js_name)
239 if type(value) == tuple:
240 return (value[0], 'true')
241 else:
242 return 'true'
239 243
240 def FinishInterface(self): 244 def FinishInterface(self):
241 self._GenerateCPPHeader() 245 self._GenerateCPPHeader()
242 246
243 self._cpp_impl_emitter.Emit( 247 self._cpp_impl_emitter.Emit(
244 self._template_loader.Load('cpp_implementation.template'), 248 self._template_loader.Load('cpp_implementation.template'),
245 INTERFACE=self._interface.id, 249 INTERFACE=self._interface.id,
246 INCLUDES=self._GenerateCPPIncludes(self._cpp_impl_includes), 250 INCLUDES=self._GenerateCPPIncludes(self._cpp_impl_includes),
247 CALLBACKS=self._cpp_definitions_emitter.Fragments(), 251 CALLBACKS=self._cpp_definitions_emitter.Fragments(),
248 RESOLVER=self._cpp_resolver_emitter.Fragments(), 252 RESOLVER=self._cpp_resolver_emitter.Fragments(),
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu mentCount))\n' 895 ' if (Dart_NativeFunction func = $CLASS_NAME::resolver(name, argu mentCount))\n'
892 ' return func;\n', 896 ' return func;\n',
893 CLASS_NAME=os.path.splitext(os.path.basename(path))[0]) 897 CLASS_NAME=os.path.splitext(os.path.basename(path))[0])
894 898
895 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument): 899 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument):
896 return ( 900 return (
897 interface.id.endswith('Event') and 901 interface.id.endswith('Event') and
898 operation.id.startswith('init') and 902 operation.id.startswith('init') and
899 argument.ext_attrs.get('Optional') == 'DefaultIsUndefined' and 903 argument.ext_attrs.get('Optional') == 'DefaultIsUndefined' and
900 argument.type.id == 'DOMString') 904 argument.type.id == 'DOMString')
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698