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

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

Issue 1008353002: bindings: Reduces the binary size by reducing # of callback functions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Synced. Created 5 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/bindings/templates/attributes.cpp ('k') | Source/bindings/templates/interface_base.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 {% endif %} 489 {% endif %}
490 {% endblock %} 490 {% endblock %}
491 491
492 492
493 {##############################################################################} 493 {##############################################################################}
494 {% block named_constructor %} 494 {% block named_constructor %}
495 {% from 'methods.cpp' import generate_constructor with context %} 495 {% from 'methods.cpp' import generate_constructor with context %}
496 {% if named_constructor %} 496 {% if named_constructor %}
497 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class 497 {% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class
498 if is_active_dom_object else '0' %} 498 if is_active_dom_object else '0' %}
499 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}} ::installConditionallyEnabledMethods, {{v8_class}}::installConditionallyEnabledP roperties, 0, WrapperTypeInfo::WrapperTypeObjectPrototype, WrapperTypeInfo::{{wr apper_class_id}}, WrapperTypeInfo::{{event_target_inheritance}}, WrapperTypeInfo ::{{lifetime}}, WrapperTypeInfo::{{gc_type}} }; 499 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}} ::installConditionallyEnabledMethods, {{v8_class}}::installConditionallyEnabledP roperties, "{{interface_name}}", 0, WrapperTypeInfo::WrapperTypeObjectPrototype, WrapperTypeInfo::{{wrapper_class_id}}, WrapperTypeInfo::{{event_target_inherita nce}}, WrapperTypeInfo::{{lifetime}}, WrapperTypeInfo::{{gc_type}} };
500 500
501 {{generate_constructor(named_constructor)}} 501 {{generate_constructor(named_constructor)}}
502 v8::Local<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate * isolate) 502 v8::Local<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate * isolate)
503 { 503 {
504 static int domTemplateKey; // This address is used for a key to look up the dom template. 504 static int domTemplateKey; // This address is used for a key to look up the dom template.
505 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 505 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
506 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl ateKey); 506 v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTempl ateKey);
507 if (!result.IsEmpty()) 507 if (!result.IsEmpty())
508 return result; 508 return result;
509 509
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 } 1030 }
1031 1031
1032 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} 1032 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %}
1033 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) 1033 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
1034 { 1034 {
1035 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; 1035 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method;
1036 } 1036 }
1037 {% endfor %} 1037 {% endfor %}
1038 {% endif %} 1038 {% endif %}
1039 {% endblock %} 1039 {% endblock %}
OLDNEW
« no previous file with comments | « Source/bindings/templates/attributes.cpp ('k') | Source/bindings/templates/interface_base.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698