| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |