Index: ui/accelerated_widget_mac/display_link_mac.h |
diff --git a/ui/accelerated_widget_mac/display_link_mac.h b/ui/accelerated_widget_mac/display_link_mac.h |
index 1ec7a7200cf3528ce11a428e32ac11c4efeda6fa..e462e28bc15eefe39e2ba8efb07ec5b28a6c6cef 100644 |
--- a/ui/accelerated_widget_mac/display_link_mac.h |
+++ b/ui/accelerated_widget_mac/display_link_mac.h |
@@ -5,8 +5,8 @@ |
#ifndef UI_ACCELERATED_WIDGET_MAC_DISPLAY_LINK_MAC_H_ |
#define UI_ACCELERATED_WIDGET_MAC_DISPLAY_LINK_MAC_H_ |
-#include <QuartzCore/CVDisplayLink.h> |
#include <map> |
+#include <QuartzCore/CVDisplayLink.h> |
#include "base/lazy_instance.h" |
#include "base/mac/scoped_typeref.h" |
@@ -24,11 +24,19 @@ class ACCELERATED_WIDGET_MAC_EXPORT DisplayLinkMac : |
static scoped_refptr<DisplayLinkMac> GetForDisplay( |
CGDirectDisplayID display_id); |
+ CGDirectDisplayID display_id() const { return display_id_; } |
+ |
// Get vsync scheduling parameters. |
bool GetVSyncParameters( |
base::TimeTicks* timebase, |
base::TimeDelta* interval); |
+ // Return the time of |interval_fraction| of the way through the next |
+ // vsync period that starts after |from|. If the vsync parameters have |
+ // not yet been computed, return |from|. |
+ base::TimeTicks GetNextVSyncTimeAfter( |
+ const base::TimeTicks& from, double interval_fraction); |
+ |
private: |
friend class base::RefCounted<DisplayLinkMac>; |
@@ -70,6 +78,7 @@ class ACCELERATED_WIDGET_MAC_EXPORT DisplayLinkMac : |
// VSync parameters computed during Tick. |
bool timebase_and_interval_valid_; |
base::TimeTicks timebase_; |
+ base::TimeTicks timebase_remainder_; |
base::TimeDelta interval_; |
// Each display link instance consumes a non-negligible number of cycles, so |