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

Side by Side Diff: sky/engine/bindings/scripts/dart_methods.py

Issue 1173703002: Move image loading out of C++ into Dart (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rename fetchMojo to fetchUrl Created 5 years, 6 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
« no previous file with comments | « no previous file | sky/engine/bindings/scripts/dart_types.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 # Copyright (C) 2013 Google Inc. All rights reserved. 1 # Copyright (C) 2013 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 ################################################################################ 147 ################################################################################
148 148
149 def cpp_value(interface, method, number_of_arguments): 149 def cpp_value(interface, method, number_of_arguments):
150 def cpp_argument(argument): 150 def cpp_argument(argument):
151 argument_name = dart_types.check_reserved_name(argument.name) 151 argument_name = dart_types.check_reserved_name(argument.name)
152 idl_type = argument.idl_type 152 idl_type = argument.idl_type
153 153
154 if idl_type.is_typed_array_type: 154 if idl_type.is_typed_array_type:
155 return '%s.get()' % argument_name 155 return '%s.get()' % argument_name
156 156
157 # TODO(eseidel): This should check cpp_type.endswith('Handle')
158 if idl_type.name == 'MojoDataPipeConsumer':
159 return '%s.Pass()' % argument_name
160
157 if idl_type.name == 'EventListener': 161 if idl_type.name == 'EventListener':
158 if (interface.name == 'EventTarget' and 162 if (interface.name == 'EventTarget' and
159 method.name == 'removeEventListener'): 163 method.name == 'removeEventListener'):
160 # FIXME: remove this special case by moving get() into 164 # FIXME: remove this special case by moving get() into
161 # EventTarget::removeEventListener 165 # EventTarget::removeEventListener
162 return '%s.get()' % argument_name 166 return '%s.get()' % argument_name
163 return argument.name 167 return argument.name
164 if (idl_type.is_callback_interface or 168 if idl_type.is_callback_interface:
165 idl_type.name in ['NodeFilter', 'XPathNSResolver']):
166 # FIXME: remove this special case
167 return '%s.release()' % argument_name 169 return '%s.release()' % argument_name
168 return argument_name 170 return argument_name
169 171
170 # Truncate omitted optional arguments 172 # Truncate omitted optional arguments
171 arguments = method.arguments[:number_of_arguments] 173 arguments = method.arguments[:number_of_arguments]
172 if method.is_constructor: 174 if method.is_constructor:
173 call_with_values = interface.extended_attributes.get('ConstructorCallWit h') 175 call_with_values = interface.extended_attributes.get('ConstructorCallWit h')
174 else: 176 else:
175 call_with_values = method.extended_attributes.get('CallWith') 177 call_with_values = method.extended_attributes.get('CallWith')
176 cpp_arguments = DartUtilities.call_with_arguments(call_with_values) 178 cpp_arguments = DartUtilities.call_with_arguments(call_with_values)
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 # removeEventListener methods that should be added in somewhere. 239 # removeEventListener methods that should be added in somewhere.
238 # There is also some logic in systemnative.py to force a null check 240 # There is also some logic in systemnative.py to force a null check
239 # for the useCapture argument of those same methods that we may need to 241 # for the useCapture argument of those same methods that we may need to
240 # pull over. 242 # pull over.
241 null_check = ((argument.is_optional and idl_type.is_callback_interface) or 243 null_check = ((argument.is_optional and idl_type.is_callback_interface) or
242 (argument.default_value and argument.default_value.is_null)) 244 (argument.default_value and argument.default_value.is_null))
243 245
244 return idl_type.dart_value_to_local_cpp_value( 246 return idl_type.dart_value_to_local_cpp_value(
245 extended_attributes, name, null_check, has_type_checking_interface, 247 extended_attributes, name, null_check, has_type_checking_interface,
246 index=index, auto_scope=auto_scope) 248 index=index, auto_scope=auto_scope)
OLDNEW
« no previous file with comments | « no previous file | sky/engine/bindings/scripts/dart_types.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698