1b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat// Use of this source code is governed by a BSD-style license that can be
3b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat// found in the LICENSE file.
4b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
5b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat#include "base/test/simple_test_tick_clock.h"
6b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
7b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat#include "base/logging.h"
8b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
9b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Eratnamespace base {
10b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
11b8cf94937c52feb53b55c39e3f82094d27de464cDaniel EratSimpleTestTickClock::SimpleTestTickClock() {}
12b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
13b8cf94937c52feb53b55c39e3f82094d27de464cDaniel EratSimpleTestTickClock::~SimpleTestTickClock() {}
14b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
15b8cf94937c52feb53b55c39e3f82094d27de464cDaniel EratTimeTicks SimpleTestTickClock::NowTicks() {
16b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat  AutoLock lock(lock_);
17b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat  return now_ticks_;
18b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat}
19b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
20b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Eratvoid SimpleTestTickClock::Advance(TimeDelta delta) {
21b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat  AutoLock lock(lock_);
22b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat  DCHECK(delta >= TimeDelta());
23b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat  now_ticks_ += delta;
24b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat}
25b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat
2645779228f8c9e40851cfd23f727e2bd8ffdd4714Alex Vakulenkovoid SimpleTestTickClock::SetNowTicks(TimeTicks ticks) {
2745779228f8c9e40851cfd23f727e2bd8ffdd4714Alex Vakulenko  AutoLock lock(lock_);
2845779228f8c9e40851cfd23f727e2bd8ffdd4714Alex Vakulenko  now_ticks_ = ticks;
2945779228f8c9e40851cfd23f727e2bd8ffdd4714Alex Vakulenko}
3045779228f8c9e40851cfd23f727e2bd8ffdd4714Alex Vakulenko
31b8cf94937c52feb53b55c39e3f82094d27de464cDaniel Erat}  // namespace base
32