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

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

Issue 2730183003: bindings: Add C++ versions of WebIDL types and generalize NativeValueTraits. (Closed)
Patch Set: Move specialization for SerializedScriptValue to the appropriate header Created 3 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
OLDNEW
1 {% filter format_blink_cpp_source_code %} 1 {% filter format_blink_cpp_source_code %}
2 2
3 {% include 'copyright_block.txt' %} 3 {% include 'copyright_block.txt' %}
4 #ifndef {{cpp_class}}_h 4 #ifndef {{cpp_class}}_h
5 #define {{cpp_class}}_h 5 #define {{cpp_class}}_h
6 6
7 {% for filename in header_includes %} 7 {% for filename in header_includes %}
8 #include "{{filename}}" 8 #include "{{filename}}"
9 {% endfor %} 9 {% endfor %}
10 10
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl) { 59 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl) {
60 v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), callbackInfo. GetIsolate())); 60 v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), callbackInfo. GetIsolate()));
61 } 61 }
62 62
63 template <class CallbackInfo> 63 template <class CallbackInfo>
64 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl, v8::Local<v8::Object> creationContext) { 64 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl, v8::Local<v8::Object> creationContext) {
65 v8SetReturnValue(callbackInfo, ToV8(impl, creationContext, callbackInfo.GetIso late())); 65 v8SetReturnValue(callbackInfo, ToV8(impl, creationContext, callbackInfo.GetIso late()));
66 } 66 }
67 67
68 template <> 68 template <>
69 struct NativeValueTraits<{{cpp_class}}> { 69 struct NativeValueTraits<{{cpp_class}}> : public NativeValueTraitsBase<{{cpp_cla ss}}> {
70 {{exported}}static {{cpp_class}} nativeValue(v8::Isolate*, v8::Local<v8::Value >, ExceptionState&); 70 {{exported}}static {{cpp_class}} nativeValue(v8::Isolate*, v8::Local<v8::Value >, ExceptionState&);
71 }; 71 };
72 72
73 template <>
74 struct V8TypeOf<{{cpp_class}}> {
75 typedef {{v8_class}} Type;
76 };
77
73 } // namespace blink 78 } // namespace blink
74 79
75 // We need to set canInitializeWithMemset=true because HeapVector supports 80 // We need to set canInitializeWithMemset=true because HeapVector supports
76 // items that can initialize with memset or have a vtable. It is safe to 81 // items that can initialize with memset or have a vtable. It is safe to
77 // set canInitializeWithMemset=true for a union type object in practice. 82 // set canInitializeWithMemset=true for a union type object in practice.
78 // See https://codereview.chromium.org/1118993002/#msg5 for more details. 83 // See https://codereview.chromium.org/1118993002/#msg5 for more details.
79 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::{{cpp_class}}); 84 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::{{cpp_class}});
80 85
81 #endif // {{cpp_class}}_h 86 #endif // {{cpp_class}}_h
82 87
83 {% endfilter %}{# format_blink_cpp_source_code #} 88 {% endfilter %}{# format_blink_cpp_source_code #}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698