OLD | NEW |
| (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 #include "content/renderer/scheduler/webthread_impl_for_renderer_scheduler.h" | |
6 | |
7 #include "content/child/scheduler/web_scheduler_impl.h" | |
8 #include "content/renderer/scheduler/renderer_scheduler.h" | |
9 #include "third_party/WebKit/public/platform/WebTraceLocation.h" | |
10 | |
11 namespace content { | |
12 | |
13 WebThreadImplForRendererScheduler::WebThreadImplForRendererScheduler( | |
14 RendererScheduler* scheduler) | |
15 : web_scheduler_(new WebSchedulerImpl(scheduler, | |
16 scheduler->IdleTaskRunner(), | |
17 scheduler->LoadingTaskRunner(), | |
18 scheduler->TimerTaskRunner())), | |
19 task_runner_(scheduler->DefaultTaskRunner()), | |
20 idle_task_runner_(scheduler->IdleTaskRunner()), | |
21 scheduler_(scheduler), | |
22 thread_id_(base::PlatformThread::CurrentId()) { | |
23 } | |
24 | |
25 WebThreadImplForRendererScheduler::~WebThreadImplForRendererScheduler() { | |
26 } | |
27 | |
28 blink::PlatformThreadId WebThreadImplForRendererScheduler::threadId() const { | |
29 return thread_id_; | |
30 } | |
31 | |
32 blink::WebScheduler* WebThreadImplForRendererScheduler::scheduler() const { | |
33 return web_scheduler_.get(); | |
34 } | |
35 | |
36 base::MessageLoop* WebThreadImplForRendererScheduler::MessageLoop() const { | |
37 DCHECK(isCurrentThread()); | |
38 return base::MessageLoop::current(); | |
39 } | |
40 | |
41 base::SingleThreadTaskRunner* WebThreadImplForRendererScheduler::TaskRunner() | |
42 const { | |
43 return task_runner_.get(); | |
44 } | |
45 | |
46 SingleThreadIdleTaskRunner* WebThreadImplForRendererScheduler::IdleTaskRunner() | |
47 const { | |
48 return idle_task_runner_.get(); | |
49 } | |
50 | |
51 void WebThreadImplForRendererScheduler::AddTaskObserverInternal( | |
52 base::MessageLoop::TaskObserver* observer) { | |
53 scheduler_->AddTaskObserver(observer); | |
54 } | |
55 | |
56 void WebThreadImplForRendererScheduler::RemoveTaskObserverInternal( | |
57 base::MessageLoop::TaskObserver* observer) { | |
58 scheduler_->RemoveTaskObserver(observer); | |
59 } | |
60 | |
61 } // namespace content | |
OLD | NEW |