Index: content/port/browser/render_widget_host_view_port.h |
diff --git a/content/port/browser/render_widget_host_view_port.h b/content/port/browser/render_widget_host_view_port.h |
index 6c7ff6801adbd11b8285a965da8fa8443a1c526b..a08049af531c918d957fe7578e7e835615549393 100644 |
--- a/content/port/browser/render_widget_host_view_port.h |
+++ b/content/port/browser/render_widget_host_view_port.h |
@@ -43,6 +43,7 @@ struct WebScreenInfo; |
namespace content { |
class BackingStore; |
+class RenderWidgetHostViewFrameSubscriber; |
class SmoothScrollGesture; |
struct NativeWebKeyboardEvent; |
@@ -194,6 +195,19 @@ class CONTENT_EXPORT RenderWidgetHostViewPort : public RenderWidgetHostView, |
// IsSurfaceAvailableForCopy() and HasAcceleratedSurface(). |
virtual bool CanCopyToVideoFrame() const = 0; |
+ // Return true if frame subscription is supported on this platform. |
+ virtual bool CanSubscribeFrame() const = 0; |
+ |
+ // Begin subscribing for presentation events and captured frames. |
+ // |subscriber| is now owned by this object, it will be called only on the |
+ // UI thread. |
+ virtual void BeginFrameSubscription( |
+ RenderWidgetHostViewFrameSubscriber* subscriber) = 0; |
+ |
+ // End subscribing for frame presentation events. FrameSubscriber will be |
+ // deleted after this call. |
+ virtual void EndFrameSubscription() = 0; |
+ |
// Called when accelerated compositing state changes. |
virtual void OnAcceleratedCompositingStateChange() = 0; |
// |params.window| and |params.surface_id| indicate which accelerated |