OLD | NEW |
---|---|
1 {% extends 'interface_base.cpp' %} | 1 {% extends 'interface_base.cpp' %} |
2 | 2 |
3 | 3 |
4 {##############################################################################} | 4 {##############################################################################} |
5 {% block indexed_property_getter %} | 5 {% block indexed_property_getter %} |
6 {% if indexed_property_getter and not indexed_property_getter.is_custom %} | 6 {% if indexed_property_getter and not indexed_property_getter.is_custom %} |
7 {% set getter = indexed_property_getter %} | 7 {% set getter = indexed_property_getter %} |
8 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo <v8::Value>& info) | 8 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo <v8::Value>& info) |
9 { | 9 { |
10 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); | 10 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
297 {% endif %} | 297 {% endif %} |
298 {% endblock %} | 298 {% endblock %} |
299 | 299 |
300 | 300 |
301 {##############################################################################} | 301 {##############################################################################} |
302 {% block named_property_query %} | 302 {% block named_property_query %} |
303 {% if named_property_getter and named_property_getter.is_enumerable and | 303 {% if named_property_getter and named_property_getter.is_enumerable and |
304 not named_property_getter.is_custom_property_query %} | 304 not named_property_getter.is_custom_property_query %} |
305 {# If there is an enumerator, there MUST be a query method to properly | 305 {# If there is an enumerator, there MUST be a query method to properly |
306 communicate property attributes. #} | 306 communicate property attributes. #} |
307 {% set getter = named_property_getter %} | |
307 static void namedPropertyQuery(v8::Local<v8::Name> name, const v8::PropertyCallb ackInfo<v8::Integer>& info) | 308 static void namedPropertyQuery(v8::Local<v8::Name> name, const v8::PropertyCallb ackInfo<v8::Integer>& info) |
308 { | 309 { |
309 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); | 310 {{cpp_class}}* impl = {{v8_class}}::toImpl(info.Holder()); |
310 AtomicString propertyName = toCoreAtomicString(name.As<v8::String>()); | 311 AtomicString propertyName = toCoreAtomicString(name.As<v8::String>()); |
311 v8::String::Utf8Value namedProperty(name); | 312 v8::String::Utf8Value namedProperty(name); |
312 ExceptionState exceptionState(ExceptionState::GetterContext, *namedProperty, "{{interface_name}}", info.Holder(), info.GetIsolate()); | 313 ExceptionState exceptionState(ExceptionState::GetterContext, *namedProperty, "{{interface_name}}", info.Holder(), info.GetIsolate()); |
313 bool result = impl->namedPropertyQuery(propertyName, exceptionState); | 314 {% if getter.is_call_with_script_state %} |
315 ScriptState* scriptState = ScriptState::current(info.GetIsolate()); | |
316 {% endif %} | |
317 {% set getter_arguments = ['propertyName', 'exceptionState'] %} | |
318 {% if getter.is_call_with_script_state %} | |
319 {% set getter_arguments = ['scriptState'] + getter_arguments %} | |
320 {% endif %} | |
haraken
2015/04/29 15:53:45
{% set getter_arguments = ['propertyName', 'except
| |
321 bool result = impl->namedPropertyQuery({{getter_arguments | join(', ')}}); | |
314 if (exceptionState.throwIfNeeded()) | 322 if (exceptionState.throwIfNeeded()) |
315 return; | 323 return; |
316 if (!result) | 324 if (!result) |
317 return; | 325 return; |
318 v8SetReturnValueInt(info, v8::None); | 326 v8SetReturnValueInt(info, v8::None); |
319 } | 327 } |
320 | 328 |
321 {% endif %} | 329 {% endif %} |
322 {% endblock %} | 330 {% endblock %} |
323 | 331 |
(...skipping 27 matching lines...) Expand all Loading... | |
351 AtomicString propertyName = toCoreAtomicString(name.As<v8::String>()); | 359 AtomicString propertyName = toCoreAtomicString(name.As<v8::String>()); |
352 {% if deleter.is_raises_exception %} | 360 {% if deleter.is_raises_exception %} |
353 v8::String::Utf8Value namedProperty(name); | 361 v8::String::Utf8Value namedProperty(name); |
354 ExceptionState exceptionState(ExceptionState::DeletionContext, *namedPropert y, "{{interface_name}}", info.Holder(), info.GetIsolate()); | 362 ExceptionState exceptionState(ExceptionState::DeletionContext, *namedPropert y, "{{interface_name}}", info.Holder(), info.GetIsolate()); |
355 {% endif %} | 363 {% endif %} |
356 {% if deleter.is_call_with_script_state %} | 364 {% if deleter.is_call_with_script_state %} |
357 ScriptState* scriptState = ScriptState::current(info.GetIsolate()); | 365 ScriptState* scriptState = ScriptState::current(info.GetIsolate()); |
358 {% endif %} | 366 {% endif %} |
359 {% set deleter_name = deleter.name or 'anonymousNamedDeleter' %} | 367 {% set deleter_name = deleter.name or 'anonymousNamedDeleter' %} |
360 {% set deleter_arguments = ['propertyName'] %} | 368 {% set deleter_arguments = ['propertyName'] %} |
361 {% if deleter.is_call_with_script_state %} | 369 {% if deleter.is_call_with_script_state %} |
haraken
2015/04/29 15:53:45
Ditto. (Not related to your CL though.)
| |
362 {% set deleter_arguments = ['scriptState'] + deleter_arguments %} | 370 {% set deleter_arguments = ['scriptState'] + deleter_arguments %} |
363 {% endif %} | 371 {% endif %} |
364 {% if deleter.is_raises_exception %} | 372 {% if deleter.is_raises_exception %} |
365 {% set deleter_arguments = deleter_arguments + ['exceptionState'] %} | 373 {% set deleter_arguments = deleter_arguments + ['exceptionState'] %} |
366 {% endif %} | 374 {% endif %} |
367 DeleteResult result = impl->{{deleter_name}}({{deleter_arguments | join(', ' )}}); | 375 DeleteResult result = impl->{{deleter_name}}({{deleter_arguments | join(', ' )}}); |
368 {% if deleter.is_raises_exception %} | 376 {% if deleter.is_raises_exception %} |
369 if (exceptionState.throwIfNeeded()) | 377 if (exceptionState.throwIfNeeded()) |
370 return; | 378 return; |
371 {% endif %} | 379 {% endif %} |
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1042 } | 1050 } |
1043 | 1051 |
1044 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} | 1052 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} |
1045 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) | 1053 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) |
1046 { | 1054 { |
1047 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; | 1055 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; |
1048 } | 1056 } |
1049 {% endfor %} | 1057 {% endfor %} |
1050 {% endif %} | 1058 {% endif %} |
1051 {% endblock %} | 1059 {% endblock %} |
OLD | NEW |