Chromium Code Reviews| Index: content/child/webthread_impl.h |
| diff --git a/content/child/webthread_impl.h b/content/child/webthread_impl.h |
| index c50295253b473215cd384aa1703920626365cf6f..c6a3970ef3626a00dd6bdabb6eecd6aa5c92fe28 100644 |
| --- a/content/child/webthread_impl.h |
| +++ b/content/child/webthread_impl.h |
| @@ -17,6 +17,7 @@ class WebTraceLocation; |
| } |
| namespace content { |
| +class SingleThreadIdleTaskRunner; |
| class CONTENT_EXPORT WebThreadBase : public blink::WebThread { |
| public: |
| @@ -30,6 +31,10 @@ class CONTENT_EXPORT WebThreadBase : public blink::WebThread { |
| virtual void postDelayedTask(const blink::WebTraceLocation& location, |
| Task* task, |
| long long delay_ms); |
| + virtual void postIdleTask(const blink::WebTraceLocation& location, |
| + IdleTask* idle_task); |
| + virtual void postIdleTaskAfterWakeup(const blink::WebTraceLocation& location, |
| + IdleTask* idle_task); |
|
kinuko
2015/04/02 13:03:08
nit: indent
alex clarke (OOO till 29th)
2015/04/02 15:19:28
Done.
|
| virtual void enterRunLoop(); |
| virtual void exitRunLoop(); |
| @@ -41,6 +46,10 @@ class CONTENT_EXPORT WebThreadBase : public blink::WebThread { |
| // thread. Can be called from any thread. |
| virtual base::SingleThreadTaskRunner* TaskRunner() const = 0; |
| + // Returns the base::Bind-compatible task runner for posting idle tasks to |
| + // this thread. Can be called from any thread. |
| + virtual SingleThreadIdleTaskRunner* IdleTaskRunner() const = 0; |
| + |
| protected: |
| class TaskObserverAdapter; |
| @@ -57,29 +66,15 @@ class CONTENT_EXPORT WebThreadBase : public blink::WebThread { |
| base::MessageLoop::TaskObserver* observer); |
| static void RunWebThreadTask(scoped_ptr<blink::WebThread::Task> task); |
| + static void RunWebThreadIdleTask( |
| + scoped_ptr<blink::WebThread::IdleTask> idle_task, |
| + base::TimeTicks deadline); |
| private: |
| typedef std::map<TaskObserver*, TaskObserverAdapter*> TaskObserverMap; |
| TaskObserverMap task_observer_map_; |
| }; |
| -class CONTENT_EXPORT WebThreadImpl : public WebThreadBase { |
| - public: |
| - explicit WebThreadImpl(const char* name); |
| - virtual ~WebThreadImpl(); |
| - |
| - // blink::WebThread implementation. |
| - blink::PlatformThreadId threadId() const override; |
| - |
| - // WebThreadBase implementation. |
| - base::SingleThreadTaskRunner* TaskRunner() const override; |
| - |
| - private: |
| - base::MessageLoop* MessageLoop() const override; |
| - |
| - scoped_ptr<base::Thread> thread_; |
| -}; |
| - |
| } // namespace content |
| #endif // CONTENT_CHILD_WEBTHREAD_IMPL_H_ |