Replace base::MockTimer with behavior-specific timers in //components
This CL replaces MockTimer with MockOneShotTimer or MockRepeatingTimer
as a preparation of OnceCallback support of base::Timer.
Bug: 850247
Change-Id: Ibe313bbf292c269b67782c169af173859c353db7
Reviewed-on: https://chromium-review.googlesource.com/1111482
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Commit-Queue: Taiju Tsuiki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#571834}
diff --git a/base/timer/mock_timer.h b/base/timer/mock_timer.h
index 597e155..81dc2bc 100644
--- a/base/timer/mock_timer.h
+++ b/base/timer/mock_timer.h
@@ -69,6 +69,24 @@
scoped_refptr<TestSimpleTaskRunner> test_task_runner_;
};
+// See MockTimer's comment. Prefer using ScopedTaskEnvironment::MOCK_TIME.
+class MockRetainingOneShotTimer : public RetainingOneShotTimer {
+ public:
+ MockRetainingOneShotTimer();
+ ~MockRetainingOneShotTimer() override;
+
+ // Testing method.
+ void Fire();
+
+ private:
+ // Timer implementation.
+ // MockRetainingOneShotTimer doesn't support SetTaskRunner. Do not use this.
+ void SetTaskRunner(scoped_refptr<SequencedTaskRunner> task_runner) override;
+
+ SimpleTestTickClock clock_;
+ scoped_refptr<TestSimpleTaskRunner> test_task_runner_;
+};
+
} // namespace base
#endif // BASE_TIMER_MOCK_TIMER_H_