| Index: components/scheduler/child/virtual_time_tqm_delegate.h
|
| diff --git a/components/scheduler/child/scheduler_task_runner_delegate_impl.h b/components/scheduler/child/virtual_time_tqm_delegate.h
|
| similarity index 51%
|
| rename from components/scheduler/child/scheduler_task_runner_delegate_impl.h
|
| rename to components/scheduler/child/virtual_time_tqm_delegate.h
|
| index 2f18b992c68728bbdd47c47a32e3bbf9c128098e..ba0302af16d298ed6a82b3f38fabdf2cf5fb5c95 100644
|
| --- a/components/scheduler/child/scheduler_task_runner_delegate_impl.h
|
| +++ b/components/scheduler/child/virtual_time_tqm_delegate.h
|
| @@ -2,23 +2,27 @@
|
| // 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_TQM_DELEGATE_H_
|
| +#define COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TQM_DELEGATE_H_
|
|
|
| +#include <map>
|
| +
|
| +#include "base/macros.h"
|
| #include "base/message_loop/message_loop.h"
|
| -#include "components/scheduler/child/scheduler_task_runner_delegate.h"
|
| +#include "base/time/tick_clock.h"
|
| +#include "components/scheduler/child/scheduler_tqm_delegate.h"
|
| #include "components/scheduler/scheduler_export.h"
|
|
|
| namespace scheduler {
|
|
|
| -class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl
|
| - : public SchedulerTaskRunnerDelegate {
|
| +class SCHEDULER_EXPORT VirtualTimeTqmDelegate : public SchedulerTqmDelegate {
|
| 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<VirtualTimeTqmDelegate> Create(
|
| + base::MessageLoop* message_loop,
|
| + base::TimeTicks initial_now);
|
|
|
| - // SchedulerTaskRunnerDelegate implementation
|
| + // SchedulerTqmDelegate implementation
|
| void SetDefaultTaskRunner(
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner) override;
|
| void RestoreDefaultTaskRunner() override;
|
| @@ -30,20 +34,30 @@ class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl
|
| base::TimeDelta delay) override;
|
| bool RunsTasksOnCurrentThread() const override;
|
| bool IsNested() const override;
|
| + base::TimeTicks NowTicks() override;
|
| + void OnNoMoreImmediateWork() override;
|
|
|
| protected:
|
| - ~SchedulerTaskRunnerDelegateImpl() override;
|
| + ~VirtualTimeTqmDelegate() override;
|
|
|
| private:
|
| - explicit SchedulerTaskRunnerDelegateImpl(base::MessageLoop* message_loop);
|
| + explicit VirtualTimeTqmDelegate(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_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(SchedulerTaskRunnerDelegateImpl);
|
| + DISALLOW_COPY_AND_ASSIGN(VirtualTimeTqmDelegate);
|
| };
|
|
|
| } // namespace scheduler
|
|
|
| -#endif // COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_
|
| +#endif // COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TQM_DELEGATE_H_
|
|
|