Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(577)

Side by Side Diff: third_party/WebKit/Source/bindings/templates/interface.cpp

Issue 1685543002: Supports "class string" based on @@toStringTag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Synced. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 v8::Local<v8::FunctionTemplate> {{v8_class}}::domTemplateForNamedPropertiesObjec t(v8::Isolate* isolate) 708 v8::Local<v8::FunctionTemplate> {{v8_class}}::domTemplateForNamedPropertiesObjec t(v8::Isolate* isolate)
709 { 709 {
710 v8::Local<v8::FunctionTemplate> parentTemplate = V8{{parent_interface}}::dom Template(isolate); 710 v8::Local<v8::FunctionTemplate> parentTemplate = V8{{parent_interface}}::dom Template(isolate);
711 711
712 v8::Local<v8::FunctionTemplate> namedPropertiesObjectFunctionTemplate = v8:: FunctionTemplate::New(isolate); 712 v8::Local<v8::FunctionTemplate> namedPropertiesObjectFunctionTemplate = v8:: FunctionTemplate::New(isolate);
713 namedPropertiesObjectFunctionTemplate->SetClassName(v8AtomicString(isolate, "{{interface_name}}Properties")); 713 namedPropertiesObjectFunctionTemplate->SetClassName(v8AtomicString(isolate, "{{interface_name}}Properties"));
714 namedPropertiesObjectFunctionTemplate->Inherit(parentTemplate); 714 namedPropertiesObjectFunctionTemplate->Inherit(parentTemplate);
715 715
716 v8::Local<v8::ObjectTemplate> namedPropertiesObjectTemplate = namedPropertie sObjectFunctionTemplate->PrototypeTemplate(); 716 v8::Local<v8::ObjectTemplate> namedPropertiesObjectTemplate = namedPropertie sObjectFunctionTemplate->PrototypeTemplate();
717 namedPropertiesObjectTemplate->SetInternalFieldCount({{v8_class}}::internalF ieldCount); 717 namedPropertiesObjectTemplate->SetInternalFieldCount({{v8_class}}::internalF ieldCount);
718 V8DOMConfiguration::setClassString(isolate, namedPropertiesObjectTemplate, " {{interface_name}}Properties");
718 {{install_named_property_handler('namedPropertiesObjectTemplate') | indent}} 719 {{install_named_property_handler('namedPropertiesObjectTemplate') | indent}}
719 720
720 return namedPropertiesObjectFunctionTemplate; 721 return namedPropertiesObjectFunctionTemplate;
721 } 722 }
722 723
723 {% endif %} 724 {% endif %}
724 {% endblock %} 725 {% endblock %}
725 726
726 727
727 {##############################################################################} 728 {##############################################################################}
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 960
960 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} 961 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %}
961 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) 962 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
962 { 963 {
963 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; 964 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method;
964 } 965 }
965 966
966 {% endfor %} 967 {% endfor %}
967 {% endif %} 968 {% endif %}
968 {% endblock %} 969 {% endblock %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698