Chromium Code Reviews| Index: Source/bindings/scripts/v8_callback_interface.py |
| diff --git a/Source/bindings/scripts/v8_callback_interface.py b/Source/bindings/scripts/v8_callback_interface.py |
| index 06c18f2b8097f5f3edffd8895c6c652bdbcd60da..338441300fc868a9998a80d2afbfc9295f9dbdac 100644 |
| --- a/Source/bindings/scripts/v8_callback_interface.py |
| +++ b/Source/bindings/scripts/v8_callback_interface.py |
| @@ -61,11 +61,11 @@ def cpp_type(idl_type): |
| return 'const String&' |
| if idl_type_name == 'void': |
| return 'void' |
| - # Callbacks use raw pointers, so used_as_argument=True |
| - usual_cpp_type = idl_type.cpp_type_args(used_as_argument=True) |
| - if usual_cpp_type.startswith(('Vector', 'HeapVector', 'WillBeHeapVector')): |
| - return 'const %s&' % usual_cpp_type |
| - return usual_cpp_type |
| + # Callbacks use raw pointers, so used_as_primitive_type=True |
|
Nils Barth (inactive)
2014/06/23 03:14:29
This is confusing, because "primitive type" is a t
|
| + primitive_cpp_type = idl_type.cpp_type_args(used_as_primitive_type=True) |
| + if primitive_cpp_type.startswith(('Vector', 'HeapVector', 'WillBeHeapVector')): |
| + return 'const %s&' % primitive_cpp_type |
| + return primitive_cpp_type |
| IdlType.callback_cpp_type = property(cpp_type) |
| @@ -115,10 +115,6 @@ def generate_arguments_contents(arguments, call_with_this_handle): |
| def generate_argument(argument): |
| return { |
| 'handle': '%sHandle' % argument.name, |
| - # FIXME: setting creation_context=v8::Handle<v8::Object>() is |
| - # wrong, as toV8 then implicitly uses the current context, which |
| - # causes leaks between isolated worlds if a different context is |
| - # used. |
| 'cpp_value_to_v8_value': argument.idl_type.cpp_value_to_v8_value( |
| argument.name, isolate='isolate', |
| creation_context='m_scriptState->context()->Global()'), |