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

Side by Side Diff: components/scheduler/renderer/webthread_impl_for_renderer_scheduler.cc

Issue 1308183005: Introduce WebTaskRunner Patch 2/5 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final tweaks Created 5 years, 3 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
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 #include "components/scheduler/renderer/webthread_impl_for_renderer_scheduler.h" 5 #include "components/scheduler/renderer/webthread_impl_for_renderer_scheduler.h"
6 6
7 #include "components/scheduler/child/task_queue.h" 7 #include "components/scheduler/child/task_queue.h"
8 #include "components/scheduler/child/web_task_runner_impl.h"
8 #include "components/scheduler/renderer/renderer_scheduler.h" 9 #include "components/scheduler/renderer/renderer_scheduler.h"
9 #include "components/scheduler/renderer/renderer_web_scheduler_impl.h" 10 #include "components/scheduler/renderer/renderer_web_scheduler_impl.h"
10 #include "third_party/WebKit/public/platform/WebTraceLocation.h" 11 #include "third_party/WebKit/public/platform/WebTraceLocation.h"
11 12
12 namespace scheduler { 13 namespace scheduler {
13 14
14 WebThreadImplForRendererScheduler::WebThreadImplForRendererScheduler( 15 WebThreadImplForRendererScheduler::WebThreadImplForRendererScheduler(
15 RendererScheduler* scheduler) 16 RendererScheduler* scheduler)
16 : web_scheduler_(new RendererWebSchedulerImpl(scheduler)), 17 : web_scheduler_(new RendererWebSchedulerImpl(scheduler)),
17 task_runner_(scheduler->DefaultTaskRunner()), 18 task_runner_(scheduler->DefaultTaskRunner()),
18 idle_task_runner_(scheduler->IdleTaskRunner()), 19 idle_task_runner_(scheduler->IdleTaskRunner()),
19 scheduler_(scheduler), 20 scheduler_(scheduler),
20 thread_id_(base::PlatformThread::CurrentId()) { 21 thread_id_(base::PlatformThread::CurrentId()),
21 } 22 web_task_runner_(new WebTaskRunnerImpl(scheduler->DefaultTaskRunner())) {}
22 23
23 WebThreadImplForRendererScheduler::~WebThreadImplForRendererScheduler() { 24 WebThreadImplForRendererScheduler::~WebThreadImplForRendererScheduler() {
24 } 25 }
25 26
26 blink::PlatformThreadId WebThreadImplForRendererScheduler::threadId() const { 27 blink::PlatformThreadId WebThreadImplForRendererScheduler::threadId() const {
27 return thread_id_; 28 return thread_id_;
28 } 29 }
29 30
30 blink::WebScheduler* WebThreadImplForRendererScheduler::scheduler() const { 31 blink::WebScheduler* WebThreadImplForRendererScheduler::scheduler() const {
31 return web_scheduler_.get(); 32 return web_scheduler_.get();
32 } 33 }
33 34
34 base::SingleThreadTaskRunner* WebThreadImplForRendererScheduler::TaskRunner() 35 base::SingleThreadTaskRunner* WebThreadImplForRendererScheduler::TaskRunner()
35 const { 36 const {
36 return task_runner_.get(); 37 return task_runner_.get();
37 } 38 }
38 39
39 SingleThreadIdleTaskRunner* WebThreadImplForRendererScheduler::IdleTaskRunner() 40 SingleThreadIdleTaskRunner* WebThreadImplForRendererScheduler::IdleTaskRunner()
40 const { 41 const {
41 return idle_task_runner_.get(); 42 return idle_task_runner_.get();
42 } 43 }
43 44
45 blink::WebTaskRunner* WebThreadImplForRendererScheduler::taskRunner() {
46 return web_task_runner_.get();
47 }
48
44 void WebThreadImplForRendererScheduler::AddTaskObserverInternal( 49 void WebThreadImplForRendererScheduler::AddTaskObserverInternal(
45 base::MessageLoop::TaskObserver* observer) { 50 base::MessageLoop::TaskObserver* observer) {
46 scheduler_->AddTaskObserver(observer); 51 scheduler_->AddTaskObserver(observer);
47 } 52 }
48 53
49 void WebThreadImplForRendererScheduler::RemoveTaskObserverInternal( 54 void WebThreadImplForRendererScheduler::RemoveTaskObserverInternal(
50 base::MessageLoop::TaskObserver* observer) { 55 base::MessageLoop::TaskObserver* observer) {
51 scheduler_->RemoveTaskObserver(observer); 56 scheduler_->RemoveTaskObserver(observer);
52 } 57 }
53 58
54 } // namespace scheduler 59 } // namespace scheduler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698