Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: content/child/scheduler/webthread_impl_for_worker_scheduler.h

Issue 1058873010: Move blink scheduler implementation into a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_
6 #define CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_
7
8 #include "content/child/scheduler/task_queue_manager.h"
9 #include "content/child/webthread_base.h"
10
11 namespace base {
12 class WaitableEvent;
13 };
14
15 namespace blink {
16 class WebScheduler;
17 };
18
19 namespace content {
20
21 class SingleThreadIdleTaskRunner;
22 class WebSchedulerImpl;
23 class WorkerScheduler;
24
25 class CONTENT_EXPORT WebThreadImplForWorkerScheduler : public WebThreadBase {
26 public:
27 explicit WebThreadImplForWorkerScheduler(const char* name);
28 virtual ~WebThreadImplForWorkerScheduler();
29
30 // blink::WebThread implementation.
31 virtual blink::WebScheduler* scheduler() const;
32 blink::PlatformThreadId threadId() const override;
33
34 // WebThreadBase implementation.
35 base::SingleThreadTaskRunner* TaskRunner() const override;
36 SingleThreadIdleTaskRunner* IdleTaskRunner() const override;
37
38 private:
39 base::MessageLoop* MessageLoop() const override;
40 void AddTaskObserverInternal(
41 base::MessageLoop::TaskObserver* observer) override;
42 void RemoveTaskObserverInternal(
43 base::MessageLoop::TaskObserver* observer) override;
44
45 void InitOnThread(base::WaitableEvent* completion);
46 void ShutDownOnThread(base::WaitableEvent* completion);
47
48 scoped_ptr<base::Thread> thread_;
49 scoped_ptr<WorkerScheduler> worker_scheduler_;
50 scoped_ptr<WebSchedulerImpl> web_scheduler_;
51 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
52 scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_;
53 };
54
55 } // namespace content
56
57 #endif // CONTENT_CHILD_SCHEDULER_WEBTHREAD_IMPL_FOR_WORKER_SCHEDULER_H_
OLDNEW
« no previous file with comments | « content/child/scheduler/web_scheduler_impl.cc ('k') | content/child/scheduler/webthread_impl_for_worker_scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698