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

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

Issue 328663003: IDL: restructure logic handling registration of methods (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 6 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 {% macro attribute_configuration(attribute) %} 5 {% macro attribute_configuration(attribute) %}
6 {% set getter_callback = 6 {% set getter_callback =
7 '%sV8Internal::%sAttributeGetterCallback' % 7 '%sV8Internal::%sAttributeGetterCallback' %
8 (cpp_class, attribute.name) 8 (cpp_class, attribute.name)
9 if not attribute.constructor_type else 9 if not attribute.constructor_type else
10 ('%sV8Internal::%sConstructorGetterCallback' % 10 ('%sV8Internal::%sConstructorGetterCallback' %
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 functionTemplate->{{set_on_template}}()->SetNamedPropertyHandler({{named_pro perty_getter_callback}}, {{named_property_setter_callback}}, {{named_property_qu ery_callback}}, {{named_property_deleter_callback}}, {{named_property_enumerator _callback}}); 979 functionTemplate->{{set_on_template}}()->SetNamedPropertyHandler({{named_pro perty_getter_callback}}, {{named_property_setter_callback}}, {{named_property_qu ery_callback}}, {{named_property_deleter_callback}}, {{named_property_enumerator _callback}});
980 {% endif %} 980 {% endif %}
981 {# End special operations #} 981 {# End special operations #}
982 {% if has_custom_legacy_call_as_function %} 982 {% if has_custom_legacy_call_as_function %}
983 functionTemplate->InstanceTemplate()->SetCallAsFunctionHandler({{v8_class}}: :legacyCallCustom); 983 functionTemplate->InstanceTemplate()->SetCallAsFunctionHandler({{v8_class}}: :legacyCallCustom);
984 {% endif %} 984 {% endif %}
985 {% if interface_name == 'HTMLAllCollection' %} 985 {% if interface_name == 'HTMLAllCollection' %}
986 {# Needed for legacy support of document.all #} 986 {# Needed for legacy support of document.all #}
987 functionTemplate->InstanceTemplate()->MarkAsUndetectable(); 987 functionTemplate->InstanceTemplate()->MarkAsUndetectable();
988 {% endif %} 988 {% endif %}
989 {% for method in methods if not method.do_not_check_signature %} 989 {% for method in methods %}
990 {# install_custom_signature #} 990 {# install_custom_signature #}
991 {% if not method.overload_index or method.overload_index == 1 %} 991 {% if not(method.overloads.do_not_check_signature_any if method.overloads el se
Nils Barth (inactive) 2014/06/11 06:28:28 I think this can be: if not((method.overloads and
992 (method.overload_index or method.do_not_check_signature)) %}
992 {# For overloaded methods, only generate one accessor #} 993 {# For overloaded methods, only generate one accessor #}
993 {% filter conditional(method.conditional_string) %} 994 {% filter conditional(method.conditional_string) %}
994 {% if method.is_do_not_check_security %} 995 {% if method.is_do_not_check_security %}
995 {% if method.is_per_world_bindings %} 996 {% if method.is_per_world_bindings %}
996 if (DOMWrapperWorld::current(isolate).isMainWorld()) { 997 if (DOMWrapperWorld::current(isolate).isMainWorld()) {
997 {{install_do_not_check_security_signature(method, 'ForMainWorld')}} 998 {{install_do_not_check_security_signature(method, 'ForMainWorld')}}
998 } else { 999 } else {
999 {{install_do_not_check_security_signature(method)}} 1000 {{install_do_not_check_security_signature(method)}}
1000 } 1001 }
1001 {% else %} 1002 {% else %}
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 {% endif %} 1336 {% endif %}
1336 } 1337 }
1337 1338
1338 template<> 1339 template<>
1339 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate) 1340 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c reationContext, v8::Isolate* isolate)
1340 { 1341 {
1341 return toV8(impl, creationContext, isolate); 1342 return toV8(impl, creationContext, isolate);
1342 } 1343 }
1343 1344
1344 {% endblock %} 1345 {% endblock %}
OLDNEW
« Source/bindings/scripts/v8_interface.py ('K') | « Source/bindings/scripts/v8_interface.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698