// Copyright 2014 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 WebBeginFrameArgs_h #define WebBeginFrameArgs_h namespace blink { struct WebBeginFrameArgs { WebBeginFrameArgs(double lastFrameTimeMonotonic, double deadline, double interval) : lastFrameTimeMonotonic(lastFrameTimeMonotonic) , deadline(deadline) , interval(interval) { } // TODO: Remove this constructor once Chromium has been updated. WebBeginFrameArgs(double lastFrameTimeMonotonic) : lastFrameTimeMonotonic(lastFrameTimeMonotonic) , deadline(0) , interval(0) { } // FIXME: Upgrade the time in CLOCK_MONOTONIC values to use a TimeTick like // class rather than a bare double. // FIXME: Extend this class to include the fields from Chrome // BeginFrameArgs structure. // Time in CLOCK_MONOTONIC that is the most recent vsync time. double lastFrameTimeMonotonic; // Time in CLOCK_MONOTONIC by which the renderer should finish producing the current frame. 0 means a deadline wasn't set. double deadline; // Expected delta between two successive frame times. 0 if a regular interval isn't available. double interval; }; } // namespace blink #endif