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

Side by Side Diff: components/scheduler/ppapi/webthread_impl_for_ppapi.h

Issue 1424053002: Adds a flag to support "Virtual Time" to the blink scheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 1 month 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_ 5 #ifndef COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_
6 #define COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_ 6 #define COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_
7 7
8 #include "components/scheduler/child/webthread_base.h" 8 #include "components/scheduler/child/webthread_base.h"
9 9
10 namespace base { 10 namespace base {
11 class SingleThreadTaskRunner; 11 class SingleThreadTaskRunner;
12 } 12 }
13 13
14 namespace blink { 14 namespace blink {
15 class WebScheduler; 15 class WebScheduler;
16 }; 16 };
17 17
18 namespace scheduler { 18 namespace scheduler {
19 class SchedulerTaskRunnerDelegate; 19 class SchedulerTqmDelegate;
20 class SingleThreadIdleTaskRunner; 20 class SingleThreadIdleTaskRunner;
21 class WebSchedulerImpl; 21 class WebSchedulerImpl;
22 class WebTaskRunnerImpl; 22 class WebTaskRunnerImpl;
23 class WorkerScheduler; 23 class WorkerScheduler;
24 24
25 class SCHEDULER_EXPORT WebThreadImplForPPAPI : public WebThreadBase { 25 class SCHEDULER_EXPORT WebThreadImplForPPAPI : public WebThreadBase {
26 public: 26 public:
27 explicit WebThreadImplForPPAPI(); 27 explicit WebThreadImplForPPAPI();
28 virtual ~WebThreadImplForPPAPI(); 28 virtual ~WebThreadImplForPPAPI();
29 29
30 // blink::WebThread implementation. 30 // blink::WebThread implementation.
31 virtual blink::WebScheduler* scheduler() const; 31 virtual blink::WebScheduler* scheduler() const;
32 blink::PlatformThreadId threadId() const override; 32 blink::PlatformThreadId threadId() const override;
33 virtual blink::WebTaskRunner* taskRunner(); 33 virtual blink::WebTaskRunner* taskRunner();
34 34
35 // WebThreadBase implementation. 35 // WebThreadBase implementation.
36 base::SingleThreadTaskRunner* TaskRunner() const override; 36 base::SingleThreadTaskRunner* TaskRunner() const override;
37 scheduler::SingleThreadIdleTaskRunner* IdleTaskRunner() const override; 37 scheduler::SingleThreadIdleTaskRunner* IdleTaskRunner() const override;
38 38
39 private: 39 private:
40 void AddTaskObserverInternal( 40 void AddTaskObserverInternal(
41 base::MessageLoop::TaskObserver* observer) override; 41 base::MessageLoop::TaskObserver* observer) override;
42 void RemoveTaskObserverInternal( 42 void RemoveTaskObserverInternal(
43 base::MessageLoop::TaskObserver* observer) override; 43 base::MessageLoop::TaskObserver* observer) override;
44 44
45 blink::PlatformThreadId thread_id_; 45 blink::PlatformThreadId thread_id_;
46 scoped_refptr<SchedulerTaskRunnerDelegate> task_runner_delegate_; 46 scoped_refptr<SchedulerTqmDelegate> task_runner_delegate_;
47 scoped_ptr<scheduler::WorkerScheduler> worker_scheduler_; 47 scoped_ptr<scheduler::WorkerScheduler> worker_scheduler_;
48 scoped_ptr<scheduler::WebSchedulerImpl> web_scheduler_; 48 scoped_ptr<scheduler::WebSchedulerImpl> web_scheduler_;
49 scoped_refptr<base::SingleThreadTaskRunner> thread_task_runner_; 49 scoped_refptr<base::SingleThreadTaskRunner> thread_task_runner_;
50 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 50 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
51 scoped_refptr<scheduler::SingleThreadIdleTaskRunner> idle_task_runner_; 51 scoped_refptr<scheduler::SingleThreadIdleTaskRunner> idle_task_runner_;
52 scoped_ptr<WebTaskRunnerImpl> web_task_runner_; 52 scoped_ptr<WebTaskRunnerImpl> web_task_runner_;
53 }; 53 };
54 54
55 } // namespace scheduler 55 } // namespace scheduler
56 56
57 #endif // COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_ 57 #endif // COMPONENTS_SCHEDULER_PPAPI_WEBTHREAD_IMPL_FOR_PPAPI_H_
OLDNEW
« no previous file with comments | « components/scheduler/common/scheduler_switches.cc ('k') | components/scheduler/ppapi/webthread_impl_for_ppapi.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698