| Index: components/scheduler/renderer/throttled_time_domain.cc
|
| diff --git a/components/scheduler/renderer/throttled_time_domain.cc b/components/scheduler/renderer/throttled_time_domain.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..76a94a2a01a0a17de431057ffa03918254806c73
|
| --- /dev/null
|
| +++ b/components/scheduler/renderer/throttled_time_domain.cc
|
| @@ -0,0 +1,31 @@
|
| +// Copyright 2016 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.
|
| +
|
| +#include "components/scheduler/renderer/throttled_time_domain.h"
|
| +
|
| +#include "base/time/tick_clock.h"
|
| +
|
| +namespace scheduler {
|
| +
|
| +ThrottledTimeDomain::ThrottledTimeDomain(TimeDomain::Observer* observer,
|
| + base::TickClock* tick_clock)
|
| + : VirtualTimeDomain(observer, tick_clock->NowTicks()),
|
| + tick_clock_(tick_clock) {}
|
| +
|
| +ThrottledTimeDomain::~ThrottledTimeDomain() {}
|
| +
|
| +base::TimeTicks ThrottledTimeDomain::ComputeDelayedRunTime(
|
| + base::TimeTicks,
|
| + base::TimeDelta delay) const {
|
| + // We ignore the |time_domain_now| parameter since its the virtual time but we
|
| + // need to use the current real time when computing the delayed runtime. If
|
| + // don't do that, throttled timers may fire sooner than expected.
|
| + return tick_clock_->NowTicks() + delay;
|
| +}
|
| +
|
| +const char* ThrottledTimeDomain::GetName() const {
|
| + return "ThrottledTimeDomain";
|
| +}
|
| +
|
| +} // namespace scheduler
|
|
|