summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h')
-rw-r--r--chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h b/chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h
new file mode 100644
index 00000000000..d448f792c3e
--- /dev/null
+++ b/chromium/third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate_for_test.h
@@ -0,0 +1,59 @@
+// Copyright 2015 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 THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_DELEGATE_FOR_TEST_H_
+#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_DELEGATE_FOR_TEST_H_
+
+#include <memory>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/run_loop.h"
+#include "base/single_thread_task_runner.h"
+#include "base/time/tick_clock.h"
+#include "third_party/blink/renderer/platform/scheduler/base/task_queue_manager_delegate.h"
+
+namespace blink {
+namespace scheduler {
+
+class TaskQueueManagerDelegateForTest : public TaskQueueManagerDelegate {
+ public:
+ static scoped_refptr<TaskQueueManagerDelegateForTest> Create(
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner,
+ const base::TickClock* time_source);
+
+ // SingleThreadTaskRunner:
+ bool PostDelayedTask(const base::Location& from_here,
+ base::OnceClosure task,
+ base::TimeDelta delay) override;
+ bool PostNonNestableDelayedTask(const base::Location& from_here,
+ base::OnceClosure task,
+ base::TimeDelta delay) override;
+ bool RunsTasksInCurrentSequence() const override;
+
+ // TaskQueueManagerDelegate:
+ bool IsNested() const override;
+ void AddNestingObserver(base::RunLoop::NestingObserver* observer) override;
+ void RemoveNestingObserver(base::RunLoop::NestingObserver* observer) override;
+
+ // TickClock:
+ base::TimeTicks NowTicks() const override;
+
+ protected:
+ ~TaskQueueManagerDelegateForTest() override;
+ TaskQueueManagerDelegateForTest(
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner,
+ const base::TickClock* time_source);
+
+ private:
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
+ const base::TickClock* time_source_;
+
+ DISALLOW_COPY_AND_ASSIGN(TaskQueueManagerDelegateForTest);
+};
+
+} // namespace scheduler
+} // namespace blink
+
+#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_DELEGATE_FOR_TEST_H_