| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "cc/layers/delegated_frame_provider.h" | 8 #include "cc/layers/delegated_frame_provider.h" |
| 9 #include "cc/layers/delegated_frame_resource_collection.h" | 9 #include "cc/layers/delegated_frame_resource_collection.h" |
| 10 #include "cc/layers/heads_up_display_layer.h" | 10 #include "cc/layers/heads_up_display_layer.h" |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 protected: | 347 protected: |
| 348 size_t test_case_; | 348 size_t test_case_; |
| 349 int num_losses_; | 349 int num_losses_; |
| 350 int num_losses_last_test_case_; | 350 int num_losses_last_test_case_; |
| 351 bool recovered_context_; | 351 bool recovered_context_; |
| 352 bool first_initialized_; | 352 bool first_initialized_; |
| 353 }; | 353 }; |
| 354 | 354 |
| 355 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestLostContextSucceeds); | 355 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestLostContextSucceeds); |
| 356 | 356 |
| 357 class LayerTreeHostClientNotReadyDoesNotCreateOutputSurface | 357 class LayerTreeHostClientNotVisibleDoesNotCreateOutputSurface |
| 358 : public LayerTreeHostContextTest { | 358 : public LayerTreeHostContextTest { |
| 359 public: | 359 public: |
| 360 LayerTreeHostClientNotReadyDoesNotCreateOutputSurface() | 360 LayerTreeHostClientNotVisibleDoesNotCreateOutputSurface() |
| 361 : LayerTreeHostContextTest() {} | 361 : LayerTreeHostContextTest() {} |
| 362 | 362 |
| 363 void WillBeginTest() override { | 363 void WillBeginTest() override { |
| 364 // Override and do not signal SetLayerTreeHostClientReady. | 364 // Override to not become visible. |
| 365 DCHECK(!layer_tree_host()->visible()); |
| 365 } | 366 } |
| 366 | 367 |
| 367 void BeginTest() override { | 368 void BeginTest() override { |
| 368 PostSetNeedsCommitToMainThread(); | 369 PostSetNeedsCommitToMainThread(); |
| 369 EndTest(); | 370 EndTest(); |
| 370 } | 371 } |
| 371 | 372 |
| 372 scoped_ptr<OutputSurface> CreateOutputSurface() override { | 373 scoped_ptr<OutputSurface> CreateOutputSurface() override { |
| 373 EXPECT_TRUE(false); | 374 EXPECT_TRUE(false); |
| 374 return nullptr; | 375 return nullptr; |
| 375 } | 376 } |
| 376 | 377 |
| 377 void DidInitializeOutputSurface() override { EXPECT_TRUE(false); } | 378 void DidInitializeOutputSurface() override { EXPECT_TRUE(false); } |
| 378 | 379 |
| 379 void AfterTest() override {} | 380 void AfterTest() override {} |
| 380 }; | 381 }; |
| 381 | 382 |
| 382 SINGLE_AND_MULTI_THREAD_TEST_F( | 383 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 383 LayerTreeHostClientNotReadyDoesNotCreateOutputSurface); | 384 LayerTreeHostClientNotVisibleDoesNotCreateOutputSurface); |
| 384 | 385 |
| 385 // This tests the OutputSurface release logic in the following sequence. | 386 // This tests the OutputSurface release logic in the following sequence. |
| 386 // SetUp LTH and create and init OutputSurface | 387 // SetUp LTH and create and init OutputSurface |
| 387 // LTH::SetVisible(false); | 388 // LTH::SetVisible(false); |
| 388 // LTH::ReleaseOutputSurface(); | 389 // LTH::ReleaseOutputSurface(); |
| 389 // ... | 390 // ... |
| 390 // LTH::SetVisible(true); | 391 // LTH::SetVisible(true); |
| 391 // Create and init new OutputSurface | 392 // Create and init new OutputSurface |
| 392 class LayerTreeHostClientTakeAwayOutputSurface | 393 class LayerTreeHostClientTakeAwayOutputSurface |
| 393 : public LayerTreeHostContextTest { | 394 : public LayerTreeHostContextTest { |
| (...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 // Release resource before ending the test. | 1519 // Release resource before ending the test. |
| 1519 ui_resource_ = nullptr; | 1520 ui_resource_ = nullptr; |
| 1520 EndTest(); | 1521 EndTest(); |
| 1521 break; | 1522 break; |
| 1522 case 4: | 1523 case 4: |
| 1523 NOTREACHED(); | 1524 NOTREACHED(); |
| 1524 } | 1525 } |
| 1525 } | 1526 } |
| 1526 | 1527 |
| 1527 void DidSetVisibleOnImplTree(LayerTreeHostImpl* impl, bool visible) override { | 1528 void DidSetVisibleOnImplTree(LayerTreeHostImpl* impl, bool visible) override { |
| 1528 TestWebGraphicsContext3D* context = TestContext(); | |
| 1529 if (!visible) { | 1529 if (!visible) { |
| 1530 TestWebGraphicsContext3D* context = TestContext(); |
| 1530 // All resources should have been evicted. | 1531 // All resources should have been evicted. |
| 1531 ASSERT_EQ(0u, context->NumTextures()); | 1532 ASSERT_EQ(0u, context->NumTextures()); |
| 1532 EXPECT_EQ(0u, impl->ResourceIdForUIResource(ui_resource_->id())); | 1533 EXPECT_EQ(0u, impl->ResourceIdForUIResource(ui_resource_->id())); |
| 1533 EXPECT_EQ(2, ui_resource_->resource_create_count); | 1534 EXPECT_EQ(2, ui_resource_->resource_create_count); |
| 1534 EXPECT_EQ(1, ui_resource_->lost_resource_count); | 1535 EXPECT_EQ(1, ui_resource_->lost_resource_count); |
| 1535 // Drawing is disabled both because of the evicted resources and | 1536 // Drawing is disabled both because of the evicted resources and |
| 1536 // because the renderer is not visible. | 1537 // because the renderer is not visible. |
| 1537 EXPECT_FALSE(impl->CanDraw()); | 1538 EXPECT_FALSE(impl->CanDraw()); |
| 1538 // Make the renderer visible again. | 1539 // Make the renderer visible again. |
| 1539 PostSetVisibleToMainThread(true); | 1540 PostSetVisibleToMainThread(true); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1622 void AfterTest() override {} | 1623 void AfterTest() override {} |
| 1623 | 1624 |
| 1624 bool deferred_; | 1625 bool deferred_; |
| 1625 }; | 1626 }; |
| 1626 | 1627 |
| 1627 SINGLE_AND_MULTI_THREAD_TEST_F( | 1628 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 1628 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); | 1629 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); |
| 1629 | 1630 |
| 1630 } // namespace | 1631 } // namespace |
| 1631 } // namespace cc | 1632 } // namespace cc |
| OLD | NEW |