| 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
|
| + 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()'),
|
|
|