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

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

Issue 271533011: cc: Move tiling management out of draw properties calculation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments + unit/perf test fails addressed Created 6 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
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 5447 matching lines...) Expand 10 before | Expand all | Expand 10 after
5458 gfx::Size pile_tile_size(3000, 3000); 5458 gfx::Size pile_tile_size(3000, 3000);
5459 scoped_refptr<FakePicturePileImpl> pile(FakePicturePileImpl::CreateFilledPile( 5459 scoped_refptr<FakePicturePileImpl> pile(FakePicturePileImpl::CreateFilledPile(
5460 pile_tile_size, content_layer_bounds)); 5460 pile_tile_size, content_layer_bounds));
5461 5461
5462 scoped_ptr<FakePictureLayerImpl> scoped_content_layer = 5462 scoped_ptr<FakePictureLayerImpl> scoped_content_layer =
5463 FakePictureLayerImpl::CreateWithPile(host_impl_->pending_tree(), 3, pile); 5463 FakePictureLayerImpl::CreateWithPile(host_impl_->pending_tree(), 3, pile);
5464 LayerImpl* content_layer = scoped_content_layer.get(); 5464 LayerImpl* content_layer = scoped_content_layer.get();
5465 scrolling_layer->AddChild(scoped_content_layer.PassAs<LayerImpl>()); 5465 scrolling_layer->AddChild(scoped_content_layer.PassAs<LayerImpl>());
5466 content_layer->SetBounds(content_layer_bounds); 5466 content_layer->SetBounds(content_layer_bounds);
5467 content_layer->SetDrawsContent(true); 5467 content_layer->SetDrawsContent(true);
5468 content_layer->SetContentBounds(content_layer_bounds);
5468 5469
5469 root->SetBounds(root_size); 5470 root->SetBounds(root_size);
5470 5471
5471 gfx::Vector2d scroll_offset(100000, 0); 5472 gfx::Vector2d scroll_offset(100000, 0);
5472 scrolling_layer->SetScrollClipLayer(root->id()); 5473 scrolling_layer->SetScrollClipLayer(root->id());
5473 scrolling_layer->SetScrollOffset(scroll_offset); 5474 scrolling_layer->SetScrollOffset(scroll_offset);
5474 5475
5475 host_impl_->ActivatePendingTree(); 5476 host_impl_->ActivatePendingTree();
5477 host_impl_->active_tree()->UpdateDrawProperties();
5476 5478
5477 host_impl_->active_tree()->UpdateDrawProperties();
5478 ASSERT_EQ(1u, host_impl_->active_tree()->RenderSurfaceLayerList().size()); 5479 ASSERT_EQ(1u, host_impl_->active_tree()->RenderSurfaceLayerList().size());
5479 5480
5480 LayerTreeHostImpl::FrameData frame; 5481 LayerTreeHostImpl::FrameData frame;
5481 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 5482 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
5482 5483
5483 ASSERT_EQ(1u, frame.render_passes.size()); 5484 ASSERT_EQ(1u, frame.render_passes.size());
5484 ASSERT_LE(1u, frame.render_passes[0]->quad_list.size()); 5485 ASSERT_LE(1u, frame.render_passes[0]->quad_list.size());
5485 const DrawQuad* quad = frame.render_passes[0]->quad_list[0]; 5486 const DrawQuad* quad = frame.render_passes[0]->quad_list[0];
5486 5487
5487 float edge[24]; 5488 float edge[24];
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
6544 gfx::Size bounds(100000, 100); 6545 gfx::Size bounds(100000, 100);
6545 6546
6546 host_impl_->CreatePendingTree(); 6547 host_impl_->CreatePendingTree();
6547 6548
6548 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->pending_tree(), 1); 6549 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl_->pending_tree(), 1);
6549 6550
6550 scoped_ptr<FakePictureLayerImpl> layer_with_mask = 6551 scoped_ptr<FakePictureLayerImpl> layer_with_mask =
6551 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 2); 6552 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 2);
6552 6553
6553 layer_with_mask->SetBounds(bounds); 6554 layer_with_mask->SetBounds(bounds);
6555 layer_with_mask->SetContentBounds(bounds);
6554 6556
6555 scoped_ptr<FakePictureLayerImpl> mask = 6557 scoped_ptr<FakePictureLayerImpl> mask =
6556 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 3); 6558 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 3);
6557 6559
6558 mask->SetIsMask(true); 6560 mask->SetIsMask(true);
6559 mask->SetBounds(bounds); 6561 mask->SetBounds(bounds);
6562 mask->SetContentBounds(bounds);
6560 6563
6561 FakePictureLayerImpl* pending_mask_content = mask.get(); 6564 FakePictureLayerImpl* pending_mask_content = mask.get();
6562 layer_with_mask->SetMaskLayer(mask.PassAs<LayerImpl>()); 6565 layer_with_mask->SetMaskLayer(mask.PassAs<LayerImpl>());
6563 6566
6564 scoped_ptr<FakePictureLayerImpl> child_of_layer_with_mask = 6567 scoped_ptr<FakePictureLayerImpl> child_of_layer_with_mask =
6565 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 4); 6568 FakePictureLayerImpl::Create(host_impl_->pending_tree(), 4);
6566 6569
6567 child_of_layer_with_mask->SetBounds(bounds); 6570 child_of_layer_with_mask->SetBounds(bounds);
6568 child_of_layer_with_mask->SetDrawsContent(true); 6571 child_of_layer_with_mask->SetDrawsContent(true);
6572 child_of_layer_with_mask->SetContentBounds(bounds);
6569 6573
6570 layer_with_mask->AddChild(child_of_layer_with_mask.PassAs<LayerImpl>()); 6574 layer_with_mask->AddChild(child_of_layer_with_mask.PassAs<LayerImpl>());
6571 6575
6572 root->AddChild(layer_with_mask.PassAs<LayerImpl>()); 6576 root->AddChild(layer_with_mask.PassAs<LayerImpl>());
6573 6577
6574 host_impl_->pending_tree()->SetRootLayer(root.Pass()); 6578 host_impl_->pending_tree()->SetRootLayer(root.Pass());
6575 6579
6576 gfx::Rect r1 = pending_mask_content->visible_rect_for_tile_priority(); 6580 gfx::Rect r1 = pending_mask_content->visible_rect_for_tile_priority();
6577 ASSERT_EQ(0, r1.x()); 6581 ASSERT_EQ(0, r1.x());
6578 ASSERT_EQ(0, r1.y()); 6582 ASSERT_EQ(0, r1.y());
6579 ASSERT_EQ(0, r1.width()); 6583 ASSERT_EQ(0, r1.width());
6580 ASSERT_EQ(0, r1.height()); 6584 ASSERT_EQ(0, r1.height());
6581 6585
6582 host_impl_->ActivatePendingTree(); 6586 host_impl_->ActivatePendingTree();
6583 6587
6584 host_impl_->active_tree()->UpdateDrawProperties(); 6588 host_impl_->active_tree()->UpdateDrawProperties();
6585 6589
6586 ASSERT_EQ(2u, host_impl_->active_tree()->RenderSurfaceLayerList().size()); 6590 ASSERT_EQ(2u, host_impl_->active_tree()->RenderSurfaceLayerList().size());
6587 6591
6588 FakePictureLayerImpl* active_mask_content = 6592 FakePictureLayerImpl* active_mask_content =
6589 static_cast<FakePictureLayerImpl*>( 6593 static_cast<FakePictureLayerImpl*>(
6590 host_impl_->active_tree()->root_layer()->children()[0]->mask_layer()); 6594 host_impl_->active_tree()->root_layer()->children()[0]->mask_layer());
6591 gfx::Rect r2 = active_mask_content->visible_rect_for_tile_priority(); 6595 gfx::Rect r2 = active_mask_content->visible_rect_for_tile_priority();
6592 6596
6593 ASSERT_TRUE(!r2.IsEmpty()); 6597 ASSERT_TRUE(!r2.IsEmpty());
6594 } 6598 }
6595 6599
6596 } // namespace 6600 } // namespace
6597 } // namespace cc 6601 } // namespace cc
OLDNEW
« cc/trees/layer_tree_host_common.cc ('K') | « cc/trees/layer_tree_host_common.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698