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

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

Issue 1873323002: Have bindings layer assume and insist that all interface types are GCed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased 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 {% include 'copyright_block.txt' %} 1 {% include 'copyright_block.txt' %}
2 #ifndef {{v8_class}}_h 2 #ifndef {{v8_class}}_h
3 #define {{v8_class}}_h 3 #define {{v8_class}}_h
4 4
5 {% for filename in header_includes %} 5 {% for filename in header_includes %}
6 #include "{{filename}}" 6 #include "{{filename}}"
7 {% endfor %} 7 {% endfor %}
8 8
9 namespace blink { 9 namespace blink {
10 10
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 { 52 {
53 return toScriptWrappable(object)->toImpl<{{cpp_class}}>(); 53 return toScriptWrappable(object)->toImpl<{{cpp_class}}>();
54 } 54 }
55 {% endif %} 55 {% endif %}
56 {{exported}}static {{cpp_class}}* toImplWithTypeCheck(v8::Isolate*, v8::Loca l<v8::Value>); 56 {{exported}}static {{cpp_class}}* toImplWithTypeCheck(v8::Isolate*, v8::Loca l<v8::Value>);
57 {% if has_partial_interface %} 57 {% if has_partial_interface %}
58 {{exported}}static WrapperTypeInfo wrapperTypeInfo; 58 {{exported}}static WrapperTypeInfo wrapperTypeInfo;
59 {% else %} 59 {% else %}
60 {{exported}}static const WrapperTypeInfo wrapperTypeInfo; 60 {{exported}}static const WrapperTypeInfo wrapperTypeInfo;
61 {% endif %} 61 {% endif %}
62 static void refObject(ScriptWrappable*);
63 static void derefObject(ScriptWrappable*);
64 template<typename VisitorDispatcher> 62 template<typename VisitorDispatcher>
65 static void trace(VisitorDispatcher visitor, ScriptWrappable* scriptWrappabl e) 63 static void trace(VisitorDispatcher visitor, ScriptWrappable* scriptWrappabl e)
66 { 64 {
67 {% if gc_type == 'GarbageCollectedObject' %}
68 visitor->trace(scriptWrappable->toImpl<{{cpp_class}}>()); 65 visitor->trace(scriptWrappable->toImpl<{{cpp_class}}>());
69 {% endif %}
70 } 66 }
71 {% if has_visit_dom_wrapper %} 67 {% if has_visit_dom_wrapper %}
72 static void visitDOMWrapper(v8::Isolate*, ScriptWrappable*, const v8::Persis tent<v8::Object>&); 68 static void visitDOMWrapper(v8::Isolate*, ScriptWrappable*, const v8::Persis tent<v8::Object>&);
73 {% endif %} 69 {% endif %}
74 {% if active_scriptwrappable %} 70 {% if active_scriptwrappable %}
75 static ActiveScriptWrappable* toActiveScriptWrappable(v8::Local<v8::Object>) ; 71 static ActiveScriptWrappable* toActiveScriptWrappable(v8::Local<v8::Object>) ;
76 {% endif %} 72 {% endif %}
77 {% for method in methods %} 73 {% for method in methods %}
78 {% if method.is_custom %} 74 {% if method.is_custom %}
79 static void {{method.name}}MethodCustom(const v8::FunctionCallbackInfo<v8::V alue>&); 75 static void {{method.name}}MethodCustom(const v8::FunctionCallbackInfo<v8::V alue>&);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 176
181 {% endif %} 177 {% endif %}
182 template <> 178 template <>
183 struct V8TypeOf<{{cpp_class}}> { 179 struct V8TypeOf<{{cpp_class}}> {
184 typedef {{v8_class}} Type; 180 typedef {{v8_class}} Type;
185 }; 181 };
186 182
187 } // namespace blink 183 } // namespace blink
188 184
189 #endif // {{v8_class}}_h 185 #endif // {{v8_class}}_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698