Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / content / renderer / scheduler / null_renderer_scheduler.cc
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.
4
5 #include "content/renderer/scheduler/null_renderer_scheduler.h"
6
7 #include "base/bind.h"
8 #include "base/message_loop/message_loop_proxy.h"
9
10 namespace content {
11
12 namespace {
13
14 class NullIdleTaskRunner : public SingleThreadIdleTaskRunner {
15  public:
16   NullIdleTaskRunner(scoped_refptr<base::SingleThreadTaskRunner> task_runner);
17   void PostIdleTask(const tracked_objects::Location& from_here,
18                     const IdleTask& idle_task) override;
19
20  protected:
21   ~NullIdleTaskRunner() override;
22 };
23
24 }  // namespace
25
26 NullIdleTaskRunner::NullIdleTaskRunner(
27     scoped_refptr<base::SingleThreadTaskRunner> task_runner)
28     : SingleThreadIdleTaskRunner(task_runner,
29                                  base::Callback<void(base::TimeTicks*)>()) {
30 }
31
32 NullIdleTaskRunner::~NullIdleTaskRunner() {
33 }
34
35 void NullIdleTaskRunner::PostIdleTask(
36     const tracked_objects::Location& from_here,
37     const IdleTask& idle_task) {
38 }
39
40 NullRendererScheduler::NullRendererScheduler()
41     : task_runner_(base::MessageLoopProxy::current()),
42       idle_task_runner_(new NullIdleTaskRunner(task_runner_)) {
43 }
44
45 NullRendererScheduler::~NullRendererScheduler() {
46 }
47
48 scoped_refptr<base::SingleThreadTaskRunner>
49 NullRendererScheduler::DefaultTaskRunner() {
50   return task_runner_;
51 }
52
53 scoped_refptr<base::SingleThreadTaskRunner>
54 NullRendererScheduler::CompositorTaskRunner() {
55   return task_runner_;
56 }
57
58 scoped_refptr<SingleThreadIdleTaskRunner>
59 NullRendererScheduler::IdleTaskRunner() {
60   return idle_task_runner_;
61 }
62
63 void NullRendererScheduler::WillBeginFrame(const cc::BeginFrameArgs& args) {
64 }
65
66 void NullRendererScheduler::DidCommitFrameToCompositor() {
67 }
68
69 void NullRendererScheduler::DidReceiveInputEventOnCompositorThread() {
70 }
71
72 bool NullRendererScheduler::ShouldYieldForHighPriorityWork() {
73   return false;
74 }
75
76 void NullRendererScheduler::Shutdown() {
77 }
78
79 }  // namespace content