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

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

Issue 1876383003: Introduce infrastructure for tracing ScriptWrappables. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert to traceActiveScriptWrappables - C++ is happier Created 4 years, 8 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 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 return; 527 return;
528 } 528 }
529 {# No match, throw error #} 529 {# No match, throw error #}
530 exceptionState.throwTypeError("No matching constructor signature."); 530 exceptionState.throwTypeError("No matching constructor signature.");
531 exceptionState.throwIfNeeded(); 531 exceptionState.throwIfNeeded();
532 } 532 }
533 533
534 {% endif %} 534 {% endif %}
535 {% endblock %} 535 {% endblock %}
536 536
537 {##############################################################################}
538
539 {% block trace_wrapper_references %}
540 {% if trace_wrapper_references %}
541 DEFINE_TRACE_WRAPPERS({{cpp_class_or_partial}})
542 {
543 {% for traceable in trace_wrapper_references %}
544 visitor->traceWrappers({{traceable}}());
545 {% endfor %}
546
547 {% if parent_interface %}
548 {{parent_interface}}::traceWrappers(visitor);
549 {% endif %}
550 }
551 {% endif %}
552 {% endblock %}
537 553
538 {##############################################################################} 554 {##############################################################################}
555
539 {% block visit_dom_wrapper %} 556 {% block visit_dom_wrapper %}
540 {% if set_wrapper_reference_from or set_wrapper_reference_to %} 557 {% if set_wrapper_reference_from or set_wrapper_reference_to %}
541 void {{v8_class}}::visitDOMWrapper(v8::Isolate* isolate, ScriptWrappable* script Wrappable, const v8::Persistent<v8::Object>& wrapper) 558 void {{v8_class}}::visitDOMWrapper(v8::Isolate* isolate, ScriptWrappable* script Wrappable, const v8::Persistent<v8::Object>& wrapper)
542 { 559 {
543 {{cpp_class}}* impl = scriptWrappable->toImpl<{{cpp_class}}>(); 560 {{cpp_class}}* impl = scriptWrappable->toImpl<{{cpp_class}}>();
544 {% if set_wrapper_reference_to %} 561 {% if set_wrapper_reference_to %}
545 v8::Local<v8::Object> context = v8::Local<v8::Object>::New(isolate, wrapper) ; 562 v8::Local<v8::Object> context = v8::Local<v8::Object>::New(isolate, wrapper) ;
546 v8::Context::Scope scope(context->CreationContext()); 563 v8::Context::Scope scope(context->CreationContext());
547 {{set_wrapper_reference_to.cpp_type}} {{set_wrapper_reference_to.name}} = im pl->{{set_wrapper_reference_to.name}}(); 564 {{set_wrapper_reference_to.cpp_type}} {{set_wrapper_reference_to.name}} = im pl->{{set_wrapper_reference_to.name}}();
548 if ({{set_wrapper_reference_to.name}}) { 565 if ({{set_wrapper_reference_to.name}}) {
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 951
935 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %} 952 {% for method in methods if method.overloads and method.overloads.has_partial_ov erloads %}
936 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&)) 953 void {{v8_class}}::register{{method.name | blink_capitalize}}MethodForPartialInt erface(void (*method)(const v8::FunctionCallbackInfo<v8::Value>&))
937 { 954 {
938 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method; 955 {{cpp_class}}V8Internal::{{method.name}}MethodForPartialInterface = method;
939 } 956 }
940 957
941 {% endfor %} 958 {% endfor %}
942 {% endif %} 959 {% endif %}
943 {% endblock %} 960 {% endblock %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698