Chromium Code Reviews| Index: Source/platform/WebScheduler.cpp |
| diff --git a/Source/platform/WebScheduler.cpp b/Source/platform/WebScheduler.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..85c1a2b99eae57d082c47fcf5fd98a3e3ba7818b |
| --- /dev/null |
| +++ b/Source/platform/WebScheduler.cpp |
| @@ -0,0 +1,81 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "config.h" |
| +#include "public/platform/WebScheduler.h" |
| + |
| +#include "public/platform/WebTraceLocation.h" |
| +#include "wtf/Assertions.h" |
| +#include "wtf/OwnPtr.h" |
| + |
| +namespace blink { |
| + |
| +namespace { |
| +class TaskRunner : public WebThread::Task { |
| + WTF_MAKE_NONCOPYABLE(TaskRunner); |
| + |
|
jochen (gone - plz use gerrit)
2015/04/16 14:41:28
no empty line here
alex clarke (OOO till 29th)
2015/04/16 15:47:51
Done.
|
| +public: |
| + explicit TaskRunner(PassOwnPtr<WebScheduler::Task> task) |
| + : m_task(task) |
| + { |
| + } |
| + |
| + ~TaskRunner() override |
| + { |
| + } |
| + |
| + // WebThread::Task implementation. |
| + void run() override |
| + { |
| + (*m_task)(); |
| + } |
| +private: |
|
jochen (gone - plz use gerrit)
2015/04/16 14:41:28
add empty line before this one
alex clarke (OOO till 29th)
2015/04/16 15:47:51
Done.
|
| + OwnPtr<WebScheduler::Task> m_task; |
| +}; |
| + |
| +class IdleTaskRunner : public WebThread::IdleTask { |
| + WTF_MAKE_NONCOPYABLE(IdleTaskRunner); |
| + |
|
jochen (gone - plz use gerrit)
2015/04/16 14:41:28
same here and below
alex clarke (OOO till 29th)
2015/04/16 15:47:51
Done.
|
| +public: |
| + explicit IdleTaskRunner(PassOwnPtr<WebScheduler::IdleTask> task) |
| + : m_task(task) |
| + { |
| + } |
| + |
| + ~IdleTaskRunner() override |
| + { |
| + } |
| + |
| + // WebThread::IdleTask implementation. |
| + void run(double deadlineSeconds) override |
| + { |
| + (*m_task)(deadlineSeconds); |
| + } |
| +private: |
| + OwnPtr<WebScheduler::IdleTask> m_task; |
| +}; |
| + |
| +} // namespace |
| + |
| +void WebScheduler::postIdleTask(const WebTraceLocation& location, PassOwnPtr<IdleTask> idleTask) |
| +{ |
| + postIdleTask(location, new IdleTaskRunner(idleTask)); |
| +} |
| + |
| +void WebScheduler::postNonNestableIdleTask(const WebTraceLocation& location, PassOwnPtr<IdleTask> idleTask) |
| +{ |
| + postNonNestableIdleTask(location, new IdleTaskRunner(idleTask)); |
| +} |
| + |
| +void WebScheduler::postIdleTaskAfterWakeup(const WebTraceLocation& location, PassOwnPtr<IdleTask> idleTask) |
| +{ |
| + postIdleTaskAfterWakeup(location, new IdleTaskRunner(idleTask)); |
| +} |
| + |
| +void WebScheduler::postLoadingTask(const WebTraceLocation& location, PassOwnPtr<Task> task) |
| +{ |
| + postLoadingTask(location, new TaskRunner(task)); |
| +} |
| + |
| +} // namespace blink |