OLD | NEW |
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 | 4 |
5 #ifndef {{v8_class}}_h | 5 #ifndef {{cpp_class}}_h |
6 #define {{v8_class}}_h | 6 #define {{cpp_class}}_h |
7 | 7 |
8 {% for filename in header_includes %} | 8 {% for filename in header_includes %} |
9 #include "{{filename}}" | 9 #include "{{filename}}" |
10 {% endfor %} | 10 {% endfor %} |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
14 class ScriptState; | 14 class ScriptState; |
15 {% for forward_declaration in forward_declarations %} | 15 {% for forward_declaration in forward_declarations %} |
16 class {{forward_declaration}}; | 16 class {{forward_declaration}}; |
17 {% endfor %} | 17 {% endfor %} |
18 | 18 |
19 class {{exported}}{{v8_class}} final : public GarbageCollectedFinalized<{{v8_cla
ss}}> { | 19 class {{exported}}{{cpp_class}} final : public GarbageCollectedFinalized<{{cpp_c
lass}}> { |
20 | 20 |
21 public: | 21 public: |
22 static {{v8_class}}* create(v8::Isolate* isolate, v8::Local<v8::Function> ca
llback) | 22 static {{cpp_class}}* create(v8::Isolate* isolate, v8::Local<v8::Function> c
allback) |
23 { | 23 { |
24 return new {{v8_class}}(isolate, callback); | 24 return new {{cpp_class}}(isolate, callback); |
25 } | 25 } |
26 | 26 |
27 ~{{v8_class}}() = default; | 27 ~{{cpp_class}}() = default; |
28 | 28 |
29 DECLARE_TRACE(); | 29 DECLARE_TRACE(); |
30 | 30 |
31 bool call({{argument_declarations | join(', ')}}); | 31 bool call({{argument_declarations | join(', ')}}); |
32 | 32 |
33 v8::Local<v8::Function> v8Value(v8::Isolate* isolate) | 33 v8::Local<v8::Function> v8Value(v8::Isolate* isolate) |
34 { | 34 { |
35 return m_callback.newLocal(isolate); | 35 return m_callback.newLocal(isolate); |
36 } | 36 } |
37 | 37 |
38 void setWrapperReference(v8::Isolate* isolate, const v8::Persistent<v8::Obje
ct>& wrapper) | 38 void setWrapperReference(v8::Isolate* isolate, const v8::Persistent<v8::Obje
ct>& wrapper) |
39 { | 39 { |
40 DCHECK(!m_callback.isEmpty()); | 40 DCHECK(!m_callback.isEmpty()); |
41 m_callback.setReference(wrapper, isolate); | 41 m_callback.setReference(wrapper, isolate); |
42 } | 42 } |
43 | 43 |
44 private: | 44 private: |
45 {{v8_class}}(v8::Isolate* isolate, v8::Local<v8::Function>); | 45 {{cpp_class}}(v8::Isolate* isolate, v8::Local<v8::Function>); |
46 ScopedPersistent<v8::Function> m_callback; | 46 ScopedPersistent<v8::Function> m_callback; |
47 }; | 47 }; |
48 | 48 |
49 } // namespace blink | 49 } // namespace blink |
50 | 50 |
51 #endif // {{v8_class}}_h | 51 #endif // {{cpp_class}}_h |
52 | 52 |
53 {% endfilter %}{# format_blink_cpp_source_code #} | 53 {% endfilter %}{# format_blink_cpp_source_code #} |
OLD | NEW |