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

Unified Diff: cc/test/test_compositor_frame_sink.cc

Issue 2848223003: Enforce constant size and device scale factor for surfaces (Closed)
Patch Set: Address comments 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/test/test_compositor_frame_sink.h ('k') | components/viz/frame_sinks/gpu_compositor_frame_sink.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/test_compositor_frame_sink.cc
diff --git a/cc/test/test_compositor_frame_sink.cc b/cc/test/test_compositor_frame_sink.cc
index 32d4a816c7471bfdf04ef0f003af562f43a8c8e7..440b5d5adb66faba7ebc1d622c32ecaede253b90 100644
--- a/cc/test/test_compositor_frame_sink.cc
+++ b/cc/test/test_compositor_frame_sink.cc
@@ -132,17 +132,20 @@ void TestCompositorFrameSink::SubmitCompositorFrame(CompositorFrame frame) {
frame.metadata.begin_frame_ack.sequence_number);
test_client_->DisplayReceivedCompositorFrame(frame);
- if (!delegated_local_surface_id_.is_valid()) {
- delegated_local_surface_id_ = local_surface_id_allocator_->GenerateId();
- }
- display_->SetLocalSurfaceId(delegated_local_surface_id_,
- frame.metadata.device_scale_factor);
-
gfx::Size frame_size = frame.render_pass_list.back()->output_rect.size();
- display_->Resize(frame_size);
+ float device_scale_factor = frame.metadata.device_scale_factor;
+ if (!local_surface_id_.is_valid() || frame_size != display_size_ ||
+ device_scale_factor != device_scale_factor_) {
+ local_surface_id_ = local_surface_id_allocator_->GenerateId();
+ display_->SetLocalSurfaceId(local_surface_id_, device_scale_factor);
+ display_->Resize(frame_size);
+ display_size_ = frame_size;
+ device_scale_factor_ = device_scale_factor;
+ }
- support_->SubmitCompositorFrame(delegated_local_surface_id_,
- std::move(frame));
+ bool result =
+ support_->SubmitCompositorFrame(local_surface_id_, std::move(frame));
+ DCHECK(result);
for (std::unique_ptr<CopyOutputRequest>& copy_request : copy_requests_) {
support_->RequestCopyOfSurface(std::move(copy_request));
« no previous file with comments | « cc/test/test_compositor_frame_sink.h ('k') | components/viz/frame_sinks/gpu_compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698