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 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 {% from 'methods.cpp' import generate_constructor with context %} | 475 {% from 'methods.cpp' import generate_constructor with context %} |
476 {% if named_constructor %} | 476 {% if named_constructor %} |
477 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class | 477 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class |
478 if is_active_dom_object else '0' %} | 478 if is_active_dom_object else '0' %} |
479 // Suppress warning: global constructors, because struct WrapperTypeInfo is triv
ial | 479 // Suppress warning: global constructors, because struct WrapperTypeInfo is triv
ial |
480 // and does not depend on another global objects. | 480 // and does not depend on another global objects. |
481 #if defined(COMPONENT_BUILD) && defined(WIN32) && COMPILER(CLANG) | 481 #if defined(COMPONENT_BUILD) && defined(WIN32) && COMPILER(CLANG) |
482 #pragma clang diagnostic push | 482 #pragma clang diagnostic push |
483 #pragma clang diagnostic ignored "-Wglobal-constructors" | 483 #pragma clang diagnostic ignored "-Wglobal-constructors" |
484 #endif | 484 #endif |
485 const WrapperTypeInfo {{v8_class}}Constructor::wrapperTypeInfo = { gin::kEmbedde
rBlink, {{v8_class}}Constructor::domTemplate, {{v8_class}}::refObject, {{v8_clas
s}}::derefObject, {{v8_class}}::trace, {{to_active_dom_object}}, 0, {{v8_class}}
::preparePrototypeObject, {{v8_class}}::installConditionallyEnabledProperties, "
{{interface_name}}", 0, WrapperTypeInfo::WrapperTypeObjectPrototype, WrapperType
Info::{{wrapper_class_id}}, WrapperTypeInfo::{{event_target_inheritance}}, Wrapp
erTypeInfo::{{lifetime}}, WrapperTypeInfo::{{gc_type}} }; | 485 const WrapperTypeInfo {{v8_class}}Constructor::wrapperTypeInfo = { gin::kEmbedde
rBlink, {{v8_class}}Constructor::domTemplate, {{v8_class}}::refObject, {{v8_clas
s}}::derefObject, {{v8_class}}::trace, {{to_active_dom_object}}, 0, {{v8_class}}
::preparePrototypeAndInterfaceObject, {{v8_class}}::installConditionallyEnabledP
roperties, "{{interface_name}}", 0, WrapperTypeInfo::WrapperTypeObjectPrototype,
WrapperTypeInfo::{{wrapper_class_id}}, WrapperTypeInfo::{{event_target_inherita
nce}}, WrapperTypeInfo::{{lifetime}}, WrapperTypeInfo::{{gc_type}} }; |
486 #if defined(COMPONENT_BUILD) && defined(WIN32) && COMPILER(CLANG) | 486 #if defined(COMPONENT_BUILD) && defined(WIN32) && COMPILER(CLANG) |
487 #pragma clang diagnostic pop | 487 #pragma clang diagnostic pop |
488 #endif | 488 #endif |
489 | 489 |
490 {{generate_constructor(named_constructor)}} | 490 {{generate_constructor(named_constructor)}} |
491 v8::Local<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate
* isolate) | 491 v8::Local<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate
* isolate) |
492 { | 492 { |
493 static int domTemplateKey; // This address is used for a key to look up the
dom template. | 493 static int domTemplateKey; // This address is used for a key to look up the
dom template. |
494 V8PerIsolateData* data = V8PerIsolateData::from(isolate); | 494 V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
495 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl
ateKey); | 495 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl
ateKey); |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 | 780 |
781 {% endblock %} | 781 {% endblock %} |
782 | 782 |
783 | 783 |
784 {##############################################################################} | 784 {##############################################################################} |
785 {% block install_conditional_attributes %} | 785 {% block install_conditional_attributes %} |
786 {% from 'attributes.cpp' import attribute_configuration with context %} | 786 {% from 'attributes.cpp' import attribute_configuration with context %} |
787 {% if has_conditional_attributes_on_instance %} | 787 {% if has_conditional_attributes_on_instance %} |
788 void {{v8_class}}::installConditionallyEnabledProperties(v8::Local<v8::Object> i
nstanceObject, v8::Isolate* isolate) | 788 void {{v8_class}}::installConditionallyEnabledProperties(v8::Local<v8::Object> i
nstanceObject, v8::Isolate* isolate) |
789 { | 789 { |
790 #error TODO(yukishiino): Rename this function to prepareInstanceObject (c.f. pre
parePrototypeObject) and implement this function if necessary. http://crbug.com
/503508 | 790 #error TODO(yukishiino): Rename this function to prepareInstanceObject (c.f. pre
parePrototypeAndInterfaceObject) and implement this function if necessary. http
://crbug.com/503508 |
791 } | 791 } |
792 | 792 |
793 {% endif %} | 793 {% endif %} |
794 {% endblock %} | 794 {% endblock %} |
795 | 795 |
796 | 796 |
797 {##############################################################################} | 797 {##############################################################################} |
798 {% block prepare_prototype_object %} | 798 {% block prepare_prototype_and_interface_object %} |
799 {% from 'methods.cpp' import install_conditionally_enabled_methods with context
%} | 799 {% from 'methods.cpp' import install_conditionally_enabled_methods with context
%} |
800 {% if unscopeables or has_conditional_attributes_on_prototype or conditionally_e
nabled_methods %} | 800 {% if unscopeables or has_conditional_attributes_on_prototype or conditionally_e
nabled_methods %} |
801 void {{v8_class}}::preparePrototypeObject(v8::Isolate* isolate, v8::Local<v8::Ob
ject> prototypeObject, v8::Local<v8::FunctionTemplate> interfaceTemplate) | 801 void {{v8_class}}::preparePrototypeAndInterfaceObject(v8::Isolate* isolate, v8::
Local<v8::Object> prototypeObject, v8::Local<v8::Function> interfaceObject, v8::
Local<v8::FunctionTemplate> interfaceTemplate) |
802 { | 802 { |
803 {% if unscopeables %} | 803 {% if unscopeables %} |
804 {{install_unscopeables() | indent}} | 804 {{install_unscopeables() | indent}} |
805 {% endif %} | 805 {% endif %} |
806 {% if has_conditional_attributes_on_prototype %} | 806 {% if has_conditional_attributes_on_prototype %} |
807 {{install_conditionally_enabled_attributes_on_prototype() | indent}} | 807 {{install_conditionally_enabled_attributes_on_prototype() | indent}} |
808 {% endif %} | 808 {% endif %} |
809 {% if conditionally_enabled_methods %} | 809 {% if conditionally_enabled_methods %} |
810 {{install_conditionally_enabled_methods() | indent}} | 810 {{install_conditionally_enabled_methods() | indent}} |
811 {% endif %} | 811 {% endif %} |
(...skipping 22 matching lines...) Expand all Loading... |
834 | 834 |
835 | 835 |
836 {##############################################################################} | 836 {##############################################################################} |
837 {% macro install_conditionally_enabled_attributes_on_prototype() %} | 837 {% macro install_conditionally_enabled_attributes_on_prototype() %} |
838 {% from 'attributes.cpp' import attribute_configuration with context %} | 838 {% from 'attributes.cpp' import attribute_configuration with context %} |
839 ExecutionContext* context = toExecutionContext(prototypeObject->CreationContext(
)); | 839 ExecutionContext* context = toExecutionContext(prototypeObject->CreationContext(
)); |
840 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTempla
te); | 840 v8::Local<v8::Signature> signature = v8::Signature::New(isolate, interfaceTempla
te); |
841 {% for attribute in attributes if attribute.exposed_test and attribute.on_protot
ype %} | 841 {% for attribute in attributes if attribute.exposed_test and attribute.on_protot
ype %} |
842 {% filter exposed(attribute.exposed_test) %} | 842 {% filter exposed(attribute.exposed_test) %} |
843 const V8DOMConfiguration::AccessorConfiguration accessorConfiguration = {{attrib
ute_configuration(attribute)}}; | 843 const V8DOMConfiguration::AccessorConfiguration accessorConfiguration = {{attrib
ute_configuration(attribute)}}; |
844 V8DOMConfiguration::installAccessor(isolate, v8::Local<v8::Object>(), prototypeO
bject, v8::Local<v8::Function>(), signature, accessorConfiguration); | 844 V8DOMConfiguration::installAccessor(isolate, v8::Local<v8::Object>(), prototypeO
bject, interfaceObject, signature, accessorConfiguration); |
845 {% endfilter %} | 845 {% endfilter %} |
846 {% endfor %} | 846 {% endfor %} |
847 {% endmacro %} | 847 {% endmacro %} |
848 | 848 |
849 | 849 |
850 {##############################################################################} | 850 {##############################################################################} |
851 {% block to_active_dom_object %} | 851 {% block to_active_dom_object %} |
852 {% if is_active_dom_object %} | 852 {% if is_active_dom_object %} |
853 ActiveDOMObject* {{v8_class}}::toActiveDOMObject(v8::Local<v8::Object> wrapper) | 853 ActiveDOMObject* {{v8_class}}::toActiveDOMObject(v8::Local<v8::Object> wrapper) |
854 { | 854 { |
(...skipping 28 matching lines...) Expand all Loading... |
883 {% endif %} | 883 {% endif %} |
884 } | 884 } |
885 | 885 |
886 {% endblock %} | 886 {% endblock %} |
887 | 887 |
888 {##############################################################################} | 888 {##############################################################################} |
889 {% block partial_interface %} | 889 {% block partial_interface %} |
890 {% if has_partial_interface %} | 890 {% if has_partial_interface %} |
891 InstallTemplateFunction {{v8_class}}::install{{v8_class}}TemplateFunction = (Ins
tallTemplateFunction)&{{v8_class}}::install{{v8_class}}Template; | 891 InstallTemplateFunction {{v8_class}}::install{{v8_class}}TemplateFunction = (Ins
tallTemplateFunction)&{{v8_class}}::install{{v8_class}}Template; |
892 | 892 |
893 void {{v8_class}}::updateWrapperTypeInfo(InstallTemplateFunction installTemplate
Function, PreparePrototypeObjectFunction preparePrototypeObjectFunction) | 893 void {{v8_class}}::updateWrapperTypeInfo(InstallTemplateFunction installTemplate
Function, PreparePrototypeAndInterfaceObjectFunction preparePrototypeAndInterfac
eObjectFunction) |
894 { | 894 { |
895 {{v8_class}}::install{{v8_class}}TemplateFunction = installTemplateFunction; | 895 {{v8_class}}::install{{v8_class}}TemplateFunction = installTemplateFunction; |
896 if (preparePrototypeObjectFunction) | 896 if (preparePrototypeAndInterfaceObjectFunction) |
897 {{v8_class}}::wrapperTypeInfo.preparePrototypeObjectFunction = preparePr
ototypeObjectFunction; | 897 {{v8_class}}::wrapperTypeInfo.preparePrototypeAndInterfaceObjectFunction
= preparePrototypeAndInterfaceObjectFunction; |
898 } | 898 } |
899 | 899 |
900 {% for method in methods if method.overloads and method.overloads.has_partial_ov
erloads %} | 900 {% for method in methods if method.overloads and method.overloads.has_partial_ov
erloads %} |
901 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt
erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) | 901 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt
erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) |
902 { | 902 { |
903 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; | 903 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; |
904 } | 904 } |
905 {% endfor %} | 905 {% endfor %} |
906 {% endif %} | 906 {% endif %} |
907 {% endblock %} | 907 {% endblock %} |
OLD | NEW |