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

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

Issue 1452353002: Turn off computation of the interest rect in cc in synchronized paint mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 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/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include "cc/test/fake_content_layer_client.h" 7 #include "cc/test/fake_content_layer_client.h"
8 #include "cc/test/fake_picture_layer.h" 8 #include "cc/test/fake_picture_layer.h"
9 #include "cc/test/fake_picture_layer_impl.h" 9 #include "cc/test/fake_picture_layer_impl.h"
10 #include "cc/test/layer_tree_test.h" 10 #include "cc/test/layer_tree_test.h"
11 #include "cc/trees/layer_tree_impl.h" 11 #include "cc/trees/layer_tree_impl.h"
12 12
13 namespace cc { 13 namespace cc {
14 namespace { 14 namespace {
15 15
16 // These tests deal with picture layers. 16 // These tests deal with picture layers.
17 class LayerTreeHostPictureTest : public LayerTreeTest { 17 class LayerTreeHostPictureTest : public LayerTreeTest {
18 protected: 18 protected:
19 void SetupTreeWithSinglePictureLayer(const gfx::Size& size) { 19 void SetupTreeWithSinglePictureLayer(const gfx::Size& size) {
20 scoped_refptr<Layer> root = Layer::Create(layer_settings()); 20 scoped_refptr<Layer> root = Layer::Create(layer_settings());
21 root->SetBounds(size); 21 root->SetBounds(size);
22 22
23 root_picture_layer_ = FakePictureLayer::Create(layer_settings(), &client_); 23 root_picture_layer_ = FakePictureLayer::Create(layer_settings(), &client_);
24 root_picture_layer_->SetBounds(size); 24 root_picture_layer_->SetBounds(size);
25 root->AddChild(root_picture_layer_); 25 root->AddChild(root_picture_layer_);
26 26
27 layer_tree_host()->SetRootLayer(root); 27 layer_tree_host()->SetRootLayer(root);
28 client_.set_bounds(size);
28 } 29 }
29 30
30 scoped_refptr<FakePictureLayer> root_picture_layer_; 31 scoped_refptr<FakePictureLayer> root_picture_layer_;
31 FakeContentLayerClient client_; 32 FakeContentLayerClient client_;
32 }; 33 };
33 34
34 class LayerTreeHostPictureTestTwinLayer 35 class LayerTreeHostPictureTestTwinLayer
35 : public LayerTreeHostPictureTest { 36 : public LayerTreeHostPictureTest {
36 void SetupTree() override { 37 void SetupTree() override {
37 SetupTreeWithSinglePictureLayer(gfx::Size(1, 1)); 38 SetupTreeWithSinglePictureLayer(gfx::Size(1, 1));
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 133
133 class LayerTreeHostPictureTestResizeViewportWithGpuRaster 134 class LayerTreeHostPictureTestResizeViewportWithGpuRaster
134 : public LayerTreeHostPictureTest { 135 : public LayerTreeHostPictureTest {
135 void InitializeSettings(LayerTreeSettings* settings) override { 136 void InitializeSettings(LayerTreeSettings* settings) override {
136 settings->gpu_rasterization_forced = true; 137 settings->gpu_rasterization_forced = true;
137 } 138 }
138 139
139 void SetupTree() override { 140 void SetupTree() override {
140 scoped_refptr<Layer> root = Layer::Create(layer_settings()); 141 scoped_refptr<Layer> root = Layer::Create(layer_settings());
141 root->SetBounds(gfx::Size(768, 960)); 142 root->SetBounds(gfx::Size(768, 960));
142 143 client_.set_bounds(root->bounds());
143 client_.set_fill_with_nonsolid_color(true); 144 client_.set_fill_with_nonsolid_color(true);
144 picture_ = FakePictureLayer::Create(layer_settings(), &client_); 145 picture_ = FakePictureLayer::Create(layer_settings(), &client_);
145 picture_->SetBounds(gfx::Size(768, 960)); 146 picture_->SetBounds(gfx::Size(768, 960));
146 root->AddChild(picture_); 147 root->AddChild(picture_);
147 148
148 layer_tree_host()->SetRootLayer(root); 149 layer_tree_host()->SetRootLayer(root);
149 LayerTreeHostPictureTest::SetupTree(); 150 LayerTreeHostPictureTest::SetupTree();
150 } 151 }
151 152
152 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 153 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 LayerTreeHostPictureTestResizeViewportWithGpuRaster); 196 LayerTreeHostPictureTestResizeViewportWithGpuRaster);
196 197
197 class LayerTreeHostPictureTestChangeLiveTilesRectWithRecycleTree 198 class LayerTreeHostPictureTestChangeLiveTilesRectWithRecycleTree
198 : public LayerTreeHostPictureTest { 199 : public LayerTreeHostPictureTest {
199 void SetupTree() override { 200 void SetupTree() override {
200 frame_ = 0; 201 frame_ = 0;
201 did_post_commit_ = false; 202 did_post_commit_ = false;
202 203
203 scoped_refptr<Layer> root = Layer::Create(layer_settings()); 204 scoped_refptr<Layer> root = Layer::Create(layer_settings());
204 root->SetBounds(gfx::Size(100, 100)); 205 root->SetBounds(gfx::Size(100, 100));
205
206 // The layer is big enough that the live tiles rect won't cover the full 206 // The layer is big enough that the live tiles rect won't cover the full
207 // layer. 207 // layer.
208 client_.set_fill_with_nonsolid_color(true); 208 client_.set_fill_with_nonsolid_color(true);
209 picture_ = FakePictureLayer::Create(layer_settings(), &client_); 209 picture_ = FakePictureLayer::Create(layer_settings(), &client_);
210 picture_->SetBounds(gfx::Size(100, 100000)); 210 picture_->SetBounds(gfx::Size(100, 100000));
211 root->AddChild(picture_); 211 root->AddChild(picture_);
212 212
213 // picture_'s transform is going to be changing on the compositor thread, so 213 // picture_'s transform is going to be changing on the compositor thread, so
214 // force it to have a transform node by making it scrollable. 214 // force it to have a transform node by making it scrollable.
215 picture_->SetScrollClipLayerId(root->id()); 215 picture_->SetScrollClipLayerId(root->id());
216 216
217 layer_tree_host()->SetRootLayer(root); 217 layer_tree_host()->SetRootLayer(root);
218 LayerTreeHostPictureTest::SetupTree(); 218 LayerTreeHostPictureTest::SetupTree();
219 client_.set_bounds(picture_->bounds());
219 } 220 }
220 221
221 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 222 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
222 223
223 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 224 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
224 LayerImpl* child = impl->active_tree()->root_layer()->children()[0]; 225 LayerImpl* child = impl->active_tree()->root_layer()->children()[0];
225 FakePictureLayerImpl* picture_impl = 226 FakePictureLayerImpl* picture_impl =
226 static_cast<FakePictureLayerImpl*>(child); 227 static_cast<FakePictureLayerImpl*>(child);
227 switch (++frame_) { 228 switch (++frame_) {
228 case 1: { 229 case 1: {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 scoped_refptr<FakePictureLayer> picture_; 302 scoped_refptr<FakePictureLayer> picture_;
302 }; 303 };
303 304
304 // Multi-thread only since there is no recycle tree in single thread. 305 // Multi-thread only since there is no recycle tree in single thread.
305 MULTI_THREAD_TEST_F(LayerTreeHostPictureTestChangeLiveTilesRectWithRecycleTree); 306 MULTI_THREAD_TEST_F(LayerTreeHostPictureTestChangeLiveTilesRectWithRecycleTree);
306 307
307 class LayerTreeHostPictureTestRSLLMembership : public LayerTreeHostPictureTest { 308 class LayerTreeHostPictureTestRSLLMembership : public LayerTreeHostPictureTest {
308 void SetupTree() override { 309 void SetupTree() override {
309 scoped_refptr<Layer> root = Layer::Create(layer_settings()); 310 scoped_refptr<Layer> root = Layer::Create(layer_settings());
310 root->SetBounds(gfx::Size(100, 100)); 311 root->SetBounds(gfx::Size(100, 100));
312 client_.set_bounds(root->bounds());
311 313
312 child_ = Layer::Create(layer_settings()); 314 child_ = Layer::Create(layer_settings());
313 root->AddChild(child_); 315 root->AddChild(child_);
314 316
315 // Don't be solid color so the layer has tilings/tiles. 317 // Don't be solid color so the layer has tilings/tiles.
316 client_.set_fill_with_nonsolid_color(true); 318 client_.set_fill_with_nonsolid_color(true);
317 picture_ = FakePictureLayer::Create(layer_settings(), &client_); 319 picture_ = FakePictureLayer::Create(layer_settings(), &client_);
318 picture_->SetBounds(gfx::Size(100, 100)); 320 picture_->SetBounds(gfx::Size(100, 100));
319 child_->AddChild(picture_); 321 child_->AddChild(picture_);
320 322
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 // Don't be solid color so the layer has tilings/tiles. 409 // Don't be solid color so the layer has tilings/tiles.
408 client_.set_fill_with_nonsolid_color(true); 410 client_.set_fill_with_nonsolid_color(true);
409 picture_ = FakePictureLayer::Create(layer_settings(), &client_); 411 picture_ = FakePictureLayer::Create(layer_settings(), &client_);
410 picture_->SetBounds(gfx::Size(100, 100)); 412 picture_->SetBounds(gfx::Size(100, 100));
411 pinch_->AddChild(picture_); 413 pinch_->AddChild(picture_);
412 414
413 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch_, nullptr); 415 layer_tree_host()->RegisterViewportLayers(NULL, root, pinch_, nullptr);
414 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); 416 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f);
415 layer_tree_host()->SetRootLayer(root); 417 layer_tree_host()->SetRootLayer(root);
416 LayerTreeHostPictureTest::SetupTree(); 418 LayerTreeHostPictureTest::SetupTree();
419 client_.set_bounds(picture_->bounds());
417 } 420 }
418 421
419 void InitializeSettings(LayerTreeSettings* settings) override { 422 void InitializeSettings(LayerTreeSettings* settings) override {
420 settings->layer_transforms_should_scale_layer_contents = true; 423 settings->layer_transforms_should_scale_layer_contents = true;
421 } 424 }
422 425
423 void BeginTest() override { 426 void BeginTest() override {
424 frame_ = 0; 427 frame_ = 0;
425 draws_in_frame_ = 0; 428 draws_in_frame_ = 0;
426 last_frame_drawn_ = -1; 429 last_frame_drawn_ = -1;
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 int last_frame_drawn_; 557 int last_frame_drawn_;
555 bool ready_to_draw_; 558 bool ready_to_draw_;
556 }; 559 };
557 560
558 // Multi-thread only because in single thread you can't pinch zoom on the 561 // Multi-thread only because in single thread you can't pinch zoom on the
559 // compositor thread. 562 // compositor thread.
560 MULTI_THREAD_TEST_F(LayerTreeHostPictureTestRSLLMembershipWithScale); 563 MULTI_THREAD_TEST_F(LayerTreeHostPictureTestRSLLMembershipWithScale);
561 564
562 } // namespace 565 } // namespace
563 } // namespace cc 566 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698