Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(830)

Unified Diff: components/viz/client/client_compositor_frame_sink.h

Issue 2923583002: Remove RendererCompositorFrameSink and use ClientCompositorFrameSink instead (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/viz/client/client_compositor_frame_sink.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/viz/client/client_compositor_frame_sink.h
diff --git a/components/viz/client/client_compositor_frame_sink.h b/components/viz/client/client_compositor_frame_sink.h
index 008b730264ab968aed9caee42e69c5f329b49078..f5fec20dd33db09a9aeed313fed38d4802652a4f 100644
--- a/components/viz/client/client_compositor_frame_sink.h
+++ b/components/viz/client/client_compositor_frame_sink.h
@@ -16,6 +16,24 @@
namespace viz {
+class LocalSurfaceIdProvider {
Fady Samuel 2017/06/05 15:33:48 Make this a separate file?
Saman Sami 2017/06/05 15:49:22 Done.
+ public:
+ virtual const cc::LocalSurfaceId& GetLocalSurfaceIdForFrame(
+ const cc::CompositorFrame& frame) = 0;
+};
+
+class DefaultLocalSurfaceIdProvider : public LocalSurfaceIdProvider {
Fady Samuel 2017/06/05 15:33:48 Separate file?
Saman Sami 2017/06/05 15:49:22 I put in the same file as LocalSurfaceIdProvider.
+ public:
+ const cc::LocalSurfaceId& GetLocalSurfaceIdForFrame(
+ const cc::CompositorFrame& frame) override;
+
+ private:
+ cc::LocalSurfaceId local_surface_id_;
+ gfx::Size surface_size_;
+ float device_scale_factor_ = 0;
+ cc::LocalSurfaceIdAllocator local_surface_id_allocator_;
Fady Samuel 2017/06/05 15:33:48 DISALLOW_COPY_AND_ASSIGN..
Saman Sami 2017/06/05 15:49:22 Done.
+};
+
class ClientCompositorFrameSink
: public cc::CompositorFrameSink,
public cc::mojom::MojoCompositorFrameSinkClient,
@@ -30,6 +48,7 @@ class ClientCompositorFrameSink
synthetic_begin_frame_source,
cc::mojom::MojoCompositorFrameSinkPtrInfo compositor_frame_sink_info,
cc::mojom::MojoCompositorFrameSinkClientRequest client_request,
+ std::unique_ptr<LocalSurfaceIdProvider> local_surface_id_provider,
bool enable_surface_synchronization);
ClientCompositorFrameSink(
@@ -38,6 +57,7 @@ class ClientCompositorFrameSink
synthetic_begin_frame_source,
cc::mojom::MojoCompositorFrameSinkPtrInfo compositor_frame_sink_info,
cc::mojom::MojoCompositorFrameSinkClientRequest client_request,
+ std::unique_ptr<LocalSurfaceIdProvider> local_surface_id_provider,
bool enable_surface_synchronization);
~ClientCompositorFrameSink() override;
@@ -50,9 +70,6 @@ class ClientCompositorFrameSink
void DidNotProduceFrame(const cc::BeginFrameAck& ack) override;
private:
- virtual bool ShouldAllocateNewLocalSurfaceId(
- const cc::CompositorFrame& frame);
-
// cc::mojom::MojoCompositorFrameSinkClient implementation:
void DidReceiveCompositorFrameAck(
const cc::ReturnedResourceArray& resources) override;
@@ -62,11 +79,8 @@ class ClientCompositorFrameSink
// cc::ExternalBeginFrameSourceClient implementation.
void OnNeedsBeginFrames(bool needs_begin_frames) override;
- gfx::Size surface_size_;
- float device_scale_factor_ = 0.f;
-
cc::LocalSurfaceId local_surface_id_;
- cc::LocalSurfaceIdAllocator id_allocator_;
+ std::unique_ptr<LocalSurfaceIdProvider> local_surface_id_provider_;
std::unique_ptr<cc::ExternalBeginFrameSource> begin_frame_source_;
std::unique_ptr<cc::SyntheticBeginFrameSource> synthetic_begin_frame_source_;
cc::mojom::MojoCompositorFrameSinkPtrInfo compositor_frame_sink_info_;
« no previous file with comments | « no previous file | components/viz/client/client_compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698