Roll src/third_party/WebKit 605a979:06cb9e9 (svn 202556:202558)
[chromium-blink-merge.git] / components / scheduler / child / nestable_task_runner_for_test.h
blobe1a4f276d03872818de5a42be3c3bcbbc243406a
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
3 // found in the LICENSE file.
5 #ifndef CONTENT_RENDERER_SCHEDULER_NESTABLE_TASK_RUNNER_FOR_TEST_H_
6 #define CONTENT_RENDERER_SCHEDULER_NESTABLE_TASK_RUNNER_FOR_TEST_H_
8 #include "components/scheduler/child/nestable_single_thread_task_runner.h"
10 namespace scheduler {
12 class NestableTaskRunnerForTest : public NestableSingleThreadTaskRunner {
13 public:
14 static scoped_refptr<NestableTaskRunnerForTest> Create(
15 scoped_refptr<base::SingleThreadTaskRunner> task_runner);
17 // NestableSingleThreadTaskRunner implementation
18 bool PostDelayedTask(const tracked_objects::Location& from_here,
19 const base::Closure& task,
20 base::TimeDelta delay) override;
21 bool PostNonNestableDelayedTask(const tracked_objects::Location& from_here,
22 const base::Closure& task,
23 base::TimeDelta delay) override;
24 bool RunsTasksOnCurrentThread() const override;
25 bool IsNested() const override;
27 protected:
28 ~NestableTaskRunnerForTest() override;
30 private:
31 NestableTaskRunnerForTest(
32 scoped_refptr<base::SingleThreadTaskRunner> task_runner);
34 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
35 bool is_nested_;
37 DISALLOW_COPY_AND_ASSIGN(NestableTaskRunnerForTest);
40 } // namespace scheduler
42 #endif // CONTENT_RENDERER_SCHEDULER_NESTABLE_TASK_RUNNER_FOR_TEST_H_