1 // Copyright 2014 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.
5 #include "content/renderer/scheduler/null_renderer_scheduler.h"
8 #include "base/message_loop/message_loop_proxy.h"
14 class NullIdleTaskRunner : public SingleThreadIdleTaskRunner {
16 NullIdleTaskRunner(scoped_refptr<base::SingleThreadTaskRunner> task_runner);
17 void PostIdleTask(const tracked_objects::Location& from_here,
18 const IdleTask& idle_task) override;
21 ~NullIdleTaskRunner() override;
26 NullIdleTaskRunner::NullIdleTaskRunner(
27 scoped_refptr<base::SingleThreadTaskRunner> task_runner)
28 : SingleThreadIdleTaskRunner(task_runner,
29 base::Callback<void(base::TimeTicks*)>()) {
32 NullIdleTaskRunner::~NullIdleTaskRunner() {
35 void NullIdleTaskRunner::PostIdleTask(
36 const tracked_objects::Location& from_here,
37 const IdleTask& idle_task) {
40 NullRendererScheduler::NullRendererScheduler()
41 : task_runner_(base::MessageLoopProxy::current()),
42 idle_task_runner_(new NullIdleTaskRunner(task_runner_)) {
45 NullRendererScheduler::~NullRendererScheduler() {
48 scoped_refptr<base::SingleThreadTaskRunner>
49 NullRendererScheduler::DefaultTaskRunner() {
53 scoped_refptr<base::SingleThreadTaskRunner>
54 NullRendererScheduler::CompositorTaskRunner() {
58 scoped_refptr<SingleThreadIdleTaskRunner>
59 NullRendererScheduler::IdleTaskRunner() {
60 return idle_task_runner_;
63 void NullRendererScheduler::WillBeginFrame(const cc::BeginFrameArgs& args) {
66 void NullRendererScheduler::DidCommitFrameToCompositor() {
69 void NullRendererScheduler::DidReceiveInputEventOnCompositorThread() {
72 bool NullRendererScheduler::ShouldYieldForHighPriorityWork() {
76 void NullRendererScheduler::Shutdown() {
79 } // namespace content