| OLD | NEW |
| 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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 66 |
| 67 def cpp_type(idl_type): | 67 def cpp_type(idl_type): |
| 68 # FIXME: remove this function by making callback types consistent | 68 # FIXME: remove this function by making callback types consistent |
| 69 # (always use usual v8_types.cpp_type) | 69 # (always use usual v8_types.cpp_type) |
| 70 if idl_type == 'DOMString': | 70 if idl_type == 'DOMString': |
| 71 return 'const String&' | 71 return 'const String&' |
| 72 if idl_type == 'void': | 72 if idl_type == 'void': |
| 73 return 'void' | 73 return 'void' |
| 74 # Callbacks use raw pointers, so used_as_argument=True | 74 # Callbacks use raw pointers, so used_as_argument=True |
| 75 usual_cpp_type = v8_types.cpp_type(idl_type, used_as_argument=True) | 75 usual_cpp_type = v8_types.cpp_type(idl_type, used_as_argument=True) |
| 76 if usual_cpp_type.startswith('Vector'): | 76 if usual_cpp_type.startswith(('Vector', 'WillBeHeapVector')): |
| 77 return 'const %s&' % usual_cpp_type | 77 return 'const %s&' % usual_cpp_type |
| 78 return usual_cpp_type | 78 return usual_cpp_type |
| 79 | 79 |
| 80 | 80 |
| 81 def generate_callback_interface(callback_interface): | 81 def generate_callback_interface(callback_interface): |
| 82 includes.clear() | 82 includes.clear() |
| 83 includes.update(CALLBACK_INTERFACE_CPP_INCLUDES) | 83 includes.update(CALLBACK_INTERFACE_CPP_INCLUDES) |
| 84 name = callback_interface.name | 84 name = callback_interface.name |
| 85 | 85 |
| 86 methods = [generate_method(operation) | 86 methods = [generate_method(operation) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 argument_declarations = [ | 132 argument_declarations = [ |
| 133 '%s %s' % (cpp_type(argument.idl_type), argument.name) | 133 '%s %s' % (cpp_type(argument.idl_type), argument.name) |
| 134 for argument in arguments] | 134 for argument in arguments] |
| 135 if call_with_this_handle: | 135 if call_with_this_handle: |
| 136 argument_declarations.insert(0, 'ScriptValue thisValue') | 136 argument_declarations.insert(0, 'ScriptValue thisValue') |
| 137 return { | 137 return { |
| 138 'argument_declarations': argument_declarations, | 138 'argument_declarations': argument_declarations, |
| 139 'arguments': [generate_argument(argument) for argument in arguments], | 139 'arguments': [generate_argument(argument) for argument in arguments], |
| 140 'handles': ['%sHandle' % argument.name for argument in arguments], | 140 'handles': ['%sHandle' % argument.name for argument in arguments], |
| 141 } | 141 } |
| OLD | NEW |