| 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 |