| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include "base/location.h" | 7 #include "base/location.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 void DidCommit() override { WaitForCallback(); } | 53 void DidCommit() override { WaitForCallback(); } |
| 54 | 54 |
| 55 void WaitForCallback() { | 55 void WaitForCallback() { |
| 56 base::ThreadTaskRunnerHandle::Get()->PostTask( | 56 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 57 FROM_HERE, | 57 FROM_HERE, |
| 58 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests::NextStep, | 58 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests::NextStep, |
| 59 base::Unretained(this))); | 59 base::Unretained(this))); |
| 60 } | 60 } |
| 61 | 61 |
| 62 void NextStep() { | 62 void NextStep() { |
| 63 int frame = layer_tree_host()->source_frame_number(); | 63 int frame = layer_tree_host()->SourceFrameNumber(); |
| 64 switch (frame) { | 64 switch (frame) { |
| 65 case 1: | 65 case 1: |
| 66 child->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( | 66 child->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( |
| 67 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests:: | 67 base::Bind(&LayerTreeHostCopyRequestTestMultipleRequests:: |
| 68 CopyOutputCallback, | 68 CopyOutputCallback, |
| 69 base::Unretained(this), 0))); | 69 base::Unretained(this), 0))); |
| 70 EXPECT_EQ(0u, callbacks_.size()); | 70 EXPECT_EQ(0u, callbacks_.size()); |
| 71 break; | 71 break; |
| 72 case 2: | 72 case 2: |
| 73 // This commit is triggered by the copy request having been completed. | 73 // This commit is triggered by the copy request having been completed. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 // The |root| was copied to a bitmap and passed back also in Case 2. | 112 // The |root| was copied to a bitmap and passed back also in Case 2. |
| 113 EXPECT_EQ(gfx::Size(20, 20).ToString(), callbacks_[2].ToString()); | 113 EXPECT_EQ(gfx::Size(20, 20).ToString(), callbacks_[2].ToString()); |
| 114 // The |grand_child| was copied to a bitmap and passed back in Case 2. | 114 // The |grand_child| was copied to a bitmap and passed back in Case 2. |
| 115 EXPECT_EQ(gfx::Size(5, 5).ToString(), callbacks_[3].ToString()); | 115 EXPECT_EQ(gfx::Size(5, 5).ToString(), callbacks_[3].ToString()); |
| 116 EndTest(); | 116 EndTest(); |
| 117 break; | 117 break; |
| 118 } | 118 } |
| 119 } | 119 } |
| 120 | 120 |
| 121 void CopyOutputCallback(size_t id, std::unique_ptr<CopyOutputResult> result) { | 121 void CopyOutputCallback(size_t id, std::unique_ptr<CopyOutputResult> result) { |
| 122 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 122 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 123 EXPECT_TRUE(result->HasBitmap()); | 123 EXPECT_TRUE(result->HasBitmap()); |
| 124 std::unique_ptr<SkBitmap> bitmap = result->TakeBitmap(); | 124 std::unique_ptr<SkBitmap> bitmap = result->TakeBitmap(); |
| 125 EXPECT_EQ(result->size().ToString(), | 125 EXPECT_EQ(result->size().ToString(), |
| 126 gfx::Size(bitmap->width(), bitmap->height()).ToString()); | 126 gfx::Size(bitmap->width(), bitmap->height()).ToString()); |
| 127 callbacks_[id] = result->size(); | 127 callbacks_[id] = result->size(); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void AfterTest() override { EXPECT_EQ(4u, callbacks_.size()); } | 130 void AfterTest() override { EXPECT_EQ(4u, callbacks_.size()); } |
| 131 | 131 |
| 132 std::unique_ptr<OutputSurface> CreateDisplayOutputSurface( | 132 std::unique_ptr<OutputSurface> CreateDisplayOutputSurface( |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 layer_tree()->SetRootLayer(root_); | 207 layer_tree()->SetRootLayer(root_); |
| 208 LayerTreeHostCopyRequestTest::SetupTree(); | 208 LayerTreeHostCopyRequestTest::SetupTree(); |
| 209 client_.set_bounds(root_->bounds()); | 209 client_.set_bounds(root_->bounds()); |
| 210 } | 210 } |
| 211 | 211 |
| 212 void BeginTest() override { | 212 void BeginTest() override { |
| 213 PostSetNeedsCommitToMainThread(); | 213 PostSetNeedsCommitToMainThread(); |
| 214 } | 214 } |
| 215 | 215 |
| 216 void DidCommit() override { | 216 void DidCommit() override { |
| 217 int frame = layer_tree_host()->source_frame_number(); | 217 int frame = layer_tree_host()->SourceFrameNumber(); |
| 218 switch (frame) { | 218 switch (frame) { |
| 219 case 1: | 219 case 1: |
| 220 layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( | 220 layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( |
| 221 base::Bind(&LayerTreeHostCopyRequestCompletionCausesCommit:: | 221 base::Bind(&LayerTreeHostCopyRequestCompletionCausesCommit:: |
| 222 CopyOutputCallback))); | 222 CopyOutputCallback))); |
| 223 break; | 223 break; |
| 224 case 2: | 224 case 2: |
| 225 // This commit is triggered by the copy request. | 225 // This commit is triggered by the copy request. |
| 226 break; | 226 break; |
| 227 case 3: | 227 case 3: |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 LayerTreeHostCopyRequestTest::SetupTree(); | 263 LayerTreeHostCopyRequestTest::SetupTree(); |
| 264 client_.set_bounds(root_->bounds()); | 264 client_.set_bounds(root_->bounds()); |
| 265 } | 265 } |
| 266 | 266 |
| 267 void BeginTest() override { | 267 void BeginTest() override { |
| 268 callback_count_ = 0; | 268 callback_count_ = 0; |
| 269 PostSetNeedsCommitToMainThread(); | 269 PostSetNeedsCommitToMainThread(); |
| 270 } | 270 } |
| 271 | 271 |
| 272 void DidCommit() override { | 272 void DidCommit() override { |
| 273 int frame = layer_tree_host()->source_frame_number(); | 273 int frame = layer_tree_host()->SourceFrameNumber(); |
| 274 switch (frame) { | 274 switch (frame) { |
| 275 case 1: | 275 case 1: |
| 276 main_destroyed_->RequestCopyOfOutput( | 276 main_destroyed_->RequestCopyOfOutput( |
| 277 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 277 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
| 278 &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, | 278 &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, |
| 279 base::Unretained(this)))); | 279 base::Unretained(this)))); |
| 280 impl_destroyed_->RequestCopyOfOutput( | 280 impl_destroyed_->RequestCopyOfOutput( |
| 281 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 281 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
| 282 &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, | 282 &LayerTreeHostCopyRequestTestLayerDestroyed::CopyOutputCallback, |
| 283 base::Unretained(this)))); | 283 base::Unretained(this)))); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 314 break; | 314 break; |
| 315 case 5: | 315 case 5: |
| 316 // We should get another callback with a NULL bitmap. | 316 // We should get another callback with a NULL bitmap. |
| 317 EXPECT_EQ(2, callback_count_); | 317 EXPECT_EQ(2, callback_count_); |
| 318 EndTest(); | 318 EndTest(); |
| 319 break; | 319 break; |
| 320 } | 320 } |
| 321 } | 321 } |
| 322 | 322 |
| 323 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { | 323 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { |
| 324 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 324 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 325 EXPECT_TRUE(result->IsEmpty()); | 325 EXPECT_TRUE(result->IsEmpty()); |
| 326 ++callback_count_; | 326 ++callback_count_; |
| 327 } | 327 } |
| 328 | 328 |
| 329 void AfterTest() override {} | 329 void AfterTest() override {} |
| 330 | 330 |
| 331 int callback_count_; | 331 int callback_count_; |
| 332 FakeContentLayerClient client_; | 332 FakeContentLayerClient client_; |
| 333 scoped_refptr<FakePictureLayer> root_; | 333 scoped_refptr<FakePictureLayer> root_; |
| 334 scoped_refptr<FakePictureLayer> main_destroyed_; | 334 scoped_refptr<FakePictureLayer> main_destroyed_; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 | 372 |
| 373 void BeginTest() override { | 373 void BeginTest() override { |
| 374 callback_count_ = 0; | 374 callback_count_ = 0; |
| 375 PostSetNeedsCommitToMainThread(); | 375 PostSetNeedsCommitToMainThread(); |
| 376 | 376 |
| 377 AddCopyRequest(copy_layer_.get()); | 377 AddCopyRequest(copy_layer_.get()); |
| 378 } | 378 } |
| 379 | 379 |
| 380 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { | 380 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { |
| 381 ++callback_count_; | 381 ++callback_count_; |
| 382 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 382 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 383 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()) | 383 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()) |
| 384 << callback_count_; | 384 << callback_count_; |
| 385 switch (callback_count_) { | 385 switch (callback_count_) { |
| 386 case 1: | 386 case 1: |
| 387 // Hide the copy request layer. | 387 // Hide the copy request layer. |
| 388 grand_parent_layer_->SetHideLayerAndSubtree(false); | 388 grand_parent_layer_->SetHideLayerAndSubtree(false); |
| 389 parent_layer_->SetHideLayerAndSubtree(false); | 389 parent_layer_->SetHideLayerAndSubtree(false); |
| 390 copy_layer_->SetHideLayerAndSubtree(true); | 390 copy_layer_->SetHideLayerAndSubtree(true); |
| 391 AddCopyRequest(copy_layer_.get()); | 391 AddCopyRequest(copy_layer_.get()); |
| 392 break; | 392 break; |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 PostSetNeedsCommitToMainThread(); | 477 PostSetNeedsCommitToMainThread(); |
| 478 | 478 |
| 479 copy_layer_->RequestCopyOfOutput( | 479 copy_layer_->RequestCopyOfOutput( |
| 480 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 480 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
| 481 &LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest:: | 481 &LayerTreeHostTestHiddenSurfaceNotAllocatedForSubtreeCopyRequest:: |
| 482 CopyOutputCallback, | 482 CopyOutputCallback, |
| 483 base::Unretained(this)))); | 483 base::Unretained(this)))); |
| 484 } | 484 } |
| 485 | 485 |
| 486 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { | 486 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { |
| 487 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 487 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 488 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()); | 488 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()); |
| 489 EndTest(); | 489 EndTest(); |
| 490 } | 490 } |
| 491 | 491 |
| 492 void DisplayWillDrawAndSwapOnThread( | 492 void DisplayWillDrawAndSwapOnThread( |
| 493 bool will_draw_and_swap, | 493 bool will_draw_and_swap, |
| 494 const RenderPassList& render_passes) override { | 494 const RenderPassList& render_passes) override { |
| 495 EXPECT_TRUE(will_draw_and_swap) << did_swap_; | 495 EXPECT_TRUE(will_draw_and_swap) << did_swap_; |
| 496 if (did_swap_) { | 496 if (did_swap_) { |
| 497 // TODO(crbug.com/564832): Ignore the extra frame that occurs due to copy | 497 // TODO(crbug.com/564832): Ignore the extra frame that occurs due to copy |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 PostSetNeedsCommitToMainThread(); | 571 PostSetNeedsCommitToMainThread(); |
| 572 | 572 |
| 573 copy_layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( | 573 copy_layer_->RequestCopyOfOutput(CopyOutputRequest::CreateBitmapRequest( |
| 574 base::Bind(&LayerTreeHostCopyRequestTestClippedOut::CopyOutputCallback, | 574 base::Bind(&LayerTreeHostCopyRequestTestClippedOut::CopyOutputCallback, |
| 575 base::Unretained(this)))); | 575 base::Unretained(this)))); |
| 576 } | 576 } |
| 577 | 577 |
| 578 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { | 578 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { |
| 579 // We should still get the content even if the copy requested layer was | 579 // We should still get the content even if the copy requested layer was |
| 580 // completely clipped away. | 580 // completely clipped away. |
| 581 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 581 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 582 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); | 582 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); |
| 583 EndTest(); | 583 EndTest(); |
| 584 } | 584 } |
| 585 | 585 |
| 586 void AfterTest() override {} | 586 void AfterTest() override {} |
| 587 | 587 |
| 588 FakeContentLayerClient client_; | 588 FakeContentLayerClient client_; |
| 589 scoped_refptr<FakePictureLayer> root_; | 589 scoped_refptr<FakePictureLayer> root_; |
| 590 scoped_refptr<FakePictureLayer> parent_layer_; | 590 scoped_refptr<FakePictureLayer> parent_layer_; |
| 591 scoped_refptr<FakePictureLayer> copy_layer_; | 591 scoped_refptr<FakePictureLayer> copy_layer_; |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 680 } | 680 } |
| 681 | 681 |
| 682 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { | 682 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { |
| 683 if (impl->active_tree()->source_frame_number() == 0) { | 683 if (impl->active_tree()->source_frame_number() == 0) { |
| 684 EXPECT_TRUE(impl->active_tree()->LayerById(copy_layer_->id())); | 684 EXPECT_TRUE(impl->active_tree()->LayerById(copy_layer_->id())); |
| 685 saw_copy_request_ = true; | 685 saw_copy_request_ = true; |
| 686 } | 686 } |
| 687 } | 687 } |
| 688 | 688 |
| 689 void DidCommit() override { | 689 void DidCommit() override { |
| 690 if (layer_tree_host()->source_frame_number() == 1) { | 690 if (layer_tree_host()->SourceFrameNumber() == 1) { |
| 691 // Allow drawing. | 691 // Allow drawing. |
| 692 layer_tree()->SetViewportSize(gfx::Size(root_->bounds())); | 692 layer_tree()->SetViewportSize(gfx::Size(root_->bounds())); |
| 693 | 693 |
| 694 AddCopyRequest(copy_layer_.get()); | 694 AddCopyRequest(copy_layer_.get()); |
| 695 } | 695 } |
| 696 } | 696 } |
| 697 | 697 |
| 698 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { | 698 void CopyOutputCallback(std::unique_ptr<CopyOutputResult> result) { |
| 699 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 699 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 700 | 700 |
| 701 // The first frame can't be drawn. | 701 // The first frame can't be drawn. |
| 702 switch (callback_count_) { | 702 switch (callback_count_) { |
| 703 case 0: | 703 case 0: |
| 704 EXPECT_TRUE(result->IsEmpty()); | 704 EXPECT_TRUE(result->IsEmpty()); |
| 705 EXPECT_EQ(gfx::Size(), result->size()); | 705 EXPECT_EQ(gfx::Size(), result->size()); |
| 706 break; | 706 break; |
| 707 case 1: | 707 case 1: |
| 708 EXPECT_FALSE(result->IsEmpty()); | 708 EXPECT_FALSE(result->IsEmpty()); |
| 709 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()); | 709 EXPECT_EQ(copy_layer_->bounds().ToString(), result->size().ToString()); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 | 747 |
| 748 layer_tree()->SetRootLayer(root_); | 748 layer_tree()->SetRootLayer(root_); |
| 749 LayerTreeHostCopyRequestTest::SetupTree(); | 749 LayerTreeHostCopyRequestTest::SetupTree(); |
| 750 client_.set_bounds(root_->bounds()); | 750 client_.set_bounds(root_->bounds()); |
| 751 } | 751 } |
| 752 | 752 |
| 753 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 753 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 754 | 754 |
| 755 void ReceiveCopyRequestOutputAndCommit( | 755 void ReceiveCopyRequestOutputAndCommit( |
| 756 std::unique_ptr<CopyOutputResult> result) { | 756 std::unique_ptr<CopyOutputResult> result) { |
| 757 EXPECT_TRUE(layer_tree_host()->task_runner_provider()->IsMainThread()); | 757 EXPECT_TRUE(layer_tree_host()->GetTaskRunnerProvider()->IsMainThread()); |
| 758 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); | 758 EXPECT_EQ(gfx::Size(10, 10).ToString(), result->size().ToString()); |
| 759 EXPECT_TRUE(result->HasTexture()); | 759 EXPECT_TRUE(result->HasTexture()); |
| 760 | 760 |
| 761 // Save the result for later. | 761 // Save the result for later. |
| 762 EXPECT_FALSE(result_); | 762 EXPECT_FALSE(result_); |
| 763 result_ = std::move(result); | 763 result_ = std::move(result); |
| 764 | 764 |
| 765 // Post a commit to lose the output surface. | 765 // Post a commit to lose the output surface. |
| 766 layer_tree_host()->SetNeedsCommit(); | 766 layer_tree_host()->SetNeedsCommit(); |
| 767 } | 767 } |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 881 } | 881 } |
| 882 | 882 |
| 883 void BeginTest() override { | 883 void BeginTest() override { |
| 884 waited_sync_token_after_readback_.Clear(); | 884 waited_sync_token_after_readback_.Clear(); |
| 885 PostSetNeedsCommitToMainThread(); | 885 PostSetNeedsCommitToMainThread(); |
| 886 } | 886 } |
| 887 | 887 |
| 888 virtual void RequestCopy(Layer* layer) = 0; | 888 virtual void RequestCopy(Layer* layer) = 0; |
| 889 | 889 |
| 890 void DidCommit() override { | 890 void DidCommit() override { |
| 891 switch (layer_tree_host()->source_frame_number()) { | 891 switch (layer_tree_host()->SourceFrameNumber()) { |
| 892 case 1: | 892 case 1: |
| 893 // The layers have been pushed to the impl side and drawn. Any textures | 893 // The layers have been pushed to the impl side and drawn. Any textures |
| 894 // that are created in that process will have been allocated. | 894 // that are created in that process will have been allocated. |
| 895 RequestCopy(copy_layer_.get()); | 895 RequestCopy(copy_layer_.get()); |
| 896 break; | 896 break; |
| 897 } | 897 } |
| 898 } | 898 } |
| 899 | 899 |
| 900 void DisplayDidDrawAndSwapOnThread() override { | 900 void DisplayDidDrawAndSwapOnThread() override { |
| 901 switch (num_swaps_++) { | 901 switch (num_swaps_++) { |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1053 } | 1053 } |
| 1054 | 1054 |
| 1055 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { | 1055 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { |
| 1056 MainThreadTaskRunner()->PostTask( | 1056 MainThreadTaskRunner()->PostTask( |
| 1057 FROM_HERE, | 1057 FROM_HERE, |
| 1058 base::Bind(&LayerTreeHostCopyRequestTestDestroyBeforeCopy::DidActivate, | 1058 base::Bind(&LayerTreeHostCopyRequestTestDestroyBeforeCopy::DidActivate, |
| 1059 base::Unretained(this))); | 1059 base::Unretained(this))); |
| 1060 } | 1060 } |
| 1061 | 1061 |
| 1062 void DidActivate() { | 1062 void DidActivate() { |
| 1063 switch (layer_tree_host()->source_frame_number()) { | 1063 switch (layer_tree_host()->SourceFrameNumber()) { |
| 1064 case 1: { | 1064 case 1: { |
| 1065 EXPECT_EQ(0, callback_count_); | 1065 EXPECT_EQ(0, callback_count_); |
| 1066 // Put a copy request on the layer, but then don't allow any | 1066 // Put a copy request on the layer, but then don't allow any |
| 1067 // drawing to take place. | 1067 // drawing to take place. |
| 1068 std::unique_ptr<CopyOutputRequest> request = | 1068 std::unique_ptr<CopyOutputRequest> request = |
| 1069 CopyOutputRequest::CreateRequest( | 1069 CopyOutputRequest::CreateRequest( |
| 1070 base::Bind(&LayerTreeHostCopyRequestTestDestroyBeforeCopy:: | 1070 base::Bind(&LayerTreeHostCopyRequestTestDestroyBeforeCopy:: |
| 1071 CopyOutputCallback, | 1071 CopyOutputCallback, |
| 1072 base::Unretained(this))); | 1072 base::Unretained(this))); |
| 1073 copy_layer_->RequestCopyOfOutput(std::move(request)); | 1073 copy_layer_->RequestCopyOfOutput(std::move(request)); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1129 } | 1129 } |
| 1130 | 1130 |
| 1131 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { | 1131 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { |
| 1132 MainThreadTaskRunner()->PostTask( | 1132 MainThreadTaskRunner()->PostTask( |
| 1133 FROM_HERE, | 1133 FROM_HERE, |
| 1134 base::Bind(&LayerTreeHostCopyRequestTestShutdownBeforeCopy::DidActivate, | 1134 base::Bind(&LayerTreeHostCopyRequestTestShutdownBeforeCopy::DidActivate, |
| 1135 base::Unretained(this))); | 1135 base::Unretained(this))); |
| 1136 } | 1136 } |
| 1137 | 1137 |
| 1138 void DidActivate() { | 1138 void DidActivate() { |
| 1139 switch (layer_tree_host()->source_frame_number()) { | 1139 switch (layer_tree_host()->SourceFrameNumber()) { |
| 1140 case 1: { | 1140 case 1: { |
| 1141 EXPECT_EQ(0, callback_count_); | 1141 EXPECT_EQ(0, callback_count_); |
| 1142 // Put a copy request on the layer, but then don't allow any | 1142 // Put a copy request on the layer, but then don't allow any |
| 1143 // drawing to take place. | 1143 // drawing to take place. |
| 1144 std::unique_ptr<CopyOutputRequest> request = | 1144 std::unique_ptr<CopyOutputRequest> request = |
| 1145 CopyOutputRequest::CreateRequest( | 1145 CopyOutputRequest::CreateRequest( |
| 1146 base::Bind(&LayerTreeHostCopyRequestTestShutdownBeforeCopy:: | 1146 base::Bind(&LayerTreeHostCopyRequestTestShutdownBeforeCopy:: |
| 1147 CopyOutputCallback, | 1147 CopyOutputCallback, |
| 1148 base::Unretained(this))); | 1148 base::Unretained(this))); |
| 1149 copy_layer_->RequestCopyOfOutput(std::move(request)); | 1149 copy_layer_->RequestCopyOfOutput(std::move(request)); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1192 | 1192 |
| 1193 void BeginTest() override { | 1193 void BeginTest() override { |
| 1194 num_draws_ = 0; | 1194 num_draws_ = 0; |
| 1195 copy_happened_ = false; | 1195 copy_happened_ = false; |
| 1196 draw_happened_ = false; | 1196 draw_happened_ = false; |
| 1197 PostSetNeedsCommitToMainThread(); | 1197 PostSetNeedsCommitToMainThread(); |
| 1198 } | 1198 } |
| 1199 | 1199 |
| 1200 void DidCommit() override { | 1200 void DidCommit() override { |
| 1201 // Send a copy request after the first commit. | 1201 // Send a copy request after the first commit. |
| 1202 if (layer_tree_host()->source_frame_number() == 1) { | 1202 if (layer_tree_host()->SourceFrameNumber() == 1) { |
| 1203 child_->RequestCopyOfOutput( | 1203 child_->RequestCopyOfOutput( |
| 1204 CopyOutputRequest::CreateBitmapRequest(base::Bind( | 1204 CopyOutputRequest::CreateBitmapRequest(base::Bind( |
| 1205 &LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest:: | 1205 &LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest:: |
| 1206 CopyOutputCallback, | 1206 CopyOutputCallback, |
| 1207 base::Unretained(this)))); | 1207 base::Unretained(this)))); |
| 1208 } | 1208 } |
| 1209 } | 1209 } |
| 1210 | 1210 |
| 1211 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 1211 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 1212 LayerTreeHostImpl::FrameData* frame_data, | 1212 LayerTreeHostImpl::FrameData* frame_data, |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1284 int num_draws_; | 1284 int num_draws_; |
| 1285 bool copy_happened_; | 1285 bool copy_happened_; |
| 1286 bool draw_happened_; | 1286 bool draw_happened_; |
| 1287 }; | 1287 }; |
| 1288 | 1288 |
| 1289 SINGLE_AND_MULTI_THREAD_TEST_F( | 1289 SINGLE_AND_MULTI_THREAD_TEST_F( |
| 1290 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); | 1290 LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequest); |
| 1291 | 1291 |
| 1292 } // namespace | 1292 } // namespace |
| 1293 } // namespace cc | 1293 } // namespace cc |
| OLD | NEW |