Index: content/child/scheduler/webthread_impl_for_worker_scheduler.h |
diff --git a/content/renderer/scheduler/webthread_impl_for_scheduler.h b/content/child/scheduler/webthread_impl_for_worker_scheduler.h |
similarity index 44% |
copy from content/renderer/scheduler/webthread_impl_for_scheduler.h |
copy to content/child/scheduler/webthread_impl_for_worker_scheduler.h |
index 36bd2e2a2e7f004a57c273c180520b7b36e65522..25362d78ce87ba527b25d552242b374d33b3601e 100644 |
--- a/content/renderer/scheduler/webthread_impl_for_scheduler.h |
+++ b/content/child/scheduler/webthread_impl_for_worker_scheduler.h |
@@ -2,27 +2,32 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ |
-#define CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ |
+#ifndef CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_ |
+#define CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_ |
-#include "content/child/webthread_impl.h" |
+#include "content/child/scheduler/task_queue_manager.h" |
+#include "content/child/webthread_base.h" |
-#include "base/containers/scoped_ptr_hash_map.h" |
+namespace base { |
+class WaitableEvent; |
+}; |
namespace content { |
-class RendererScheduler; |
+class SingleThreadIdleTaskRunner; |
+class WorkerScheduler; |
-class CONTENT_EXPORT WebThreadImplForScheduler : public WebThreadBase { |
+class CONTENT_EXPORT WebThreadImplForWorkerScheduler : public WebThreadBase { |
public: |
- explicit WebThreadImplForScheduler(RendererScheduler* scheduler); |
- virtual ~WebThreadImplForScheduler(); |
+ explicit WebThreadImplForWorkerScheduler(const char* name); |
+ virtual ~WebThreadImplForWorkerScheduler(); |
// blink::WebThread implementation. |
blink::PlatformThreadId threadId() const override; |
// WebThreadBase implementation. |
base::SingleThreadTaskRunner* TaskRunner() const override; |
+ SingleThreadIdleTaskRunner* IdleTaskRunner() const override; |
private: |
base::MessageLoop* MessageLoop() const override; |
@@ -31,11 +36,15 @@ class CONTENT_EXPORT WebThreadImplForScheduler : public WebThreadBase { |
void RemoveTaskObserverInternal( |
base::MessageLoop::TaskObserver* observer) override; |
+ void InitOnThread(base::WaitableEvent* completion); |
+ void ShutDownOnThread(base::WaitableEvent* completion); |
+ |
+ scoped_ptr<base::Thread> thread_; |
+ scoped_ptr<WorkerScheduler> worker_scheduler_; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- RendererScheduler* scheduler_; // Not owned. |
- blink::PlatformThreadId thread_id_; |
+ scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_; |
}; |
} // namespace content |
-#endif // CONTENT_RENDERER_SCHEDULER_WEBTHREAD_IMPL_FOR_SCHEDULER_H_ |
+#endif // CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_ |