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

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

Issue 2709983004: WIP bindings: Add support for the record<K,V> WebIDL type. (Closed)
Patch Set: Rebased patch using NativeValueTraits for IDL types 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 {{v8_original_class}}_h 4 #ifndef {{v8_original_class}}_h
5 #define {{v8_original_class}}_h 5 #define {{v8_original_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 13 matching lines...) Expand all
24 v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), callbackInfo. GetIsolate())); 24 v8SetReturnValue(callbackInfo, ToV8(impl, callbackInfo.Holder(), callbackInfo. GetIsolate()));
25 } 25 }
26 26
27 template <class CallbackInfo> 27 template <class CallbackInfo>
28 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl, v8::Local<v8::Object> creationContext) { 28 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{cpp_class}}& im pl, v8::Local<v8::Object> creationContext) {
29 v8SetReturnValue(callbackInfo, ToV8(impl, creationContext, callbackInfo.GetIso late())); 29 v8SetReturnValue(callbackInfo, ToV8(impl, creationContext, callbackInfo.GetIso late()));
30 } 30 }
31 31
32 template <> 32 template <>
33 struct NativeValueTraits<{{cpp_class}}> { 33 struct NativeValueTraits<{{cpp_class}}> {
34 static {{cpp_class}} nativeValue(v8::Isolate*, v8::Local<v8::Value>, Exception State&); 34 using ImplType = {{cpp_class}};
Yuki 2017/03/02 07:47:28 nit: Can we have this declaration as the default d
Raphael Kubo da Costa (rakuco) 2017/03/02 08:16:24 I tried doing that earlier, but any template speci
Yuki 2017/03/02 13:00:25 I guess that the following would work. template
35 {{exported}}static {{cpp_class}} nativeValue(v8::Isolate*, v8::Local<v8::Value >, ExceptionState&);
35 }; 36 };
36 37
37 template <> 38 template <>
38 struct V8TypeOf<{{cpp_class}}> { 39 struct V8TypeOf<{{cpp_class}}> {
39 typedef {{v8_class}} Type; 40 typedef {{v8_class}} Type;
40 }; 41 };
41 42
42 } // namespace blink 43 } // namespace blink
43 44
44 #endif // {{v8_original_class}}_h 45 #endif // {{v8_original_class}}_h
45 46
46 {% endfilter %}{# format_blink_cpp_source_code #} 47 {% endfilter %}{# format_blink_cpp_source_code #}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698