Index: cc/output/compositor_frame_sink.h |
diff --git a/cc/output/compositor_frame_sink.h b/cc/output/compositor_frame_sink.h |
index 5aa440552e3573434cd910256e8f0dde7ff63464..1cd1966188b7fcb17e969b91e58586a0541a6c9c 100644 |
--- a/cc/output/compositor_frame_sink.h |
+++ b/cc/output/compositor_frame_sink.h |
@@ -30,11 +30,16 @@ class Size; |
class Transform; |
} |
+namespace gpu { |
+class GpuMemoryBufferManager; |
+} |
+ |
namespace cc { |
class CompositorFrame; |
struct ManagedMemoryPolicy; |
class CompositorFrameSinkClient; |
+class SharedBitmapManager; |
// An interface for submitting CompositorFrames to a display compositor |
// which will compose frames from multiple CompositorFrameSinks to show |
@@ -56,8 +61,16 @@ class CC_EXPORT CompositorFrameSink { |
}; |
// Constructor for GL-based and/or software resources. |
+ // gpu_memory_buffer_manager and shared_bitmap_manager must outlive the |
+ // CompositorFrameSink. |
+ // shared_bitmap_manager is optional (won't be used) if context_provider is |
+ // present. |
+ // gpu_memory_buffer_manager is optional (won't be used) if context_provider |
+ // is not present. |
CompositorFrameSink(scoped_refptr<ContextProvider> context_provider, |
- scoped_refptr<ContextProvider> worker_context_provider); |
+ scoped_refptr<ContextProvider> worker_context_provider, |
+ gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
+ SharedBitmapManager* shared_bitmap_manager); |
// Constructor for Vulkan-based resources. |
explicit CompositorFrameSink( |
@@ -93,6 +106,12 @@ class CC_EXPORT CompositorFrameSink { |
VulkanContextProvider* vulkan_context_provider() const { |
return vulkan_context_provider_.get(); |
} |
+ gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() const { |
+ return gpu_memory_buffer_manager_; |
+ } |
+ SharedBitmapManager* shared_bitmap_manager() const { |
+ return shared_bitmap_manager_; |
+ } |
// If supported, this causes a ReclaimResources for all resources that are |
// currently in use. |
@@ -120,6 +139,8 @@ class CC_EXPORT CompositorFrameSink { |
scoped_refptr<ContextProvider> context_provider_; |
scoped_refptr<ContextProvider> worker_context_provider_; |
scoped_refptr<VulkanContextProvider> vulkan_context_provider_; |
+ gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_; |
+ SharedBitmapManager* shared_bitmap_manager_; |
base::ThreadChecker client_thread_checker_; |
private: |