diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/dom/StringCallback.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/dom/StringCallback.cpp')
-rw-r--r-- | Source/WebCore/dom/StringCallback.cpp | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/Source/WebCore/dom/StringCallback.cpp b/Source/WebCore/dom/StringCallback.cpp index b54105fea..8253b4b46 100644 --- a/Source/WebCore/dom/StringCallback.cpp +++ b/Source/WebCore/dom/StringCallback.cpp @@ -36,36 +36,12 @@ namespace WebCore { -namespace { - -class DispatchCallbackTask : public ScriptExecutionContext::Task { -public: - static PassOwnPtr<DispatchCallbackTask> create(PassRefPtr<StringCallback> callback, const String& data) - { - return adoptPtr(new DispatchCallbackTask(callback, data)); - } - - virtual void performTask(ScriptExecutionContext*) override - { - m_callback->handleEvent(m_data); - } - -private: - DispatchCallbackTask(PassRefPtr<StringCallback> callback, const String& data) - : m_callback(callback) - , m_data(data) - { - } - - RefPtr<StringCallback> m_callback; - const String m_data; -}; - -} // namespace - void StringCallback::scheduleCallback(ScriptExecutionContext* context, const String& data) { - context->postTask(DispatchCallbackTask::create(this, data)); + RefPtr<StringCallback> protectedThis(this); + context->postTask([protectedThis, data] (ScriptExecutionContext&) { + protectedThis->handleEvent(data); + }); } } // namespace WebCore |