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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/renderer/renderer_web_scheduler_impl.cc

Issue 2810423003: Schedule bitmap animation timers on the compositor task runner. (Closed)
Patch Set: remove TODO comments from tests Created 3 years, 7 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 "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())) {}
25 27
26 RendererWebSchedulerImpl::~RendererWebSchedulerImpl() {} 28 RendererWebSchedulerImpl::~RendererWebSchedulerImpl() {}
27 29
30 WebTaskRunner* RendererWebSchedulerImpl::CompositorTaskRunner() {
31 return compositor_task_runner_.Get();
32 }
33
28 void RendererWebSchedulerImpl::SuspendTimerQueue() { 34 void RendererWebSchedulerImpl::SuspendTimerQueue() {
29 renderer_scheduler_->SuspendTimerQueue(); 35 renderer_scheduler_->SuspendTimerQueue();
30 } 36 }
31 37
32 void RendererWebSchedulerImpl::ResumeTimerQueue() { 38 void RendererWebSchedulerImpl::ResumeTimerQueue() {
33 renderer_scheduler_->ResumeTimerQueue(); 39 renderer_scheduler_->ResumeTimerQueue();
34 } 40 }
35 41
36 std::unique_ptr<blink::WebViewScheduler> 42 std::unique_ptr<blink::WebViewScheduler>
37 RendererWebSchedulerImpl::CreateWebViewScheduler( 43 RendererWebSchedulerImpl::CreateWebViewScheduler(
38 InterventionReporter* intervention_reporter, 44 InterventionReporter* intervention_reporter,
39 WebViewScheduler::WebViewSchedulerSettings* settings) { 45 WebViewScheduler::WebViewSchedulerSettings* settings) {
40 return base::WrapUnique(new WebViewSchedulerImpl( 46 return base::WrapUnique(new WebViewSchedulerImpl(
41 intervention_reporter, settings, renderer_scheduler_, 47 intervention_reporter, settings, renderer_scheduler_,
42 !blink::RuntimeEnabledFeatures:: 48 !blink::RuntimeEnabledFeatures::
43 timerThrottlingForBackgroundTabsEnabled())); 49 timerThrottlingForBackgroundTabsEnabled()));
44 } 50 }
45 51
46 } // namespace scheduler 52 } // namespace scheduler
47 } // namespace blink 53 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698