Index: content/browser/android/in_process/synchronous_compositor_output_surface.h |
diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.h b/content/browser/android/in_process/synchronous_compositor_output_surface.h |
index 61f546f01b775715429122f5e23a968f138d5fba..cc1f3be6cbca2b1bea29ee15a9b3a2b3be24cd4c 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_output_surface.h |
+++ b/content/browser/android/in_process/synchronous_compositor_output_surface.h |
@@ -9,6 +9,7 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
+#include "cc/output/compositor_frame.h" |
#include "cc/output/managed_memory_policy.h" |
#include "cc/output/output_surface.h" |
#include "content/public/browser/android/synchronous_compositor.h" |
@@ -32,8 +33,6 @@ class SynchronousCompositorOutputSurfaceDelegate { |
virtual void DidDestroySynchronousOutputSurface( |
SynchronousCompositorOutputSurface* output_surface) = 0; |
virtual void SetContinuousInvalidate(bool enable) = 0; |
- virtual void UpdateFrameMetaData( |
- const cc::CompositorFrameMetadata& frame_metadata) = 0; |
virtual void DidActivatePendingTree() = 0; |
protected: |
@@ -66,12 +65,13 @@ class SynchronousCompositorOutputSurface |
bool InitializeHwDraw( |
scoped_refptr<cc::ContextProvider> onscreen_context_provider); |
void ReleaseHwDraw(); |
- bool DemandDrawHw(gfx::Size surface_size, |
- const gfx::Transform& transform, |
- gfx::Rect viewport, |
- gfx::Rect clip, |
- bool stencil_enabled); |
- bool DemandDrawSw(SkCanvas* canvas); |
+ scoped_ptr<cc::CompositorFrame> DemandDrawHw(gfx::Size surface_size, |
+ const gfx::Transform& transform, |
+ gfx::Rect viewport, |
+ gfx::Rect clip, |
+ bool stencil_enabled); |
+ void ReturnResources(const cc::CompositorFrameAck& frame_ack); |
+ scoped_ptr<cc::CompositorFrame> DemandDrawSw(SkCanvas* canvas); |
void SetMemoryPolicy(const SynchronousCompositorMemoryPolicy& policy); |
private: |
@@ -84,12 +84,10 @@ class SynchronousCompositorOutputSurface |
bool valid_for_tile_management); |
bool CalledOnValidThread() const; |
SynchronousCompositorOutputSurfaceDelegate* GetDelegate(); |
- void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_info); |
int routing_id_; |
bool needs_begin_frame_; |
bool invoking_composite_; |
- bool did_swap_buffer_; |
gfx::Transform cached_hw_transform_; |
gfx::Rect cached_hw_viewport_; |
@@ -101,8 +99,7 @@ class SynchronousCompositorOutputSurface |
cc::ManagedMemoryPolicy memory_policy_; |
cc::OutputSurfaceClient* output_surface_client_; |
- |
- base::WeakPtrFactory<SynchronousCompositorOutputSurface> weak_ptr_factory_; |
+ scoped_ptr<cc::CompositorFrame> frame_holder_; |
DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorOutputSurface); |
}; |