| Index: content/browser/renderer_host/render_widget_host_view_android.h
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
|
| index 7d93dda593db2d251efb2c9e4e6352f00d70b925..30846da4407c6c1ad5be79c8fd9b43ee157d420d 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_android.h
|
| +++ b/content/browser/renderer_host/render_widget_host_view_android.h
|
| @@ -174,6 +174,8 @@ class RenderWidgetHostViewAndroid
|
| const SkBitmap& zoomed_bitmap) OVERRIDE;
|
| virtual scoped_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget()
|
| OVERRIDE;
|
| + virtual void LockSurfaceForCopy() OVERRIDE;
|
| + virtual void UnlockSurfaceForCopy() OVERRIDE;
|
|
|
| // Implementation of BrowserAccessibilityDelegate:
|
| virtual void SetAccessibilityFocus(int acc_obj_id) OVERRIDE;
|
| @@ -217,9 +219,6 @@ class RenderWidgetHostViewAndroid
|
| void OnSetNeedsBeginFrame(bool enabled);
|
| void OnSmartClipDataExtracted(const base::string16& result);
|
|
|
| - void LockResources();
|
| - void UnlockResources();
|
| -
|
| long GetNativeImeAdapter();
|
|
|
| void WasResized();
|
| @@ -294,6 +293,19 @@ class RenderWidgetHostViewAndroid
|
|
|
| bool IsReadbackConfigSupported(SkBitmap::Config bitmap_config);
|
|
|
| + // If we have locks on a frame during a ContentViewCore swap or a context
|
| + // lost, the frame is no longer valid and we can safely release all the locks.
|
| + // Use this method to release all the locks.
|
| + void ReleaseLocksOnSurface();
|
| +
|
| + // Drop any incoming frames from the renderer when there are locks on the
|
| + // current frame.
|
| + void RetainFrame(uint32 output_surface_id,
|
| + scoped_ptr<cc::CompositorFrame> frame);
|
| +
|
| + void InternalSwapCompositorFrame(uint32 output_surface_id,
|
| + scoped_ptr<cc::CompositorFrame> frame);
|
| +
|
| // The model object.
|
| RenderWidgetHostImpl* host_;
|
|
|
| @@ -359,6 +371,19 @@ class RenderWidgetHostViewAndroid
|
|
|
| bool using_delegated_renderer_;
|
|
|
| + size_t locks_on_frame_count_;
|
| +
|
| + struct LastFrameInfo {
|
| + LastFrameInfo(uint32 output_id,
|
| + scoped_ptr<cc::CompositorFrame> output_frame)
|
| + : output_surface_id(output_id), frame(output_frame.Pass()) {}
|
| +
|
| + uint32 output_surface_id;
|
| + scoped_ptr<cc::CompositorFrame> frame;
|
| + };
|
| +
|
| + scoped_ptr<LastFrameInfo> last_frame_info_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid);
|
| };
|
|
|
|
|