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

Side by Side Diff: cc/test/test_compositor_frame_sink.h

Issue 2848223003: Enforce constant size and device scale factor for surfaces (Closed)
Patch Set: Notify CFSSClient when a frame is rejected 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ 5 #ifndef CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_
6 #define CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ 6 #define CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "cc/output/compositor_frame_sink.h" 10 #include "cc/output/compositor_frame_sink.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 void SetLocalSurfaceId(const LocalSurfaceId& local_surface_id) override; 80 void SetLocalSurfaceId(const LocalSurfaceId& local_surface_id) override;
81 void SubmitCompositorFrame(CompositorFrame frame) override; 81 void SubmitCompositorFrame(CompositorFrame frame) override;
82 82
83 // CompositorFrameSinkSupportClient implementation. 83 // CompositorFrameSinkSupportClient implementation.
84 void DidReceiveCompositorFrameAck( 84 void DidReceiveCompositorFrameAck(
85 const ReturnedResourceArray& resources) override; 85 const ReturnedResourceArray& resources) override;
86 void OnBeginFrame(const BeginFrameArgs& args) override; 86 void OnBeginFrame(const BeginFrameArgs& args) override;
87 void ReclaimResources(const ReturnedResourceArray& resources) override; 87 void ReclaimResources(const ReturnedResourceArray& resources) override;
88 void WillDrawSurface(const LocalSurfaceId& local_surface_id, 88 void WillDrawSurface(const LocalSurfaceId& local_surface_id,
89 const gfx::Rect& damage_rect) override; 89 const gfx::Rect& damage_rect) override;
90 void DidRejectCompositorFrame() override;
90 91
91 // DisplayClient implementation. 92 // DisplayClient implementation.
92 void DisplayOutputSurfaceLost() override; 93 void DisplayOutputSurfaceLost() override;
93 void DisplayWillDrawAndSwap(bool will_draw_and_swap, 94 void DisplayWillDrawAndSwap(bool will_draw_and_swap,
94 const RenderPassList& render_passes) override; 95 const RenderPassList& render_passes) override;
95 void DisplayDidDrawAndSwap() override; 96 void DisplayDidDrawAndSwap() override;
96 97
97 private: 98 private:
98 // ExternalBeginFrameSource implementation. 99 // ExternalBeginFrameSource implementation.
99 void OnNeedsBeginFrames(bool needs_begin_frames) override; 100 void OnNeedsBeginFrames(bool needs_begin_frames) override;
100 void OnDidFinishFrame(const BeginFrameAck& ack) override; 101 void OnDidFinishFrame(const BeginFrameAck& ack) override;
101 102
102 void SendCompositorFrameAckToClient(); 103 void SendCompositorFrameAckToClient();
103 104
104 const bool synchronous_composite_; 105 const bool synchronous_composite_;
105 const bool disable_display_vsync_; 106 const bool disable_display_vsync_;
106 const RendererSettings renderer_settings_; 107 const RendererSettings renderer_settings_;
107 108
108 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 109 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
109 110
110 FrameSinkId frame_sink_id_; 111 FrameSinkId frame_sink_id_;
111 // TODO(danakj): These don't need to be stored in unique_ptrs when 112 // TODO(danakj): These don't need to be stored in unique_ptrs when
112 // CompositorFrameSink is owned/destroyed on the compositor thread. 113 // CompositorFrameSink is owned/destroyed on the compositor thread.
113 std::unique_ptr<SurfaceManager> surface_manager_; 114 std::unique_ptr<SurfaceManager> surface_manager_;
114 std::unique_ptr<LocalSurfaceIdAllocator> local_surface_id_allocator_; 115 std::unique_ptr<LocalSurfaceIdAllocator> local_surface_id_allocator_;
115 LocalSurfaceId delegated_local_surface_id_; 116 LocalSurfaceId local_surface_id_;
117 gfx::Size display_size_;
118 float device_scale_factor_ = 0;
116 119
117 // Uses surface_manager_. 120 // Uses surface_manager_.
118 std::unique_ptr<CompositorFrameSinkSupport> support_; 121 std::unique_ptr<CompositorFrameSinkSupport> support_;
119 122
120 std::unique_ptr<SyntheticBeginFrameSource> begin_frame_source_; 123 std::unique_ptr<SyntheticBeginFrameSource> begin_frame_source_;
121 ExternalBeginFrameSource external_begin_frame_source_; 124 ExternalBeginFrameSource external_begin_frame_source_;
122 125
123 // Uses surface_manager_ and begin_frame_source_. 126 // Uses surface_manager_ and begin_frame_source_.
124 std::unique_ptr<Display> display_; 127 std::unique_ptr<Display> display_;
125 128
126 TestCompositorFrameSinkClient* test_client_ = nullptr; 129 TestCompositorFrameSinkClient* test_client_ = nullptr;
127 gfx::Size enlarge_pass_texture_amount_; 130 gfx::Size enlarge_pass_texture_amount_;
128 131
129 std::vector<std::unique_ptr<CopyOutputRequest>> copy_requests_; 132 std::vector<std::unique_ptr<CopyOutputRequest>> copy_requests_;
130 133
131 base::WeakPtrFactory<TestCompositorFrameSink> weak_ptr_factory_; 134 base::WeakPtrFactory<TestCompositorFrameSink> weak_ptr_factory_;
132 }; 135 };
133 136
134 } // namespace cc 137 } // namespace cc
135 138
136 #endif // CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ 139 #endif // CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698