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

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

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

Powered by Google App Engine
This is Rietveld 408576698