| Index: Source/core/workers/WorkerThread.cpp
|
| diff --git a/Source/core/workers/WorkerThread.cpp b/Source/core/workers/WorkerThread.cpp
|
| index 6a0ad514baf928787325d3b33eb458c05488f8c3..23e90e4a8af7e59184c019c9151b355277cd4ec7 100644
|
| --- a/Source/core/workers/WorkerThread.cpp
|
| +++ b/Source/core/workers/WorkerThread.cpp
|
| @@ -90,7 +90,7 @@ unsigned WorkerThread::workerThreadCount()
|
| class WorkerThreadCancelableTask final : public ExecutionContextTask {
|
| WTF_MAKE_NONCOPYABLE(WorkerThreadCancelableTask); WTF_MAKE_FAST_ALLOCATED;
|
| public:
|
| - static PassOwnPtr<WorkerThreadCancelableTask> create(const Closure& closure)
|
| + static PassOwnPtr<WorkerThreadCancelableTask> create(PassOwnPtr<Closure> closure)
|
| {
|
| return adoptPtr(new WorkerThreadCancelableTask(closure));
|
| }
|
| @@ -98,18 +98,18 @@ public:
|
| virtual void performTask(ExecutionContext*) override
|
| {
|
| if (!m_taskCanceled)
|
| - m_closure();
|
| + (*m_closure)();
|
| }
|
|
|
| void cancelTask() { m_taskCanceled = true; }
|
|
|
| private:
|
| - explicit WorkerThreadCancelableTask(const Closure& closure)
|
| + explicit WorkerThreadCancelableTask(PassOwnPtr<Closure> closure)
|
| : m_closure(closure)
|
| , m_taskCanceled(false)
|
| { }
|
|
|
| - Closure m_closure;
|
| + OwnPtr<Closure> m_closure;
|
| bool m_taskCanceled;
|
| };
|
|
|
|
|