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

Side by Side Diff: content/renderer/gpu/renderer_compositor_frame_sink.h

Issue 2888043004: [cc] Add and plumb CFS::DidNotProduceFrame. (Closed)
Patch Set: address nits, rename to DidNotProduceFrame. Created 3 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ 5 #ifndef CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_
6 #define CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ 6 #define CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 std::unique_ptr<cc::SyntheticBeginFrameSource> 64 std::unique_ptr<cc::SyntheticBeginFrameSource>
65 synthetic_begin_frame_source, 65 synthetic_begin_frame_source,
66 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, 66 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider,
67 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue); 67 scoped_refptr<FrameSwapMessageQueue> swap_frame_message_queue);
68 ~RendererCompositorFrameSink() override; 68 ~RendererCompositorFrameSink() override;
69 69
70 // cc::CompositorFrameSink implementation. 70 // cc::CompositorFrameSink implementation.
71 bool BindToClient(cc::CompositorFrameSinkClient* client) override; 71 bool BindToClient(cc::CompositorFrameSinkClient* client) override;
72 void DetachFromClient() override; 72 void DetachFromClient() override;
73 void SubmitCompositorFrame(cc::CompositorFrame frame) override; 73 void SubmitCompositorFrame(cc::CompositorFrame frame) override;
74 void DidNotProduceFrame(const cc::BeginFrameAck& ack) override;
74 75
75 private: 76 private:
76 class RendererCompositorFrameSinkProxy 77 class RendererCompositorFrameSinkProxy
77 : public base::RefCountedThreadSafe<RendererCompositorFrameSinkProxy> { 78 : public base::RefCountedThreadSafe<RendererCompositorFrameSinkProxy> {
78 public: 79 public:
79 explicit RendererCompositorFrameSinkProxy( 80 explicit RendererCompositorFrameSinkProxy(
80 RendererCompositorFrameSink* compositor_frame_sink) 81 RendererCompositorFrameSink* compositor_frame_sink)
81 : compositor_frame_sink_(compositor_frame_sink) {} 82 : compositor_frame_sink_(compositor_frame_sink) {}
82 void ClearCompositorFrameSink() { compositor_frame_sink_ = NULL; } 83 void ClearCompositorFrameSink() { compositor_frame_sink_ = NULL; }
83 void OnMessageReceived(const IPC::Message& message) { 84 void OnMessageReceived(const IPC::Message& message) {
(...skipping 13 matching lines...) Expand all
97 void OnBeginFrameIPC(const cc::BeginFrameArgs& args); 98 void OnBeginFrameIPC(const cc::BeginFrameArgs& args);
98 99
99 // cc::mojom::MojoCompositorFrameSinkClient implementation. 100 // cc::mojom::MojoCompositorFrameSinkClient implementation.
100 void DidReceiveCompositorFrameAck( 101 void DidReceiveCompositorFrameAck(
101 const cc::ReturnedResourceArray& resources) override; 102 const cc::ReturnedResourceArray& resources) override;
102 void OnBeginFrame(const cc::BeginFrameArgs& args) override; 103 void OnBeginFrame(const cc::BeginFrameArgs& args) override;
103 void ReclaimResources(const cc::ReturnedResourceArray& resources) override; 104 void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
104 105
105 // cc::ExternalBeginFrameSourceClient implementation. 106 // cc::ExternalBeginFrameSourceClient implementation.
106 void OnNeedsBeginFrames(bool need_begin_frames) override; 107 void OnNeedsBeginFrames(bool need_begin_frames) override;
107 void OnDidFinishFrame(const cc::BeginFrameAck& ack) override;
108 108
109 void EstablishMojoConnection(); 109 void EstablishMojoConnection();
110 110
111 scoped_refptr<CompositorForwardingMessageFilter> 111 scoped_refptr<CompositorForwardingMessageFilter>
112 compositor_frame_sink_filter_; 112 compositor_frame_sink_filter_;
113 CompositorForwardingMessageFilter::Handler 113 CompositorForwardingMessageFilter::Handler
114 compositor_frame_sink_filter_handler_; 114 compositor_frame_sink_filter_handler_;
115 scoped_refptr<RendererCompositorFrameSinkProxy> compositor_frame_sink_proxy_; 115 scoped_refptr<RendererCompositorFrameSinkProxy> compositor_frame_sink_proxy_;
116 scoped_refptr<IPC::SyncMessageFilter> message_sender_; 116 scoped_refptr<IPC::SyncMessageFilter> message_sender_;
117 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 117 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
118 std::unique_ptr<cc::SyntheticBeginFrameSource> synthetic_begin_frame_source_; 118 std::unique_ptr<cc::SyntheticBeginFrameSource> synthetic_begin_frame_source_;
119 std::unique_ptr<cc::ExternalBeginFrameSource> external_begin_frame_source_; 119 std::unique_ptr<cc::ExternalBeginFrameSource> external_begin_frame_source_;
120 int routing_id_; 120 int routing_id_;
121 121
122 cc::LocalSurfaceId local_surface_id_; 122 cc::LocalSurfaceId local_surface_id_;
123 cc::LocalSurfaceIdAllocator id_allocator_; 123 cc::LocalSurfaceIdAllocator id_allocator_;
124 RenderWidgetSurfaceProperties current_surface_properties_; 124 RenderWidgetSurfaceProperties current_surface_properties_;
125 125
126 base::ThreadChecker thread_checker_; 126 base::ThreadChecker thread_checker_;
127 127
128 cc::mojom::MojoCompositorFrameSinkPtr sink_; 128 cc::mojom::MojoCompositorFrameSinkPtr sink_;
129 cc::mojom::MojoCompositorFrameSinkPtrInfo sink_ptr_info_; 129 cc::mojom::MojoCompositorFrameSinkPtrInfo sink_ptr_info_;
130 cc::mojom::MojoCompositorFrameSinkClientRequest sink_client_request_; 130 cc::mojom::MojoCompositorFrameSinkClientRequest sink_client_request_;
131 mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient> sink_client_binding_; 131 mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient> sink_client_binding_;
132 }; 132 };
133 133
134 } // namespace content 134 } // namespace content
135 135
136 #endif // CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_ 136 #endif // CONTENT_RENDERER_GPU_RENDERER_COMPOSITOR_FRAME_SINK_H_
OLDNEW
« no previous file with comments | « content/renderer/gpu/compositor_external_begin_frame_source.cc ('k') | content/renderer/gpu/renderer_compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698