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

Side by Side Diff: components/display_compositor/gpu_compositor_frame_sink.h

Issue 2684933003: Move frame_sink_id management to framesink_manager.cc/h from (Closed)
Patch Set: Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ 5 #ifndef COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_
6 #define COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ 6 #define COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 16 matching lines...) Expand all
27 27
28 // Server side representation of a WindowSurface. 28 // Server side representation of a WindowSurface.
29 class DISPLAY_COMPOSITOR_EXPORT GpuCompositorFrameSink 29 class DISPLAY_COMPOSITOR_EXPORT GpuCompositorFrameSink
30 : public NON_EXPORTED_BASE(cc::CompositorFrameSinkSupportClient), 30 : public NON_EXPORTED_BASE(cc::CompositorFrameSinkSupportClient),
31 public NON_EXPORTED_BASE(cc::mojom::MojoCompositorFrameSink), 31 public NON_EXPORTED_BASE(cc::mojom::MojoCompositorFrameSink),
32 public NON_EXPORTED_BASE(cc::mojom::MojoCompositorFrameSinkPrivate) { 32 public NON_EXPORTED_BASE(cc::mojom::MojoCompositorFrameSinkPrivate) {
33 public: 33 public:
34 GpuCompositorFrameSink( 34 GpuCompositorFrameSink(
35 GpuCompositorFrameSinkDelegate* delegate, 35 GpuCompositorFrameSinkDelegate* delegate,
36 cc::SurfaceManager* surface_manager, 36 cc::SurfaceManager* surface_manager,
37 cc::FrameSinkManager* framesink_manager,
37 const cc::FrameSinkId& frame_sink_id, 38 const cc::FrameSinkId& frame_sink_id,
38 std::unique_ptr<cc::Display> display, 39 std::unique_ptr<cc::Display> display,
39 std::unique_ptr<cc::BeginFrameSource> begin_frame_source, 40 std::unique_ptr<cc::BeginFrameSource> begin_frame_source,
40 cc::mojom::MojoCompositorFrameSinkPrivateRequest private_request, 41 cc::mojom::MojoCompositorFrameSinkPrivateRequest private_request,
41 cc::mojom::MojoCompositorFrameSinkClientPtr client); 42 cc::mojom::MojoCompositorFrameSinkClientPtr client);
42 43
43 ~GpuCompositorFrameSink() override; 44 ~GpuCompositorFrameSink() override;
44 45
45 // cc::mojom::MojoCompositorFrameSink: 46 // cc::mojom::MojoCompositorFrameSink:
46 void EvictFrame() override; 47 void EvictFrame() override;
47 void SetNeedsBeginFrame(bool needs_begin_frame) override; 48 void SetNeedsBeginFrame(bool needs_begin_frame) override;
48 void SubmitCompositorFrame(const cc::LocalSurfaceId& local_surface_id, 49 void SubmitCompositorFrame(const cc::LocalSurfaceId& local_surface_id,
49 cc::CompositorFrame frame) override; 50 cc::CompositorFrame frame) override;
50 void Require(const cc::LocalSurfaceId& local_surface_id, 51 void Require(const cc::LocalSurfaceId& local_surface_id,
51 const cc::SurfaceSequence& sequence) override; 52 const cc::SurfaceSequence& sequence) override;
52 void Satisfy(const cc::SurfaceSequence& sequence) override; 53 void Satisfy(const cc::SurfaceSequence& sequence) override;
53 54
54 // cc::mojom::MojoCompositorFrameSinkPrivate: 55 // cc::mojom::MojoCompositorFrameSinkPrivate:
55 void AddChildFrameSink(const cc::FrameSinkId& child_frame_sink_id) override; 56 void AddChildFrameSink(const cc::FrameSinkId& child_frame_sink_id) override;
56 void RemoveChildFrameSink( 57 void RemoveChildFrameSink(
57 const cc::FrameSinkId& child_frame_sink_id) override; 58 const cc::FrameSinkId& child_frame_sink_id) override;
58 59
59 protected: 60 protected:
60 void OnClientConnectionLost(); 61 void OnClientConnectionLost();
61 void OnPrivateConnectionLost(); 62 void OnPrivateConnectionLost();
62 63
63 GpuCompositorFrameSinkDelegate* const delegate_; 64 GpuCompositorFrameSinkDelegate* const delegate_;
64 cc::CompositorFrameSinkSupport support_; 65 cc::CompositorFrameSinkSupport support_;
65 cc::SurfaceManager* const surface_manager_; 66 cc::SurfaceManager* const surface_manager_;
67 cc::FrameSinkManager* const framesink_manager_;
66 68
67 private: 69 private:
68 // cc::CompositorFrameSinkSupportClient implementation: 70 // cc::CompositorFrameSinkSupportClient implementation:
69 void DidReceiveCompositorFrameAck() override; 71 void DidReceiveCompositorFrameAck() override;
70 void OnBeginFrame(const cc::BeginFrameArgs& args) override; 72 void OnBeginFrame(const cc::BeginFrameArgs& args) override;
71 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; 73 void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
72 void WillDrawSurface() override; 74 void WillDrawSurface() override;
73 75
74 // Track the surface references for the surface corresponding to this 76 // Track the surface references for the surface corresponding to this
75 // compositor frame sink. 77 // compositor frame sink.
76 cc::ReferencedSurfaceTracker surface_tracker_; 78 cc::ReferencedSurfaceTracker surface_tracker_;
77 79
78 bool client_connection_lost_ = false; 80 bool client_connection_lost_ = false;
79 bool private_connection_lost_ = false; 81 bool private_connection_lost_ = false;
80 82
81 cc::mojom::MojoCompositorFrameSinkClientPtr client_; 83 cc::mojom::MojoCompositorFrameSinkClientPtr client_;
82 mojo::Binding<cc::mojom::MojoCompositorFrameSinkPrivate> 84 mojo::Binding<cc::mojom::MojoCompositorFrameSinkPrivate>
83 compositor_frame_sink_private_binding_; 85 compositor_frame_sink_private_binding_;
84 86
85 DISALLOW_COPY_AND_ASSIGN(GpuCompositorFrameSink); 87 DISALLOW_COPY_AND_ASSIGN(GpuCompositorFrameSink);
86 }; 88 };
87 89
88 } // namespace display_compositor 90 } // namespace display_compositor
89 91
90 #endif // COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_ 92 #endif // COMPONENTS_DISPLAY_COMPOSITOR_GPU_COMPOSITOR_FRAME_SINK_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698