OLD | NEW |
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 "platform/scheduler/renderer/renderer_web_scheduler_impl.h" | 5 #include "platform/scheduler/renderer/renderer_web_scheduler_impl.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "platform/RuntimeEnabledFeatures.h" | 10 #include "platform/RuntimeEnabledFeatures.h" |
11 #include "platform/scheduler/base/task_queue.h" | 11 #include "platform/scheduler/base/task_queue.h" |
12 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" | 12 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" |
13 #include "platform/scheduler/renderer/web_view_scheduler_impl.h" | 13 #include "platform/scheduler/renderer/web_view_scheduler_impl.h" |
14 | 14 |
15 namespace blink { | 15 namespace blink { |
16 namespace scheduler { | 16 namespace scheduler { |
17 | 17 |
18 RendererWebSchedulerImpl::RendererWebSchedulerImpl( | 18 RendererWebSchedulerImpl::RendererWebSchedulerImpl( |
19 RendererSchedulerImpl* renderer_scheduler) | 19 RendererSchedulerImpl* renderer_scheduler) |
20 : WebSchedulerImpl(renderer_scheduler, | 20 : WebSchedulerImpl(renderer_scheduler, |
21 renderer_scheduler->IdleTaskRunner(), | 21 renderer_scheduler->IdleTaskRunner(), |
22 renderer_scheduler->LoadingTaskQueue(), | 22 renderer_scheduler->LoadingTaskQueue(), |
23 renderer_scheduler->TimerTaskQueue()), | 23 renderer_scheduler->TimerTaskQueue()), |
24 renderer_scheduler_(renderer_scheduler), | 24 renderer_scheduler_(renderer_scheduler) {} |
25 compositor_task_runner_(WebTaskRunnerImpl::Create( | |
26 renderer_scheduler_->CompositorTaskQueue())) {} | |
27 | 25 |
28 RendererWebSchedulerImpl::~RendererWebSchedulerImpl() {} | 26 RendererWebSchedulerImpl::~RendererWebSchedulerImpl() {} |
29 | 27 |
30 WebTaskRunner* RendererWebSchedulerImpl::CompositorTaskRunner() { | |
31 return compositor_task_runner_.Get(); | |
32 } | |
33 | |
34 void RendererWebSchedulerImpl::SuspendTimerQueue() { | 28 void RendererWebSchedulerImpl::SuspendTimerQueue() { |
35 renderer_scheduler_->SuspendTimerQueue(); | 29 renderer_scheduler_->SuspendTimerQueue(); |
36 } | 30 } |
37 | 31 |
38 void RendererWebSchedulerImpl::ResumeTimerQueue() { | 32 void RendererWebSchedulerImpl::ResumeTimerQueue() { |
39 renderer_scheduler_->ResumeTimerQueue(); | 33 renderer_scheduler_->ResumeTimerQueue(); |
40 } | 34 } |
41 | 35 |
42 std::unique_ptr<blink::WebViewScheduler> | 36 std::unique_ptr<blink::WebViewScheduler> |
43 RendererWebSchedulerImpl::CreateWebViewScheduler( | 37 RendererWebSchedulerImpl::CreateWebViewScheduler( |
44 InterventionReporter* intervention_reporter, | 38 InterventionReporter* intervention_reporter, |
45 WebViewScheduler::WebViewSchedulerSettings* settings) { | 39 WebViewScheduler::WebViewSchedulerSettings* settings) { |
46 return base::WrapUnique(new WebViewSchedulerImpl( | 40 return base::WrapUnique(new WebViewSchedulerImpl( |
47 intervention_reporter, settings, renderer_scheduler_, | 41 intervention_reporter, settings, renderer_scheduler_, |
48 !blink::RuntimeEnabledFeatures:: | 42 !blink::RuntimeEnabledFeatures:: |
49 timerThrottlingForBackgroundTabsEnabled())); | 43 timerThrottlingForBackgroundTabsEnabled())); |
50 } | 44 } |
51 | 45 |
52 } // namespace scheduler | 46 } // namespace scheduler |
53 } // namespace blink | 47 } // namespace blink |
OLD | NEW |