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 f80ea2408fb818973ab2b97fe7ba93d554f18eb8..0d1653d1611ab6ce498f0aa54d1abff0e2cc07cf 100644 |
--- a/content/port/browser/render_widget_host_view_port.h |
+++ b/content/port/browser/render_widget_host_view_port.h |
@@ -42,6 +42,7 @@ struct WebScreenInfo; |
namespace content { |
class BackingStore; |
+class RenderWidgetHostViewFrameSubscriber; |
class SmoothScrollGesture; |
struct NativeWebKeyboardEvent; |
@@ -188,6 +189,19 @@ class CONTENT_EXPORT RenderWidgetHostViewPort : public RenderWidgetHostView { |
// IsSurfaceAvailableForCopy() and HasAcceleratedSurface(). |
virtual bool CanCopyToVideoFrame() const = 0; |
+ // Begin subscribing for presentation events and captured frames. |
ncarter (slow)
2013/02/16 02:45:22
My familiarity with the render_(view|widget).* cod
|
+ // |subscriber| is now owned by this object, it will be called on the |
+ // presentation thread which might not be the UI thread. |
ncarter (slow)
2013/02/16 02:45:22
It feels somewhat unstructured, that the code to i
Alpha Left Google
2013/02/20 21:34:50
No we can't guarantee that we can make the decisio
|
+ // |
+ // TODO(hclam): Implement this API on all platforms. |
ncarter (slow)
2013/02/16 02:45:22
How does the user of this mechanism know whether B
Alpha Left Google
2013/02/20 21:34:50
I added CanSubscribeFrame().
|
+ virtual void BeginFrameSubscription( |
+ RenderWidgetHostViewFrameSubscriber* subscriber) {} |
+ |
+ // End subscribing for frame presentation events. |subscriber| will be |
+ // deleted after this call. |
+ virtual void EndFrameSubscription( |
+ RenderWidgetHostViewFrameSubscriber* subscriber) {} |
ncarter (slow)
2013/02/16 02:45:22
If ownership of |subscriber| passes to the RWHVP,
Alpha Left Google
2013/02/20 21:34:50
The ownership is transferred but WCVCD should keep
|
+ |
// Called when accelerated compositing state changes. |
virtual void OnAcceleratedCompositingStateChange() = 0; |
// |params.window| and |params.surface_id| indicate which accelerated |