Chromium Code Reviews| Index: components/scheduler/child/virtual_time_task_runner_delegate_impl.h |
| diff --git a/components/scheduler/child/scheduler_task_runner_delegate_impl.h b/components/scheduler/child/virtual_time_task_runner_delegate_impl.h |
| similarity index 54% |
| copy from components/scheduler/child/scheduler_task_runner_delegate_impl.h |
| copy to components/scheduler/child/virtual_time_task_runner_delegate_impl.h |
| index 2f18b992c68728bbdd47c47a32e3bbf9c128098e..deed976099c687ca0e8ce233cdd8c824e780f2ba 100644 |
| --- a/components/scheduler/child/scheduler_task_runner_delegate_impl.h |
| +++ b/components/scheduler/child/virtual_time_task_runner_delegate_impl.h |
| @@ -2,21 +2,26 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
| -#define COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
| +#ifndef COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_IMPL_H_ |
| +#define COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_IMPL_H_ |
| +#include <map> |
| + |
| +#include "base/macros.h" |
| #include "base/message_loop/message_loop.h" |
| +#include "base/time/tick_clock.h" |
| #include "components/scheduler/child/scheduler_task_runner_delegate.h" |
| #include "components/scheduler/scheduler_export.h" |
| namespace scheduler { |
| -class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
| +class SCHEDULER_EXPORT VirtualTimeTaskRunnerDelegateImpl |
| : public SchedulerTaskRunnerDelegate { |
| public: |
| // |message_loop| is not owned and must outlive the lifetime of this object. |
| - static scoped_refptr<SchedulerTaskRunnerDelegateImpl> Create( |
| - base::MessageLoop* message_loop); |
| + static scoped_refptr<VirtualTimeTaskRunnerDelegateImpl> Create( |
| + base::MessageLoop* message_loop, |
| + base::TimeTicks initial_now); |
| // SchedulerTaskRunnerDelegate implementation |
| void SetDefaultTaskRunner( |
| @@ -30,20 +35,33 @@ class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
| base::TimeDelta delay) override; |
| bool RunsTasksOnCurrentThread() const override; |
| bool IsNested() const override; |
| + base::TimeTicks NowTicks() override; |
| + void OnNoMoreWork() override; |
| + |
| + void SetFastForwardTimers(bool fast_forward_timers); |
|
Sami
2015/10/28 20:00:35
nit: "Timers" aren't really a thing at this level.
alex clarke (OOO till 29th)
2015/10/29 18:07:30
Yeah looks like this isn't needed anymore.
|
| protected: |
| - ~SchedulerTaskRunnerDelegateImpl() override; |
| + ~VirtualTimeTaskRunnerDelegateImpl() override; |
| private: |
| - explicit SchedulerTaskRunnerDelegateImpl(base::MessageLoop* message_loop); |
| + VirtualTimeTaskRunnerDelegateImpl(base::MessageLoop* message_loop, |
| + base::TimeTicks initial_no); |
| + |
| + void AdvancedTimeTo(base::TimeTicks now); |
| + |
| + typedef std::multimap<base::TimeTicks, base::Closure> DelayedWakeupMultimap; |
| + |
| + DelayedWakeupMultimap delayed_wakeup_multimap_; |
| // Not owned. |
| base::MessageLoop* message_loop_; |
| scoped_refptr<SingleThreadTaskRunner> message_loop_task_runner_; |
| + base::TimeTicks now_; |
| + bool bool fast_forward_timers_; |
|
Sami
2015/10/28 20:00:35
typo: double bool (didn't realize this even compil
alex clarke (OOO till 29th)
2015/10/29 18:07:30
Done.
|
| - DISALLOW_COPY_AND_ASSIGN(SchedulerTaskRunnerDelegateImpl); |
| + DISALLOW_COPY_AND_ASSIGN(VirtualTimeTaskRunnerDelegateImpl); |
| }; |
| } // namespace scheduler |
| -#endif // COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
| +#endif // COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_IMPL_H_ |