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

Side by Side Diff: cc/layers/ui_resource_layer_unittest.cc

Issue 1122393003: CC: Plumb LayerSettings parameter for cc::Layer construction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 7 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
« no previous file with comments | « cc/layers/ui_resource_layer.cc ('k') | cc/layers/video_layer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "cc/layers/ui_resource_layer.h" 5 #include "cc/layers/ui_resource_layer.h"
6 6
7 #include "base/thread_task_runner_handle.h" 7 #include "base/thread_task_runner_handle.h"
8 #include "cc/resources/prioritized_resource_manager.h" 8 #include "cc/resources/prioritized_resource_manager.h"
9 #include "cc/resources/resource_provider.h" 9 #include "cc/resources/resource_provider.h"
10 #include "cc/resources/resource_update_queue.h" 10 #include "cc/resources/resource_update_queue.h"
(...skipping 13 matching lines...) Expand all
24 using ::testing::Mock; 24 using ::testing::Mock;
25 using ::testing::_; 25 using ::testing::_;
26 using ::testing::AtLeast; 26 using ::testing::AtLeast;
27 using ::testing::AnyNumber; 27 using ::testing::AnyNumber;
28 28
29 namespace cc { 29 namespace cc {
30 namespace { 30 namespace {
31 31
32 class TestUIResourceLayer : public UIResourceLayer { 32 class TestUIResourceLayer : public UIResourceLayer {
33 public: 33 public:
34 static scoped_refptr<TestUIResourceLayer> Create() { 34 static scoped_refptr<TestUIResourceLayer> Create(
35 return make_scoped_refptr(new TestUIResourceLayer()); 35 const LayerSettings& settings) {
36 return make_scoped_refptr(new TestUIResourceLayer(settings));
36 } 37 }
37 38
38 UIResourceId GetUIResourceId() { 39 UIResourceId GetUIResourceId() {
39 if (ui_resource_holder_) 40 if (ui_resource_holder_)
40 return ui_resource_holder_->id(); 41 return ui_resource_holder_->id();
41 return 0; 42 return 0;
42 } 43 }
43 44
44 protected: 45 protected:
45 TestUIResourceLayer() : UIResourceLayer() { SetIsDrawable(true); } 46 explicit TestUIResourceLayer(const LayerSettings& settings)
47 : UIResourceLayer(settings) {
48 SetIsDrawable(true);
49 }
46 ~TestUIResourceLayer() override {} 50 ~TestUIResourceLayer() override {}
47 }; 51 };
48 52
49 class UIResourceLayerTest : public testing::Test { 53 class UIResourceLayerTest : public testing::Test {
50 public: 54 public:
51 UIResourceLayerTest() : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {} 55 UIResourceLayerTest() : fake_client_(FakeLayerTreeHostClient::DIRECT_3D) {}
52 56
53 protected: 57 protected:
54 void SetUp() override { 58 void SetUp() override {
55 layer_tree_host_ = FakeLayerTreeHost::Create(&fake_client_); 59 layer_tree_host_ = FakeLayerTreeHost::Create(&fake_client_);
56 layer_tree_host_->InitializeSingleThreaded( 60 layer_tree_host_->InitializeSingleThreaded(
57 &fake_client_, base::ThreadTaskRunnerHandle::Get(), nullptr); 61 &fake_client_, base::ThreadTaskRunnerHandle::Get(), nullptr);
58 } 62 }
59 63
60 void TearDown() override { 64 void TearDown() override {
61 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 65 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
62 } 66 }
63 67
64 FakeLayerTreeHostClient fake_client_; 68 FakeLayerTreeHostClient fake_client_;
65 scoped_ptr<FakeLayerTreeHost> layer_tree_host_; 69 scoped_ptr<FakeLayerTreeHost> layer_tree_host_;
70 LayerSettings layer_settings_;
66 }; 71 };
67 72
68 TEST_F(UIResourceLayerTest, SetBitmap) { 73 TEST_F(UIResourceLayerTest, SetBitmap) {
69 scoped_refptr<UIResourceLayer> test_layer = TestUIResourceLayer::Create(); 74 scoped_refptr<UIResourceLayer> test_layer =
75 TestUIResourceLayer::Create(layer_settings_);
70 ASSERT_TRUE(test_layer.get()); 76 ASSERT_TRUE(test_layer.get());
71 test_layer->SetBounds(gfx::Size(100, 100)); 77 test_layer->SetBounds(gfx::Size(100, 100));
72 78
73 layer_tree_host_->SetRootLayer(test_layer); 79 layer_tree_host_->SetRootLayer(test_layer);
74 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 80 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
75 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get()); 81 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get());
76 82
77 ResourceUpdateQueue queue; 83 ResourceUpdateQueue queue;
78 gfx::Rect screen_space_clip_rect; 84 gfx::Rect screen_space_clip_rect;
79 OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect); 85 OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect);
80 test_layer->SavePaintProperties(); 86 test_layer->SavePaintProperties();
81 test_layer->Update(&queue, &occlusion_tracker); 87 test_layer->Update(&queue, &occlusion_tracker);
82 88
83 EXPECT_FALSE(test_layer->DrawsContent()); 89 EXPECT_FALSE(test_layer->DrawsContent());
84 90
85 SkBitmap bitmap; 91 SkBitmap bitmap;
86 bitmap.allocN32Pixels(10, 10); 92 bitmap.allocN32Pixels(10, 10);
87 bitmap.setImmutable(); 93 bitmap.setImmutable();
88 94
89 test_layer->SetBitmap(bitmap); 95 test_layer->SetBitmap(bitmap);
90 test_layer->Update(&queue, &occlusion_tracker); 96 test_layer->Update(&queue, &occlusion_tracker);
91 97
92 EXPECT_TRUE(test_layer->DrawsContent()); 98 EXPECT_TRUE(test_layer->DrawsContent());
93 } 99 }
94 100
95 TEST_F(UIResourceLayerTest, SetUIResourceId) { 101 TEST_F(UIResourceLayerTest, SetUIResourceId) {
96 scoped_refptr<TestUIResourceLayer> test_layer = TestUIResourceLayer::Create(); 102 scoped_refptr<TestUIResourceLayer> test_layer =
103 TestUIResourceLayer::Create(layer_settings_);
97 ASSERT_TRUE(test_layer.get()); 104 ASSERT_TRUE(test_layer.get());
98 test_layer->SetBounds(gfx::Size(100, 100)); 105 test_layer->SetBounds(gfx::Size(100, 100));
99 106
100 layer_tree_host_->SetRootLayer(test_layer); 107 layer_tree_host_->SetRootLayer(test_layer);
101 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 108 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
102 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get()); 109 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get());
103 110
104 ResourceUpdateQueue queue; 111 ResourceUpdateQueue queue;
105 gfx::Rect screen_space_clip_rect; 112 gfx::Rect screen_space_clip_rect;
106 OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect); 113 OcclusionTracker<Layer> occlusion_tracker(screen_space_clip_rect);
(...skipping 14 matching lines...) Expand all
121 layer_tree_host_->SetRootLayer(nullptr); 128 layer_tree_host_->SetRootLayer(nullptr);
122 scoped_ptr<ScopedUIResource> shared_resource = ScopedUIResource::Create( 129 scoped_ptr<ScopedUIResource> shared_resource = ScopedUIResource::Create(
123 layer_tree_host_.get(), UIResourceBitmap(gfx::Size(5, 5), is_opaque)); 130 layer_tree_host_.get(), UIResourceBitmap(gfx::Size(5, 5), is_opaque));
124 test_layer->SetUIResourceId(shared_resource->id()); 131 test_layer->SetUIResourceId(shared_resource->id());
125 layer_tree_host_->SetRootLayer(test_layer); 132 layer_tree_host_->SetRootLayer(test_layer);
126 EXPECT_EQ(shared_resource->id(), test_layer->GetUIResourceId()); 133 EXPECT_EQ(shared_resource->id(), test_layer->GetUIResourceId());
127 EXPECT_TRUE(test_layer->DrawsContent()); 134 EXPECT_TRUE(test_layer->DrawsContent());
128 } 135 }
129 136
130 TEST_F(UIResourceLayerTest, BitmapClearedOnSetUIResourceId) { 137 TEST_F(UIResourceLayerTest, BitmapClearedOnSetUIResourceId) {
131 scoped_refptr<UIResourceLayer> test_layer = TestUIResourceLayer::Create(); 138 scoped_refptr<UIResourceLayer> test_layer =
139 TestUIResourceLayer::Create(layer_settings_);
132 ASSERT_TRUE(test_layer.get()); 140 ASSERT_TRUE(test_layer.get());
133 test_layer->SetBounds(gfx::Size(100, 100)); 141 test_layer->SetBounds(gfx::Size(100, 100));
134 142
135 SkBitmap bitmap; 143 SkBitmap bitmap;
136 bitmap.allocN32Pixels(10, 10); 144 bitmap.allocN32Pixels(10, 10);
137 bitmap.setImmutable(); 145 bitmap.setImmutable();
138 ASSERT_FALSE(bitmap.isNull()); 146 ASSERT_FALSE(bitmap.isNull());
139 ASSERT_TRUE(bitmap.pixelRef()->unique()); 147 ASSERT_TRUE(bitmap.pixelRef()->unique());
140 148
141 test_layer->SetBitmap(bitmap); 149 test_layer->SetBitmap(bitmap);
142 ASSERT_FALSE(bitmap.pixelRef()->unique()); 150 ASSERT_FALSE(bitmap.pixelRef()->unique());
143 151
144 test_layer->SetUIResourceId(0); 152 test_layer->SetUIResourceId(0);
145 EXPECT_TRUE(bitmap.pixelRef()->unique()); 153 EXPECT_TRUE(bitmap.pixelRef()->unique());
146 } 154 }
147 155
148 } // namespace 156 } // namespace
149 } // namespace cc 157 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/ui_resource_layer.cc ('k') | cc/layers/video_layer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698