// Copyright 2013 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.

#ifndef UI_GFX_FRAME_TIME_H
#define UI_GFX_FRAME_TIME_H

#include "base/time/time.h"
#include "base/logging.h"

namespace gfx {

// FrameTime::Now() should be used to get timestamps with a timebase that
// is consistent across the graphics stack.
class FrameTime {
 public:
  static base::TimeTicks Now() {
    return base::TimeTicks::Now();
  }

#if defined(OS_WIN)
  static base::TimeTicks FromQPCValue(LONGLONG qpc_value) {
    DCHECK(TimestampsAreHighRes());
    return base::TimeTicks::FromQPCValue(qpc_value);
  }
#endif

  static bool TimestampsAreHighRes() {
    // This should really return base::TimeTicks::IsHighResNowFastAndReliable();
    // Returning false makes sure we are only using low-res timestamps until we
    // use FrameTime everywhere we need to. See crbug.com/315334
    return false;
  }
};

}

#endif // UI_GFX_FRAME_TIME_H
