| OLD | NEW |
| 1 {% from 'utilities.cpp.tmpl' import declare_enum_validation_variable, v8_value_t
o_local_cpp_value %} | 1 {% from 'utilities.cpp.tmpl' import declare_enum_validation_variable, v8_value_t
o_local_cpp_value %} |
| 2 | 2 |
| 3 {##############################################################################} | 3 {##############################################################################} |
| 4 {% macro generate_method(method, world_suffix) %} | 4 {% macro generate_method(method, world_suffix) %} |
| 5 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const
v8::FunctionCallbackInfo<v8::Value>& info) { | 5 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const
v8::FunctionCallbackInfo<v8::Value>& info) { |
| 6 {% filter format_remove_duplicates([ | 6 {% filter format_remove_duplicates([ |
| 7 'ExceptionState exceptionState', | 7 'ExceptionState exceptionState', |
| 8 'ScriptState* scriptState = ']) %} | 8 'ScriptState* scriptState = ']) %} |
| 9 {% set define_exception_state -%} | 9 {% set define_exception_state -%} |
| 10 ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionCont
ext, "{{interface_name}}", "{{method.name}}"); | 10 ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionCont
ext, "{{interface_name}}", "{{method.name}}"); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 {% endif %}{# interface_name == 'EventTarget' #} | 71 {% endif %}{# interface_name == 'EventTarget' #} |
| 72 {% endif %}{# method.is_check_security_for_receiver #} | 72 {% endif %}{# method.is_check_security_for_receiver #} |
| 73 {% if method.is_check_security_for_return_value %} | 73 {% if method.is_check_security_for_return_value %} |
| 74 {{define_exception_state}} | 74 {{define_exception_state}} |
| 75 if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()),
{{method.cpp_value}}, exceptionState)) { | 75 if (!BindingSecurity::shouldAllowAccessTo(currentDOMWindow(info.GetIsolate()),
{{method.cpp_value}}, exceptionState)) { |
| 76 v8SetReturnValueNull(info); | 76 v8SetReturnValueNull(info); |
| 77 return; | 77 return; |
| 78 } | 78 } |
| 79 {% endif %} | 79 {% endif %} |
| 80 | 80 |
| 81 {% if 'scriptState' in function_call %} | 81 {% set log_activity = world_suffix in method.activity_logging_world_list %} |
| 82 {% if 'scriptState' in function_call or log_activity %} |
| 82 {% if method.is_static %} | 83 {% if method.is_static %} |
| 83 ScriptState* scriptState = ScriptState::forFunctionObject(info); | 84 ScriptState* scriptState = ScriptState::forFunctionObject(info); |
| 84 {% else %} | 85 {% else %} |
| 85 ScriptState* scriptState = ScriptState::forReceiverObject(info); | 86 ScriptState* scriptState = ScriptState::forReceiverObject(info); |
| 86 {% endif %} | 87 {% endif %} |
| 87 {% endif %} | 88 {% endif %} |
| 88 | 89 |
| 90 {% if log_activity %} |
| 91 V8PerContextData* contextData = scriptState->perContextData(); |
| 92 if (contextData && contextData->activityLogger()) { |
| 93 ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionCo
ntext, "{{interface_name}}", "{{method.name}}"); |
| 94 Vector<v8::Local<v8::Value>> loggerArgs = toImplArguments<Vector<v8::Local<v
8::Value>>>(info, 0, exceptionState); |
| 95 contextData->activityLogger()->logMethod("{{interface_name}}.{{method.name}}
", info.Length(), loggerArgs.data()); |
| 96 } |
| 97 {% endif %} |
| 98 |
| 89 {% if method.is_custom_element_callbacks %} | 99 {% if method.is_custom_element_callbacks %} |
| 90 V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; | 100 V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; |
| 91 {% endif %} | 101 {% endif %} |
| 92 | 102 |
| 93 {{function_call | indent(2)}} | 103 {{function_call | indent(2)}} |
| 94 } | 104 } |
| 95 {% endfilter %} | 105 {% endfilter %} |
| 96 {% endmacro %} | 106 {% endmacro %} |
| 97 | 107 |
| 98 | 108 |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 {% macro method_callback(method, world_suffix) %} | 514 {% macro method_callback(method, world_suffix) %} |
| 505 void {{v8_class_or_partial}}::{{method.name}}MethodCallback{{world_suffix}}(cons
t v8::FunctionCallbackInfo<v8::Value>& info) { | 515 void {{v8_class_or_partial}}::{{method.name}}MethodCallback{{world_suffix}}(cons
t v8::FunctionCallbackInfo<v8::Value>& info) { |
| 506 {% if not method.overloads %}{# Overloaded methods are measured in overload_re
solution_method() #} | 516 {% if not method.overloads %}{# Overloaded methods are measured in overload_re
solution_method() #} |
| 507 {% if method.measure_as %} | 517 {% if method.measure_as %} |
| 508 UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::{{me
thod.measure_as('Method')}}); | 518 UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::{{me
thod.measure_as('Method')}}); |
| 509 {% endif %} | 519 {% endif %} |
| 510 {% if method.deprecate_as %} | 520 {% if method.deprecate_as %} |
| 511 Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseC
ounter::{{method.deprecate_as}}); | 521 Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseC
ounter::{{method.deprecate_as}}); |
| 512 {% endif %} | 522 {% endif %} |
| 513 {% endif %}{# not method.overloads #} | 523 {% endif %}{# not method.overloads #} |
| 514 {% if world_suffix in method.activity_logging_world_list %} | |
| 515 {% if method.is_static %} | |
| 516 ScriptState* scriptState = ScriptState::forFunctionObject(info); | |
| 517 {% else %} | |
| 518 ScriptState* scriptState = ScriptState::forReceiverObject(info); | |
| 519 {% endif %} | |
| 520 V8PerContextData* contextData = scriptState->perContextData(); | |
| 521 if (contextData && contextData->activityLogger()) { | |
| 522 ExceptionState exceptionState(info.GetIsolate(), ExceptionState::ExecutionCo
ntext, "{{interface_name}}", "{{method.name}}"); | |
| 523 Vector<v8::Local<v8::Value>> loggerArgs = toImplArguments<Vector<v8::Local<v
8::Value>>>(info, 0, exceptionState); | |
| 524 contextData->activityLogger()->logMethod("{{interface_name}}.{{method.name}}
", info.Length(), loggerArgs.data()); | |
| 525 } | |
| 526 {% endif %} | |
| 527 {% if method.is_ce_reactions %} | 524 {% if method.is_ce_reactions %} |
| 528 CEReactionsScope ceReactionsScope; | 525 CEReactionsScope ceReactionsScope; |
| 529 {% endif %} | 526 {% endif %} |
| 530 {% if method.is_custom %} | 527 {% if method.is_custom %} |
| 531 {{v8_class}}::{{method.name}}MethodCustom(info); | 528 {{v8_class}}::{{method.name}}MethodCustom(info); |
| 532 {% elif method.is_post_message %} | 529 {% elif method.is_post_message %} |
| 533 {{cpp_class_or_partial}}V8Internal::postMessageImpl("{{interface_name}}", {{v8
_class}}::toImpl(info.Holder()), info); | 530 {{cpp_class_or_partial}}V8Internal::postMessageImpl("{{interface_name}}", {{v8
_class}}::toImpl(info.Holder()), info); |
| 534 {% else %} | 531 {% else %} |
| 535 {{cpp_class_or_partial}}V8Internal::{{method.name}}Method{{world_suffix}}(info
); | 532 {{cpp_class_or_partial}}V8Internal::{{method.name}}Method{{world_suffix}}(info
); |
| 536 {% endif %} | 533 {% endif %} |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 if method.overloads else | 651 if method.overloads else |
| 655 method.runtime_enabled_feature_name) %} | 652 method.runtime_enabled_feature_name) %} |
| 656 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration
= {{method_configuration(method)}}; | 653 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration
= {{method_configuration(method)}}; |
| 657 V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), proto
typeObject, interfaceObject, signature, {{method.name}}MethodConfiguration); | 654 V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), proto
typeObject, interfaceObject, signature, {{method.name}}MethodConfiguration); |
| 658 {% endfilter %}{# runtime_enabled() #} | 655 {% endfilter %}{# runtime_enabled() #} |
| 659 {% endfilter %}{# exposed() #} | 656 {% endfilter %}{# exposed() #} |
| 660 {% endfilter %}{# secure_context() #} | 657 {% endfilter %}{# secure_context() #} |
| 661 {% endfor %} | 658 {% endfor %} |
| 662 {% endif %} | 659 {% endif %} |
| 663 {%- endmacro %} | 660 {%- endmacro %} |
| OLD | NEW |