OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! | 5 // This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! |
6 | 6 |
7 #ifndef {{macro_guard}} | 7 #ifndef {{macro_guard}} |
8 #define {{macro_guard}} | 8 #define {{macro_guard}} |
9 | 9 |
10 {% for filename in header_includes %} | 10 {% for filename in header_includes %} |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 }; | 56 }; |
57 | 57 |
58 v8::Handle<v8::Value> toV8({{container.cpp_class}}&, v8::Handle<v8::Object>, v8:
:Isolate*); | 58 v8::Handle<v8::Value> toV8({{container.cpp_class}}&, v8::Handle<v8::Object>, v8:
:Isolate*); |
59 | 59 |
60 template <class CallbackInfo> | 60 template <class CallbackInfo> |
61 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{container.cpp_c
lass}}& impl) | 61 inline void v8SetReturnValue(const CallbackInfo& callbackInfo, {{container.cpp_c
lass}}& impl) |
62 { | 62 { |
63 v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInf
o.GetIsolate())); | 63 v8SetReturnValue(callbackInfo, toV8(impl, callbackInfo.Holder(), callbackInf
o.GetIsolate())); |
64 } | 64 } |
65 | 65 |
| 66 template <> |
| 67 struct NativeValueTraits<{{container.cpp_class}}> { |
| 68 static {{container.cpp_class}} nativeValue(const v8::Handle<v8::Value>&, v8:
:Isolate*, ExceptionState&); |
| 69 }; |
| 70 |
66 {% endfor %} | 71 {% endfor %} |
67 {% for cpp_type in nullable_cpp_types %} | 72 {% for cpp_type in nullable_cpp_types %} |
68 class V8{{cpp_type}}OrNull final { | 73 class V8{{cpp_type}}OrNull final { |
69 public: | 74 public: |
70 static void toImpl(v8::Isolate* isolate, v8::Handle<v8::Value> v8Value, {{cp
p_type}}& impl, ExceptionState& exceptionState) | 75 static void toImpl(v8::Isolate* isolate, v8::Handle<v8::Value> v8Value, {{cp
p_type}}& impl, ExceptionState& exceptionState) |
71 { | 76 { |
72 {# http://heycam.github.io/webidl/#es-union #} | 77 {# http://heycam.github.io/webidl/#es-union #} |
73 {# 1. null or undefined #} | 78 {# 1. null or undefined #} |
74 if (isUndefinedOrNull(v8Value)) | 79 if (isUndefinedOrNull(v8Value)) |
75 return; | 80 return; |
76 V8{{cpp_type}}::toImpl(isolate, v8Value, impl, exceptionState); | 81 V8{{cpp_type}}::toImpl(isolate, v8Value, impl, exceptionState); |
77 } | 82 } |
78 }; | 83 }; |
79 | 84 |
80 {% endfor %} | 85 {% endfor %} |
81 } // namespace blink | 86 } // namespace blink |
82 | 87 |
83 #endif // {{macro_guard}} | 88 #endif // {{macro_guard}} |
OLD | NEW |