Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/templates/callback_function.h |
| diff --git a/third_party/WebKit/Source/bindings/templates/callback_function.h b/third_party/WebKit/Source/bindings/templates/callback_function.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d972f0e4b55f4c2835083b6298c244ed3d086e7b |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/bindings/templates/callback_function.h |
| @@ -0,0 +1,40 @@ |
| +{% filter format_blink_cpp_source_code %} |
| + |
| +{% include 'copyright_block.txt' %} |
| +#ifndef {{v8_class}}_h |
| +#define {{v8_class}}_h |
| + |
| +{% for filename in header_includes %} |
| +#include "{{filename}}" |
| +{% endfor %} |
| + |
| +namespace blink { |
| + |
| +class {{exported}}{{v8_class}} final : public GarbageCollectedFinalized<{{v8_class}}>, public ActiveDOMCallback { |
|
Yuki
2016/09/07 10:04:02
Let's start with a simplest version.
We don't need
lkawai
2016/09/08 09:11:31
Done.
|
| + USING_GARBAGE_COLLECTED_MIXIN({{v8_class}}); |
|
Yuki
2016/09/07 10:04:02
Let's remove this line.
lkawai
2016/09/08 09:11:31
Done.
|
| + |
| +public: |
| + static {{v8_class}}* create(v8::Local<v8::Function> callback, v8::Local<v8::Object> owner, ScriptState* scriptState) |
|
Yuki
2016/09/07 10:04:02
We don't need |owner|.
lkawai
2016/09/08 09:11:31
Done.
|
| + { |
| + return new {{v8_class}}(callback, owner, scriptState); |
| + } |
| + |
| + {{v8_class}}(v8::Local<v8::Function>, v8::Local<v8::Object>, ScriptState*); |
| + ~{{v8_class}}() override; |
| + |
| + DECLARE_VIRTUAL_TRACE(); |
| + |
| + bool call({{argument_declarations | join(', ')}}); |
| + ExecutionContext* getExecutionContext() const { return ContextLifecycleObserver::getExecutionContext(); } |
|
Yuki
2016/09/07 10:04:02
Let's remove getExecutionContext().
If you need a
lkawai
2016/09/08 09:11:31
Done.
|
| + {{rvalue_cpp_type}} getValue(); |
| + |
| +private: |
| + ScopedPersistent<v8::Function> m_callback; |
| + RefPtr<ScriptState> m_scriptState; |
| + {{member_cpp_type}} returnValue; |
| +}; |
| + |
| +} // namespace blink |
| +#endif // {{v8_class}}_h |
| + |
| +{% endfilter %}{# format_blink_cpp_source_code #} |