OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/base/scoped_ptr_vector.h" | 5 #include "cc/base/scoped_ptr_vector.h" |
6 #include "cc/output/gl_renderer.h" | 6 #include "cc/output/gl_renderer.h" |
7 #include "cc/output/output_surface.h" | 7 #include "cc/output/output_surface.h" |
8 #include "cc/output/output_surface_client.h" | 8 #include "cc/output/output_surface_client.h" |
9 #include "cc/output/overlay_candidate_validator.h" | 9 #include "cc/output/overlay_candidate_validator.h" |
10 #include "cc/output/overlay_processor.h" | 10 #include "cc/output/overlay_processor.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 OutputSurface* surface, | 69 OutputSurface* surface, |
70 ResourceProvider* resource_provider) | 70 ResourceProvider* resource_provider) |
71 : OverlayProcessor(surface, resource_provider) { | 71 : OverlayProcessor(surface, resource_provider) { |
72 EXPECT_EQ(surface, surface_); | 72 EXPECT_EQ(surface, surface_); |
73 EXPECT_EQ(resource_provider, resource_provider_); | 73 EXPECT_EQ(resource_provider, resource_provider_); |
74 } | 74 } |
75 | 75 |
76 void SingleOverlayProcessor::Initialize() { | 76 void SingleOverlayProcessor::Initialize() { |
77 OverlayCandidateValidator* candidates = | 77 OverlayCandidateValidator* candidates = |
78 surface_->overlay_candidate_validator(); | 78 surface_->overlay_candidate_validator(); |
79 ASSERT_TRUE(candidates != NULL); | 79 ASSERT_TRUE(candidates != nullptr); |
80 strategies_.push_back(scoped_ptr<Strategy>( | 80 strategies_.push_back(scoped_ptr<Strategy>( |
81 new OverlayStrategySingleOnTop(candidates, resource_provider_))); | 81 new OverlayStrategySingleOnTop(candidates, resource_provider_))); |
82 } | 82 } |
83 | 83 |
84 class DefaultOverlayProcessor : public OverlayProcessor { | 84 class DefaultOverlayProcessor : public OverlayProcessor { |
85 public: | 85 public: |
86 DefaultOverlayProcessor(OutputSurface* surface, | 86 DefaultOverlayProcessor(OutputSurface* surface, |
87 ResourceProvider* resource_provider); | 87 ResourceProvider* resource_provider); |
88 size_t GetStrategyCount(); | 88 size_t GetStrategyCount(); |
89 }; | 89 }; |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 EXPECT_EQ(exp_iter->rect.ToString(), act_iter->rect.ToString()); | 213 EXPECT_EQ(exp_iter->rect.ToString(), act_iter->rect.ToString()); |
214 EXPECT_EQ(exp_iter->shared_quad_state->content_bounds.ToString(), | 214 EXPECT_EQ(exp_iter->shared_quad_state->content_bounds.ToString(), |
215 act_iter->shared_quad_state->content_bounds.ToString()); | 215 act_iter->shared_quad_state->content_bounds.ToString()); |
216 } | 216 } |
217 } | 217 } |
218 } | 218 } |
219 | 219 |
220 TEST(OverlayTest, NoOverlaysByDefault) { | 220 TEST(OverlayTest, NoOverlaysByDefault) { |
221 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); | 221 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); |
222 OverlayOutputSurface output_surface(provider); | 222 OverlayOutputSurface output_surface(provider); |
223 EXPECT_EQ(NULL, output_surface.overlay_candidate_validator()); | 223 EXPECT_EQ(nullptr, output_surface.overlay_candidate_validator()); |
224 | 224 |
225 output_surface.InitWithSingleOverlayValidator(); | 225 output_surface.InitWithSingleOverlayValidator(); |
226 EXPECT_TRUE(output_surface.overlay_candidate_validator() != NULL); | 226 EXPECT_TRUE(output_surface.overlay_candidate_validator() != nullptr); |
227 } | 227 } |
228 | 228 |
229 TEST(OverlayTest, OverlaysProcessorHasStrategy) { | 229 TEST(OverlayTest, OverlaysProcessorHasStrategy) { |
230 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); | 230 scoped_refptr<TestContextProvider> provider = TestContextProvider::Create(); |
231 OverlayOutputSurface output_surface(provider); | 231 OverlayOutputSurface output_surface(provider); |
232 FakeOutputSurfaceClient client; | 232 FakeOutputSurfaceClient client; |
233 EXPECT_TRUE(output_surface.BindToClient(&client)); | 233 EXPECT_TRUE(output_surface.BindToClient(&client)); |
234 output_surface.InitWithSingleOverlayValidator(); | 234 output_surface.InitWithSingleOverlayValidator(); |
235 EXPECT_TRUE(output_surface.overlay_candidate_validator() != NULL); | 235 EXPECT_TRUE(output_surface.overlay_candidate_validator() != nullptr); |
236 | 236 |
237 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 237 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( |
238 new TestSharedBitmapManager()); | 238 new TestSharedBitmapManager()); |
239 scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create( | 239 scoped_ptr<ResourceProvider> resource_provider( |
240 &output_surface, shared_bitmap_manager.get(), NULL, 0, false, 1, false)); | 240 ResourceProvider::Create(&output_surface, |
| 241 shared_bitmap_manager.get(), |
| 242 nullptr, |
| 243 0, |
| 244 false, |
| 245 1, |
| 246 false)); |
241 | 247 |
242 scoped_ptr<DefaultOverlayProcessor> overlay_processor( | 248 scoped_ptr<DefaultOverlayProcessor> overlay_processor( |
243 new DefaultOverlayProcessor(&output_surface, resource_provider.get())); | 249 new DefaultOverlayProcessor(&output_surface, resource_provider.get())); |
244 overlay_processor->Initialize(); | 250 overlay_processor->Initialize(); |
245 EXPECT_GE(1U, overlay_processor->GetStrategyCount()); | 251 EXPECT_GE(1U, overlay_processor->GetStrategyCount()); |
246 } | 252 } |
247 | 253 |
248 class SingleOverlayOnTopTest : public testing::Test { | 254 class SingleOverlayOnTopTest : public testing::Test { |
249 protected: | 255 protected: |
250 virtual void SetUp() { | 256 virtual void SetUp() { |
251 provider_ = TestContextProvider::Create(); | 257 provider_ = TestContextProvider::Create(); |
252 output_surface_.reset(new OverlayOutputSurface(provider_)); | 258 output_surface_.reset(new OverlayOutputSurface(provider_)); |
253 EXPECT_TRUE(output_surface_->BindToClient(&client_)); | 259 EXPECT_TRUE(output_surface_->BindToClient(&client_)); |
254 output_surface_->InitWithSingleOverlayValidator(); | 260 output_surface_->InitWithSingleOverlayValidator(); |
255 EXPECT_TRUE(output_surface_->overlay_candidate_validator() != NULL); | 261 EXPECT_TRUE(output_surface_->overlay_candidate_validator() != nullptr); |
256 | 262 |
257 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); | 263 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); |
258 resource_provider_ = ResourceProvider::Create(output_surface_.get(), | 264 resource_provider_ = ResourceProvider::Create(output_surface_.get(), |
259 shared_bitmap_manager_.get(), | 265 shared_bitmap_manager_.get(), |
260 NULL, | 266 nullptr, |
261 0, | 267 0, |
262 false, | 268 false, |
263 1, | 269 1, |
264 false); | 270 false); |
265 | 271 |
266 overlay_processor_.reset(new SingleOverlayProcessor( | 272 overlay_processor_.reset(new SingleOverlayProcessor( |
267 output_surface_.get(), resource_provider_.get())); | 273 output_surface_.get(), resource_provider_.get())); |
268 overlay_processor_->Initialize(); | 274 overlay_processor_->Initialize(); |
269 } | 275 } |
270 | 276 |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 class OverlayInfoRendererGL : public GLRenderer { | 522 class OverlayInfoRendererGL : public GLRenderer { |
517 public: | 523 public: |
518 OverlayInfoRendererGL(RendererClient* client, | 524 OverlayInfoRendererGL(RendererClient* client, |
519 const LayerTreeSettings* settings, | 525 const LayerTreeSettings* settings, |
520 OutputSurface* output_surface, | 526 OutputSurface* output_surface, |
521 ResourceProvider* resource_provider) | 527 ResourceProvider* resource_provider) |
522 : GLRenderer(client, | 528 : GLRenderer(client, |
523 settings, | 529 settings, |
524 output_surface, | 530 output_surface, |
525 resource_provider, | 531 resource_provider, |
526 NULL, | 532 nullptr, |
527 0), | 533 0), |
528 expect_overlays_(false) {} | 534 expect_overlays_(false) {} |
529 | 535 |
530 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); | 536 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); |
531 | 537 |
532 virtual void FinishDrawingFrame(DrawingFrame* frame) override { | 538 virtual void FinishDrawingFrame(DrawingFrame* frame) override { |
533 GLRenderer::FinishDrawingFrame(frame); | 539 GLRenderer::FinishDrawingFrame(frame); |
534 | 540 |
535 if (!expect_overlays_) { | 541 if (!expect_overlays_) { |
536 EXPECT_EQ(0U, frame->overlay_list.size()); | 542 EXPECT_EQ(0U, frame->overlay_list.size()); |
(...skipping 28 matching lines...) Expand all Loading... |
565 const gfx::RectF& uv_rect)); | 571 const gfx::RectF& uv_rect)); |
566 }; | 572 }; |
567 | 573 |
568 class GLRendererWithOverlaysTest : public testing::Test { | 574 class GLRendererWithOverlaysTest : public testing::Test { |
569 protected: | 575 protected: |
570 GLRendererWithOverlaysTest() { | 576 GLRendererWithOverlaysTest() { |
571 provider_ = TestContextProvider::Create(); | 577 provider_ = TestContextProvider::Create(); |
572 output_surface_.reset(new OverlayOutputSurface(provider_)); | 578 output_surface_.reset(new OverlayOutputSurface(provider_)); |
573 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 579 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
574 resource_provider_ = ResourceProvider::Create( | 580 resource_provider_ = ResourceProvider::Create( |
575 output_surface_.get(), NULL, NULL, 0, false, 1, false); | 581 output_surface_.get(), nullptr, nullptr, 0, false, 1, false); |
576 | 582 |
577 provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind( | 583 provider_->support()->SetScheduleOverlayPlaneCallback(base::Bind( |
578 &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_))); | 584 &MockOverlayScheduler::Schedule, base::Unretained(&scheduler_))); |
579 } | 585 } |
580 | 586 |
581 void Init(bool use_validator) { | 587 void Init(bool use_validator) { |
582 if (use_validator) | 588 if (use_validator) |
583 output_surface_->InitWithSingleOverlayValidator(); | 589 output_surface_->InitWithSingleOverlayValidator(); |
584 | 590 |
585 renderer_ = | 591 renderer_ = |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 renderer_->set_expect_overlays(false); | 787 renderer_->set_expect_overlays(false); |
782 renderer_->FinishDrawingFrame(&frame3); | 788 renderer_->FinishDrawingFrame(&frame3); |
783 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 789 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
784 SwapBuffers(); | 790 SwapBuffers(); |
785 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 791 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
786 Mock::VerifyAndClearExpectations(&scheduler_); | 792 Mock::VerifyAndClearExpectations(&scheduler_); |
787 } | 793 } |
788 | 794 |
789 } // namespace | 795 } // namespace |
790 } // namespace cc | 796 } // namespace cc |
OLD | NEW |