Chromium Code Reviews| Index: public/platform/WebFrameTime.h |
| diff --git a/public/platform/WebPoint.h b/public/platform/WebFrameTime.h |
| similarity index 60% |
| copy from public/platform/WebPoint.h |
| copy to public/platform/WebFrameTime.h |
| index 7424072f9ae02bd46211715d15093510809c357c..faf4544d88b90ec92eafaf4db967088229823212 100644 |
| --- a/public/platform/WebPoint.h |
| +++ b/public/platform/WebFrameTime.h |
| @@ -1,5 +1,5 @@ |
| /* |
| - * Copyright (C) 2009 Google Inc. All rights reserved. |
| + * Copyright (C) 2014 Google Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are |
| @@ -28,84 +28,48 @@ |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| -#ifndef WebPoint_h |
| -#define WebPoint_h |
| +#ifndef WebFrameTime_h |
| +#define WebFrameTime_h |
| #include "WebCommon.h" |
| -#if INSIDE_BLINK |
| -#include "platform/geometry/IntPoint.h" |
| -#else |
| -#include <ui/gfx/point.h> |
| -#endif |
| - |
| namespace blink { |
| -struct WebPoint { |
| - int x; |
| - int y; |
| - |
| - WebPoint() |
| - : x(0) |
| - , y(0) |
| +struct WebFrameTime { |
| + WebFrameTime(double flt, uint64_t d, uint64_t fdt) |
|
abarth-chromium
2014/06/11 19:33:01
Please use complete words in variable names.
mithro-old
2014/06/18 03:36:44
Done.
|
| + : frameLastTime(flt) |
| + , renderDeadline(d) |
| + , frameDisplayTime(fdt) |
| { |
| } |
| - WebPoint(int x, int y) |
| - : x(x) |
| - , y(y) |
| - { |
| - } |
| + // FIXME(mithro): Upgrade frame_time, deadline and frame_dispaly_time to TimeTick class. |
|
abarth-chromium
2014/06/11 19:33:01
frame_time -> frameTime
frame_dispaly_time -> fram
|
| -#if INSIDE_BLINK |
| - WebPoint(const WebCore::IntPoint& p) |
| - : x(p.x()) |
| - , y(p.y()) |
| - { |
| - } |
| + // Time in CLOCK_MONOTONIC that is the most recent vsync time. |
| + double frameLastTime; |
|
abarth-chromium
2014/06/11 19:33:01
lastFrameTime?
mithro-old
2014/06/18 03:36:44
Done.
|
| - WebPoint& operator=(const WebCore::IntPoint& p) |
| - { |
| - x = p.x(); |
| - y = p.y(); |
| - return *this; |
| - } |
| + // Time in CLOCK_MONOTONIC by which rendering must be finished by to not |
| + // stall the pipeline. |
| + double renderDeadline; |
| - operator WebCore::IntPoint() const |
| - { |
| - return WebCore::IntPoint(x, y); |
| - } |
| -#else |
| - WebPoint(const gfx::Point& p) |
| - : x(p.x()) |
| - , y(p.y()) |
| - { |
| - } |
| + // Time in CLOCK_MONOTONIC that the frame will hit the glass of the display |
| + // if rendered within the deadline. A value of NaN means we do not know and |
| + // you should use frameLastTime instead. |
| + double frameDisplayTime; |
| - WebPoint& operator=(const gfx::Point& p) |
| + inline bool frameDisplayTimeValid() |
|
abarth-chromium
2014/06/11 19:33:01
The keyword |inline| doesn't do anything there.
mithro-old
2014/06/18 03:36:44
I removed these functions and just made sure displ
|
| { |
| - x = p.x(); |
| - y = p.y(); |
| - return *this; |
| + return (frameDisplayTime == frameDisplayTime) && frameDisplayTime >= frameLastTime; |
| } |
| - operator gfx::Point() const |
| + inline double frameTime() |
|
abarth-chromium
2014/06/11 19:33:01
ditto
mithro-old
2014/06/18 03:36:44
Done.
|
| { |
| - return gfx::Point(x, y); |
| + if (frameDisplayTimeValid()) |
| + return frameDisplayTime; |
| + return frameLastTime; |
| } |
| -#endif |
| }; |
| -inline bool operator==(const WebPoint& a, const WebPoint& b) |
| -{ |
| - return a.x == b.x && a.y == b.y; |
| -} |
| - |
| -inline bool operator!=(const WebPoint& a, const WebPoint& b) |
| -{ |
| - return !(a == b); |
| -} |
| - |
| } // namespace blink |
| #endif |