| // Copyright 2018 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. |
| |
| #include "third_party/blink/renderer/platform/scheduler/common/simple_thread_scheduler.h" |
| |
| #include "base/threading/thread_task_runner_handle.h" |
| #include "base/time/time.h" |
| #include "third_party/blink/renderer/platform/wtf/functional.h" |
| |
| namespace blink { |
| namespace scheduler { |
| |
| SimpleThreadScheduler::SimpleThreadScheduler() {} |
| |
| SimpleThreadScheduler::~SimpleThreadScheduler() {} |
| |
| void SimpleThreadScheduler::Shutdown() {} |
| |
| bool SimpleThreadScheduler::ShouldYieldForHighPriorityWork() { |
| return false; |
| } |
| |
| bool SimpleThreadScheduler::CanExceedIdleDeadlineIfRequired() const { |
| return false; |
| } |
| |
| void SimpleThreadScheduler::PostIdleTask(const base::Location& location, |
| WebThread::IdleTask task) { |
| base::TimeTicks deadline = |
| base::TimeTicks::Now() + base::TimeDelta::FromSeconds(1); |
| base::ThreadTaskRunnerHandle::Get()->PostTask( |
| location, WTF::Bind(std::move(task), deadline)); |
| } |
| |
| void SimpleThreadScheduler::PostNonNestableIdleTask( |
| const base::Location& location, |
| WebThread::IdleTask task) { |
| base::TimeTicks deadline = |
| base::TimeTicks::Now() + base::TimeDelta::FromSeconds(1); |
| base::ThreadTaskRunnerHandle::Get()->PostNonNestableTask( |
| location, WTF::Bind(std::move(task), deadline)); |
| } |
| |
| void SimpleThreadScheduler::AddRAILModeObserver(WebRAILModeObserver* observer) { |
| } |
| |
| scoped_refptr<base::SingleThreadTaskRunner> |
| SimpleThreadScheduler::V8TaskRunner() { |
| return base::ThreadTaskRunnerHandle::Get(); |
| } |
| |
| scoped_refptr<base::SingleThreadTaskRunner> |
| SimpleThreadScheduler::CompositorTaskRunner() { |
| return base::ThreadTaskRunnerHandle::Get(); |
| } |
| |
| std::unique_ptr<PageScheduler> SimpleThreadScheduler::CreatePageScheduler( |
| PageScheduler::Delegate* delegate) { |
| return nullptr; |
| } |
| |
| std::unique_ptr<ThreadScheduler::RendererPauseHandle> |
| SimpleThreadScheduler::PauseScheduler() { |
| return nullptr; |
| } |
| |
| base::TimeTicks SimpleThreadScheduler::MonotonicallyIncreasingVirtualTime() { |
| return base::TimeTicks::Now(); |
| } |
| |
| void SimpleThreadScheduler::AddTaskObserver( |
| base::MessageLoop::TaskObserver* task_observer) {} |
| |
| void SimpleThreadScheduler::RemoveTaskObserver( |
| base::MessageLoop::TaskObserver* task_observer) {} |
| |
| NonMainThreadSchedulerImpl* SimpleThreadScheduler::AsNonMainThreadScheduler() { |
| return nullptr; |
| } |
| |
| } // namespace scheduler |
| } // namespace blink |