OLD | NEW |
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 #include "cc/surfaces/display.h" | 5 #include "cc/surfaces/display.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/test/null_task_runner.h" | 9 #include "base/test/null_task_runner.h" |
10 #include "cc/output/compositor_frame.h" | 10 #include "cc/output/compositor_frame.h" |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 SetUpContext(nullptr); | 159 SetUpContext(nullptr); |
160 TestDisplayClient client; | 160 TestDisplayClient client; |
161 RendererSettings settings; | 161 RendererSettings settings; |
162 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, | 162 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, |
163 settings); | 163 settings); |
164 | 164 |
165 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, | 165 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, |
166 task_runner_.get()); | 166 task_runner_.get()); |
167 display.Initialize(std::move(output_surface_), &scheduler); | 167 display.Initialize(std::move(output_surface_), &scheduler); |
168 | 168 |
169 SurfaceId surface_id(6); | 169 SurfaceId surface_id = SurfaceId::FromUnsafeValue(6); |
170 factory_.Create(surface_id); | 170 factory_.Create(surface_id); |
171 Surface* surface = manager_.GetSurfaceForId(surface_id); | 171 Surface* surface = manager_.GetSurfaceForId(surface_id); |
172 | 172 |
173 EXPECT_EQ(nullptr, surface_factory_client_.begin_frame_source()); | 173 EXPECT_EQ(nullptr, surface_factory_client_.begin_frame_source()); |
174 display.AddSurface(surface); | 174 display.AddSurface(surface); |
175 EXPECT_NE(nullptr, surface_factory_client_.begin_frame_source()); | 175 EXPECT_NE(nullptr, surface_factory_client_.begin_frame_source()); |
176 display.RemoveSurface(surface); | 176 display.RemoveSurface(surface); |
177 EXPECT_EQ(nullptr, surface_factory_client_.begin_frame_source()); | 177 EXPECT_EQ(nullptr, surface_factory_client_.begin_frame_source()); |
178 } | 178 } |
179 | 179 |
180 // Check that frame is damaged and swapped only under correct conditions. | 180 // Check that frame is damaged and swapped only under correct conditions. |
181 TEST_F(DisplayTest, DisplayDamaged) { | 181 TEST_F(DisplayTest, DisplayDamaged) { |
182 SetUpContext(nullptr); | 182 SetUpContext(nullptr); |
183 TestDisplayClient client; | 183 TestDisplayClient client; |
184 RendererSettings settings; | 184 RendererSettings settings; |
185 settings.partial_swap_enabled = true; | 185 settings.partial_swap_enabled = true; |
186 settings.finish_rendering_on_resize = true; | 186 settings.finish_rendering_on_resize = true; |
187 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, | 187 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, |
188 settings); | 188 settings); |
189 | 189 |
190 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, | 190 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, |
191 task_runner_.get()); | 191 task_runner_.get()); |
192 display.Initialize(std::move(output_surface_), &scheduler); | 192 display.Initialize(std::move(output_surface_), &scheduler); |
193 | 193 |
194 SurfaceId surface_id(7u); | 194 SurfaceId surface_id = SurfaceId::FromUnsafeValue(7u); |
195 EXPECT_FALSE(scheduler.damaged); | 195 EXPECT_FALSE(scheduler.damaged); |
196 EXPECT_FALSE(scheduler.has_new_root_surface); | 196 EXPECT_FALSE(scheduler.has_new_root_surface); |
197 display.SetSurfaceId(surface_id, 1.f); | 197 display.SetSurfaceId(surface_id, 1.f); |
198 EXPECT_FALSE(scheduler.damaged); | 198 EXPECT_FALSE(scheduler.damaged); |
199 EXPECT_FALSE(scheduler.display_resized_); | 199 EXPECT_FALSE(scheduler.display_resized_); |
200 EXPECT_TRUE(scheduler.has_new_root_surface); | 200 EXPECT_TRUE(scheduler.has_new_root_surface); |
201 | 201 |
202 scheduler.ResetDamageForTest(); | 202 scheduler.ResetDamageForTest(); |
203 display.Resize(gfx::Size(100, 100)); | 203 display.Resize(gfx::Size(100, 100)); |
204 EXPECT_FALSE(scheduler.damaged); | 204 EXPECT_FALSE(scheduler.damaged); |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
441 RendererSettings settings; | 441 RendererSettings settings; |
442 settings.partial_swap_enabled = true; | 442 settings.partial_swap_enabled = true; |
443 settings.finish_rendering_on_resize = true; | 443 settings.finish_rendering_on_resize = true; |
444 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, | 444 Display display(&client, &manager_, shared_bitmap_manager_.get(), nullptr, |
445 settings); | 445 settings); |
446 | 446 |
447 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, | 447 TestDisplayScheduler scheduler(&display, &fake_begin_frame_source_, |
448 task_runner_.get()); | 448 task_runner_.get()); |
449 display.Initialize(std::move(output_surface_), &scheduler); | 449 display.Initialize(std::move(output_surface_), &scheduler); |
450 | 450 |
451 SurfaceId surface_id(7u); | 451 SurfaceId surface_id = SurfaceId::FromUnsafeValue(7u); |
452 display.SetSurfaceId(surface_id, 1.f); | 452 display.SetSurfaceId(surface_id, 1.f); |
453 | 453 |
454 display.Resize(gfx::Size(100, 100)); | 454 display.Resize(gfx::Size(100, 100)); |
455 factory_.Create(surface_id); | 455 factory_.Create(surface_id); |
456 | 456 |
457 { | 457 { |
458 RenderPassList pass_list; | 458 RenderPassList pass_list; |
459 scoped_ptr<RenderPass> pass = RenderPass::Create(); | 459 scoped_ptr<RenderPass> pass = RenderPass::Create(); |
460 pass->output_rect = gfx::Rect(0, 0, 100, 100); | 460 pass->output_rect = gfx::Rect(0, 0, 100, 100); |
461 pass->damage_rect = gfx::Rect(10, 10, 1, 1); | 461 pass->damage_rect = gfx::Rect(10, 10, 1, 1); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 | 497 |
498 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); | 498 EXPECT_CALL(*context_ptr, shallowFinishCHROMIUM()); |
499 display.Resize(gfx::Size(250, 250)); | 499 display.Resize(gfx::Size(250, 250)); |
500 testing::Mock::VerifyAndClearExpectations(context_ptr); | 500 testing::Mock::VerifyAndClearExpectations(context_ptr); |
501 | 501 |
502 factory_.Destroy(surface_id); | 502 factory_.Destroy(surface_id); |
503 } | 503 } |
504 | 504 |
505 } // namespace | 505 } // namespace |
506 } // namespace cc | 506 } // namespace cc |
OLD | NEW |