Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: cc/trees/layer_tree_host_unittest_context.cc

Issue 640203002: [C++11 Allowed Features] Declares a type-safe null pointer converting from NULL to nullptr [part-… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: format fix. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/content_layer.h" 8 #include "cc/layers/content_layer.h"
9 #include "cc/layers/delegated_frame_provider.h" 9 #include "cc/layers/delegated_frame_provider.h"
10 #include "cc/layers/delegated_frame_resource_collection.h" 10 #include "cc/layers/delegated_frame_resource_collection.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 using media::VideoFrame; 47 using media::VideoFrame;
48 48
49 namespace cc { 49 namespace cc {
50 namespace { 50 namespace {
51 51
52 // These tests deal with losing the 3d graphics context. 52 // These tests deal with losing the 3d graphics context.
53 class LayerTreeHostContextTest : public LayerTreeTest { 53 class LayerTreeHostContextTest : public LayerTreeTest {
54 public: 54 public:
55 LayerTreeHostContextTest() 55 LayerTreeHostContextTest()
56 : LayerTreeTest(), 56 : LayerTreeTest(),
57 context3d_(NULL), 57 context3d_(nullptr),
58 times_to_fail_create_(0), 58 times_to_fail_create_(0),
59 times_to_lose_during_commit_(0), 59 times_to_lose_during_commit_(0),
60 times_to_lose_during_draw_(0), 60 times_to_lose_during_draw_(0),
61 times_to_fail_recreate_(0), 61 times_to_fail_recreate_(0),
62 times_to_expect_create_failed_(0), 62 times_to_expect_create_failed_(0),
63 times_create_failed_(0), 63 times_create_failed_(0),
64 committed_at_least_once_(false), 64 committed_at_least_once_(false),
65 context_should_support_io_surface_(false), 65 context_should_support_io_surface_(false),
66 fallback_context_works_(false), 66 fallback_context_works_(false),
67 async_output_surface_creation_(false) { 67 async_output_surface_creation_(false) {
68 media::InitializeMediaLibraryForTesting(); 68 media::InitializeMediaLibraryForTesting();
69 } 69 }
70 70
71 void LoseContext() { 71 void LoseContext() {
72 // For sanity-checking tests, they should only call this when the 72 // For sanity-checking tests, they should only call this when the
73 // context is not lost. 73 // context is not lost.
74 CHECK(context3d_); 74 CHECK(context3d_);
75 context3d_->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, 75 context3d_->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB,
76 GL_INNOCENT_CONTEXT_RESET_ARB); 76 GL_INNOCENT_CONTEXT_RESET_ARB);
77 context3d_ = NULL; 77 context3d_ = nullptr;
78 } 78 }
79 79
80 virtual scoped_ptr<TestWebGraphicsContext3D> CreateContext3d() { 80 virtual scoped_ptr<TestWebGraphicsContext3D> CreateContext3d() {
81 return TestWebGraphicsContext3D::Create(); 81 return TestWebGraphicsContext3D::Create();
82 } 82 }
83 83
84 virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface(bool fallback) 84 virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface(bool fallback)
85 override { 85 override {
86 if (times_to_fail_create_) { 86 if (times_to_fail_create_) {
87 --times_to_fail_create_; 87 --times_to_fail_create_;
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 763
764 layer_tree_host()->SetRootLayer(root_); 764 layer_tree_host()->SetRootLayer(root_);
765 LayerTreeHostContextTest::SetupTree(); 765 LayerTreeHostContextTest::SetupTree();
766 } 766 }
767 767
768 virtual void BeginTest() override { PostSetNeedsCommitToMainThread(); } 768 virtual void BeginTest() override { PostSetNeedsCommitToMainThread(); }
769 769
770 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { 770 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
771 LayerTreeHostContextTest::DidActivateTreeOnThread(host_impl); 771 LayerTreeHostContextTest::DidActivateTreeOnThread(host_impl);
772 772
773 FakePictureLayerImpl* root_picture = NULL; 773 FakePictureLayerImpl* root_picture = nullptr;
774 FakePictureLayerImpl* child_picture = NULL; 774 FakePictureLayerImpl* child_picture = nullptr;
775 FakePictureLayerImpl* grandchild_picture = NULL; 775 FakePictureLayerImpl* grandchild_picture = nullptr;
776 FakeContentLayerImpl* root_content = NULL; 776 FakeContentLayerImpl* root_content = nullptr;
777 FakeContentLayerImpl* child_content = NULL; 777 FakeContentLayerImpl* child_content = nullptr;
778 FakeContentLayerImpl* grandchild_content = NULL; 778 FakeContentLayerImpl* grandchild_content = nullptr;
779 779
780 if (layer_tree_host()->settings().impl_side_painting) { 780 if (layer_tree_host()->settings().impl_side_painting) {
781 root_picture = static_cast<FakePictureLayerImpl*>( 781 root_picture = static_cast<FakePictureLayerImpl*>(
782 host_impl->active_tree()->root_layer()); 782 host_impl->active_tree()->root_layer());
783 child_picture = 783 child_picture =
784 static_cast<FakePictureLayerImpl*>(root_picture->children()[0]); 784 static_cast<FakePictureLayerImpl*>(root_picture->children()[0]);
785 grandchild_picture = 785 grandchild_picture =
786 static_cast<FakePictureLayerImpl*>(child_picture->children()[0]); 786 static_cast<FakePictureLayerImpl*>(child_picture->children()[0]);
787 787
788 } else { 788 } else {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 public: 847 public:
848 LayerTreeHostContextTestDontUseLostResources() : lost_context_(false) { 848 LayerTreeHostContextTestDontUseLostResources() : lost_context_(false) {
849 context_should_support_io_surface_ = true; 849 context_should_support_io_surface_ = true;
850 850
851 child_output_surface_ = FakeOutputSurface::Create3d(); 851 child_output_surface_ = FakeOutputSurface::Create3d();
852 child_output_surface_->BindToClient(&output_surface_client_); 852 child_output_surface_->BindToClient(&output_surface_client_);
853 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 853 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
854 child_resource_provider_ = 854 child_resource_provider_ =
855 ResourceProvider::Create(child_output_surface_.get(), 855 ResourceProvider::Create(child_output_surface_.get(),
856 shared_bitmap_manager_.get(), 856 shared_bitmap_manager_.get(),
857 NULL, 857 nullptr,
858 0, 858 0,
859 false, 859 false,
860 1, 860 1,
861 false); 861 false);
862 } 862 }
863 863
864 static void EmptyReleaseCallback(unsigned sync_point, bool lost) {} 864 static void EmptyReleaseCallback(unsigned sync_point, bool lost) {}
865 865
866 virtual void SetupTree() override { 866 virtual void SetupTree() override {
867 gpu::gles2::GLES2Interface* gl = 867 gpu::gles2::GLES2Interface* gl =
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
917 917
918 scoped_refptr<Layer> layer; 918 scoped_refptr<Layer> layer;
919 if (layer_tree_host()->settings().impl_side_painting) 919 if (layer_tree_host()->settings().impl_side_painting)
920 layer = PictureLayer::Create(&client_); 920 layer = PictureLayer::Create(&client_);
921 else 921 else
922 layer = ContentLayer::Create(&client_); 922 layer = ContentLayer::Create(&client_);
923 layer->SetBounds(gfx::Size(10, 10)); 923 layer->SetBounds(gfx::Size(10, 10));
924 layer->SetIsDrawable(true); 924 layer->SetIsDrawable(true);
925 root->AddChild(layer); 925 root->AddChild(layer);
926 926
927 scoped_refptr<TextureLayer> texture = TextureLayer::CreateForMailbox(NULL); 927 scoped_refptr<TextureLayer> texture =
928 TextureLayer::CreateForMailbox(nullptr);
928 texture->SetBounds(gfx::Size(10, 10)); 929 texture->SetBounds(gfx::Size(10, 10));
929 texture->SetIsDrawable(true); 930 texture->SetIsDrawable(true);
930 texture->SetTextureMailbox( 931 texture->SetTextureMailbox(
931 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point), 932 TextureMailbox(mailbox, GL_TEXTURE_2D, sync_point),
932 SingleReleaseCallback::Create( 933 SingleReleaseCallback::Create(
933 base::Bind(&LayerTreeHostContextTestDontUseLostResources:: 934 base::Bind(&LayerTreeHostContextTestDontUseLostResources::
934 EmptyReleaseCallback))); 935 EmptyReleaseCallback)));
935 root->AddChild(texture); 936 root->AddChild(texture);
936 937
937 scoped_refptr<Layer> mask; 938 scoped_refptr<Layer> mask;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 1022
1022 virtual void BeginTest() override { PostSetNeedsCommitToMainThread(); } 1023 virtual void BeginTest() override { PostSetNeedsCommitToMainThread(); }
1023 1024
1024 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 1025 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
1025 LayerTreeHostContextTest::CommitCompleteOnThread(host_impl); 1026 LayerTreeHostContextTest::CommitCompleteOnThread(host_impl);
1026 1027
1027 if (host_impl->active_tree()->source_frame_number() == 3) { 1028 if (host_impl->active_tree()->source_frame_number() == 3) {
1028 // On the third commit we're recovering from context loss. Hardware 1029 // On the third commit we're recovering from context loss. Hardware
1029 // video frames should not be reused by the VideoFrameProvider, but 1030 // video frames should not be reused by the VideoFrameProvider, but
1030 // software frames can be. 1031 // software frames can be.
1031 hw_frame_provider_.set_frame(NULL); 1032 hw_frame_provider_.set_frame(nullptr);
1032 scaled_hw_frame_provider_.set_frame(NULL); 1033 scaled_hw_frame_provider_.set_frame(nullptr);
1033 } 1034 }
1034 } 1035 }
1035 1036
1036 virtual DrawResult PrepareToDrawOnThread( 1037 virtual DrawResult PrepareToDrawOnThread(
1037 LayerTreeHostImpl* host_impl, 1038 LayerTreeHostImpl* host_impl,
1038 LayerTreeHostImpl::FrameData* frame, 1039 LayerTreeHostImpl::FrameData* frame,
1039 DrawResult draw_result) override { 1040 DrawResult draw_result) override {
1040 if (host_impl->active_tree()->source_frame_number() == 2) { 1041 if (host_impl->active_tree()->source_frame_number() == 2) {
1041 // Lose the context during draw on the second commit. This will cause 1042 // Lose the context during draw on the second commit. This will cause
1042 // a third commit to recover. 1043 // a third commit to recover.
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
1713 virtual void AfterTest() override {} 1714 virtual void AfterTest() override {}
1714 1715
1715 bool deferred_; 1716 bool deferred_;
1716 }; 1717 };
1717 1718
1718 SINGLE_AND_MULTI_THREAD_TEST_F( 1719 SINGLE_AND_MULTI_THREAD_TEST_F(
1719 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame); 1720 LayerTreeHostContextTestLoseAfterSendingBeginMainFrame);
1720 1721
1721 } // namespace 1722 } // namespace
1722 } // namespace cc 1723 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698