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')): |
Nils Barth (inactive)
2014/03/05 07:49:13
Could you add a test case to TestCallbackInterface
sof
2014/03/05 08:15:17
Done; I actually think 'HeapVector' should also be
Nils Barth (inactive)
2014/03/05 09:20:10
We can cross that bridge when we come to it, I ass
| |
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 |