| 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 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 postMessageImpl("{{interface_name}}", {{v8_class}}::toImpl(info.Holder()), inf
o); | 504 postMessageImpl("{{interface_name}}", {{v8_class}}::toImpl(info.Holder()), inf
o); |
| 505 {% else %} | 505 {% else %} |
| 506 {{cpp_class_or_partial}}V8Internal::{{method.name}}Method{{world_suffix}}(info
); | 506 {{cpp_class_or_partial}}V8Internal::{{method.name}}Method{{world_suffix}}(info
); |
| 507 {% endif %} | 507 {% endif %} |
| 508 } | 508 } |
| 509 {% endmacro %} | 509 {% endmacro %} |
| 510 | 510 |
| 511 | 511 |
| 512 {##############################################################################} | 512 {##############################################################################} |
| 513 {% macro origin_safe_method_getter(method, world_suffix) %} | 513 {% macro origin_safe_method_getter(method, world_suffix) %} |
| 514 {# TODO(dcheng): This shouldn't be necessary with cross-origin interceptors, but |
| 515 v8 doesn't support querying the incumbent context. For now, always |
| 516 incorrectly create per-realm representations. #} |
| 514 static void {{method.name}}OriginSafeMethodGetter{{world_suffix}}(const v8::Prop
ertyCallbackInfo<v8::Value>& info) { | 517 static void {{method.name}}OriginSafeMethodGetter{{world_suffix}}(const v8::Prop
ertyCallbackInfo<v8::Value>& info) { |
| 515 static int domTemplateKey; // This address is used for a key to look up the do
m template. | 518 static int domTemplateKey; // This address is used for a key to look up the do
m template. |
| 516 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); | 519 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); |
| 517 const DOMWrapperWorld& world = DOMWrapperWorld::world(info.GetIsolate()->GetCu
rrentContext()); | 520 const DOMWrapperWorld& world = DOMWrapperWorld::world(info.GetIsolate()->GetCu
rrentContext()); |
| 518 v8::Local<v8::FunctionTemplate> interfaceTemplate = data->findInterfaceTemplat
e(world, &{{v8_class}}::wrapperTypeInfo); | 521 v8::Local<v8::FunctionTemplate> interfaceTemplate = data->findInterfaceTemplat
e(world, &{{v8_class}}::wrapperTypeInfo); |
| 519 v8::Local<v8::Signature> signature = v8::Signature::New(info.GetIsolate(), int
erfaceTemplate); | 522 v8::Local<v8::Signature> signature = v8::Signature::New(info.GetIsolate(), int
erfaceTemplate); |
| 520 | 523 |
| 521 v8::Local<v8::FunctionTemplate> methodTemplate = data->findOrCreateOperationTe
mplate(world, &domTemplateKey, {{cpp_class}}V8Internal::{{method.name}}MethodCal
lback{{world_suffix}}, v8Undefined(), signature, {{method.length}}); | 524 v8::Local<v8::FunctionTemplate> methodTemplate = data->findOrCreateOperationTe
mplate(world, &domTemplateKey, {{cpp_class}}V8Internal::{{method.name}}MethodCal
lback{{world_suffix}}, v8Undefined(), signature, {{method.length}}); |
| 522 // Return the function by default, unless the user script has overwritten it. | 525 // Return the function by default, unless the user script has overwritten it. |
| 523 v8SetReturnValue(info, methodTemplate->GetFunction(info.GetIsolate()->GetCurre
ntContext()).ToLocalChecked()); | 526 v8SetReturnValue(info, methodTemplate->GetFunction(info.GetIsolate()->GetCurre
ntContext()).ToLocalChecked()); |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 if method.overloads else | 665 if method.overloads else |
| 663 method.runtime_enabled_function) %} | 666 method.runtime_enabled_function) %} |
| 664 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration
= {{method_configuration(method)}}; | 667 const V8DOMConfiguration::MethodConfiguration {{method.name}}MethodConfiguration
= {{method_configuration(method)}}; |
| 665 V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), proto
typeObject, interfaceObject, signature, {{method.name}}MethodConfiguration); | 668 V8DOMConfiguration::installMethod(isolate, world, v8::Local<v8::Object>(), proto
typeObject, interfaceObject, signature, {{method.name}}MethodConfiguration); |
| 666 {% endfilter %}{# runtime_enabled() #} | 669 {% endfilter %}{# runtime_enabled() #} |
| 667 {% endfilter %}{# exposed() #} | 670 {% endfilter %}{# exposed() #} |
| 668 {% endfilter %}{# secure_context() #} | 671 {% endfilter %}{# secure_context() #} |
| 669 {% endfor %} | 672 {% endfor %} |
| 670 {% endif %} | 673 {% endif %} |
| 671 {%- endmacro %} | 674 {%- endmacro %} |
| OLD | NEW |