blob: 7df8a2bb3853f2ea43e3805fee08a5927adabbf9 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_
#define CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_
#include "content/renderer/scheduler/renderer_scheduler.h"
namespace content {
class NullRendererScheduler : public RendererScheduler {
public:
NullRendererScheduler();
~NullRendererScheduler() override;
scoped_refptr<base::SingleThreadTaskRunner> DefaultTaskRunner() override;
scoped_refptr<base::SingleThreadTaskRunner> CompositorTaskRunner() override;
scoped_refptr<base::SingleThreadTaskRunner> LoadingTaskRunner() override;
scoped_refptr<SingleThreadIdleTaskRunner> IdleTaskRunner() override;
void WillBeginFrame(const cc::BeginFrameArgs& args) override;
void BeginFrameNotExpectedSoon() override;
void DidCommitFrameToCompositor() override;
void DidReceiveInputEventOnCompositorThread(
const blink::WebInputEvent& web_input_event) override;
void DidAnimateForInputOnCompositorThread() override;
bool IsHighPriorityWorkAnticipated() override;
bool ShouldYieldForHighPriorityWork() override;
bool CanExceedIdleDeadlineIfRequired() const override;
void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override;
void RemoveTaskObserver(
base::MessageLoop::TaskObserver* task_observer) override;
void Shutdown() override;
private:
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
scoped_refptr<SingleThreadIdleTaskRunner> idle_task_runner_;
DISALLOW_COPY_AND_ASSIGN(NullRendererScheduler);
};
} // namespace content
#endif // CONTENT_RENDERER_SCHEDULER_NULL_RENDERER_SCHEDULER_H_