| Index: content/common/gpu/image_transport_surface_calayer_mac.h
|
| diff --git a/content/common/gpu/image_transport_surface_calayer_mac.h b/content/common/gpu/image_transport_surface_calayer_mac.h
|
| index 85ee4181a3a33c82e46c6c9b4a825cdd5a36817c..96a01e484c83bc053ad74dc5bd8b5331bf1b58ea 100644
|
| --- a/content/common/gpu/image_transport_surface_calayer_mac.h
|
| +++ b/content/common/gpu/image_transport_surface_calayer_mac.h
|
| @@ -28,18 +28,27 @@ class CALayerStorageProvider
|
| CGLContextObj context, GLuint texture,
|
| gfx::Size pixel_size, float scale_factor) OVERRIDE;
|
| virtual void FreeColorBufferStorage() OVERRIDE;
|
| - virtual uint64 GetSurfaceHandle() const OVERRIDE;
|
| - virtual void WillSwapBuffers() OVERRIDE;
|
| - virtual void CanFreeSwappedBuffer() OVERRIDE;
|
| + virtual void SwapBuffers(const gfx::Size& size, float scale_factor) OVERRIDE;
|
| + virtual void WillWriteToBackbuffer() OVERRIDE;
|
| + virtual void DiscardBackbuffer() OVERRIDE;
|
| + virtual void SwapBuffersAckedByBrowser() OVERRIDE;
|
|
|
| // Interface to ImageTransportLayer:
|
| CGLContextObj LayerShareGroupContext();
|
| bool LayerCanDraw();
|
| void LayerDoDraw();
|
| + void LayerResetStorageProvider();
|
|
|
| private:
|
| + void DrawWithVsyncDisabled();
|
| + void SendPendingSwapToBrowserAfterFrameDrawn();
|
| +
|
| ImageTransportSurfaceFBO* transport_surface_;
|
|
|
| + // Used to determine if we should use setNeedsDisplay or setAsynchronous to
|
| + // animate.
|
| + const bool gpu_vsync_disabled_;
|
| +
|
| // Set when a new swap occurs, and un-set when |layer_| draws that frame.
|
| bool has_pending_draw_;
|
|
|
| @@ -53,11 +62,13 @@ class CALayerStorageProvider
|
| base::ScopedTypeRef<CGLContextObj> share_group_context_;
|
| GLuint fbo_texture_;
|
| gfx::Size fbo_pixel_size_;
|
| + float fbo_scale_factor_;
|
|
|
| // The CALayer that the current frame is being drawn into.
|
| base::scoped_nsobject<CAContext> context_;
|
| base::scoped_nsobject<ImageTransportLayer> layer_;
|
|
|
| + base::WeakPtrFactory<CALayerStorageProvider> weak_factory_;
|
| DISALLOW_COPY_AND_ASSIGN(CALayerStorageProvider);
|
| };
|
|
|
|
|