Index: cc/trees/layer_tree_host_common_unittest.cc |
diff --git a/cc/trees/layer_tree_host_common_unittest.cc b/cc/trees/layer_tree_host_common_unittest.cc |
index dd4e8c1e025bbfdc137aa2304c9e18ebdff00f4d..1c1eba9f23961a73c7ef950a3c623daf09c0ec54 100644 |
--- a/cc/trees/layer_tree_host_common_unittest.cc |
+++ b/cc/trees/layer_tree_host_common_unittest.cc |
@@ -9948,19 +9948,20 @@ TEST_F(LayerTreeHostCommonTest, SerializeScrollAndScale) { |
TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
// Test the behavior of scroll tree builder |
// Topology: |
- // +root1(1) |
- // +--parent2(2)[kHasBackgroundAttachmentFixedObjects|kScrollbarScrolling & |
- // scrollable] |
- // +----child6(6)[kScrollbarScrolling] |
- // +------grand_child10(10)[kScrollbarScrolling] |
- // +--parent3(3) |
- // +----child7(7)[scrollable] |
- // +----child8(8)[scroll_parent=7] |
- // +------grand_child11(11)[scrollable] |
- // +--parent4(4) |
- // +----child9(9) |
- // +------grand_child12(12) |
- // +--parent5(5)[contains_non_fast_scrollable_region] |
+ // +root1(1)[inner_viewport_container_layer] |
+ // +-page_scale_layer |
+ // +----parent2(2)[kHasBackgroundAttachmentFixedObjects|kScrollbarScrolling & |
+ // scrollable, inner_viewport_scroll_layer] |
+ // +------child6(6)[kScrollbarScrolling] |
+ // +--------grand_child10(10)[kScrollbarScrolling] |
+ // +----parent3(3) |
+ // +------child7(7)[scrollable] |
+ // +------child8(8)[scroll_parent=7] |
+ // +--------grand_child11(11)[scrollable] |
+ // +----parent4(4) |
+ // +------child9(9) |
+ // +--------grand_child12(12) |
+ // +----parent5(5)[contains_non_fast_scrollable_region] |
// |
// Expected scroll tree topology: |
// +property_tree_root---owner:-1 |
@@ -9980,6 +9981,7 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
// child9:1 |
// grand_child12:1 |
scoped_refptr<Layer> root1 = Layer::Create(layer_settings()); |
+ scoped_refptr<Layer> page_scale_layer = Layer::Create(layer_settings()); |
scoped_refptr<Layer> parent2 = Layer::Create(layer_settings()); |
scoped_refptr<Layer> parent3 = Layer::Create(layer_settings()); |
scoped_refptr<Layer> parent4 = Layer::Create(layer_settings()); |
@@ -9992,10 +9994,11 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scoped_refptr<Layer> grand_child11 = Layer::Create(layer_settings()); |
scoped_refptr<Layer> grand_child12 = Layer::Create(layer_settings()); |
- root1->AddChild(parent2); |
- root1->AddChild(parent3); |
- root1->AddChild(parent4); |
- root1->AddChild(parent5); |
+ root1->AddChild(page_scale_layer); |
+ page_scale_layer->AddChild(parent2); |
+ page_scale_layer->AddChild(parent3); |
+ page_scale_layer->AddChild(parent4); |
+ page_scale_layer->AddChild(parent5); |
parent2->AddChild(child6); |
parent3->AddChild(child7); |
parent3->AddChild(child8); |
@@ -10015,12 +10018,15 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
grand_child10->AddMainThreadScrollingReasons( |
MainThreadScrollingReason::kScrollbarScrolling); |
- child7->SetScrollClipLayerId(root1->id()); |
+ child7->SetScrollClipLayerId(parent3->id()); |
+ |
child8->SetScrollParent(child7.get()); |
- grand_child11->SetScrollClipLayerId(root1->id()); |
+ grand_child11->SetScrollClipLayerId(parent3->id()); |
parent5->SetNonFastScrollableRegion(gfx::Rect(0, 0, 50, 50)); |
+ parent5->SetBounds(gfx::Size(10, 10)); |
+ host()->RegisterViewportLayers(NULL, page_scale_layer, parent2, NULL); |
ExecuteCalculateDrawPropertiesWithPropertyTrees(root1.get()); |
const int kInvalidPropertyTreeNodeId = -1; |
@@ -10037,13 +10043,11 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
property_tree_root->data.main_thread_scrolling_reasons = |
MainThreadScrollingReason::kNotScrollingOnMain; |
property_tree_root->data.contains_non_fast_scrollable_region = false; |
- property_tree_root->data.transform_id = kRootPropertyTreeNodeId; |
// The node owned by root1 |
ScrollNode scroll_root1; |
scroll_root1.id = 1; |
scroll_root1.owner_id = root1->id(); |
- scroll_root1.data.transform_id = root1->transform_tree_index(); |
expected_scroll_tree.Insert(scroll_root1, 0); |
// The node owned by parent2 |
@@ -10053,7 +10057,10 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scroll_parent2.data.scrollable = true; |
scroll_parent2.data.main_thread_scrolling_reasons = |
parent2->main_thread_scrolling_reasons(); |
- scroll_parent2.data.transform_id = parent2->transform_tree_index(); |
+ scroll_parent2.data.scroll_clip_layer_bounds = root1->bounds(); |
+ scroll_parent2.data.bounds = parent2->bounds(); |
+ scroll_parent2.data.max_scroll_offset_affected_by_page_scale = true; |
+ scroll_parent2.data.is_inner_viewport_scroll_layer = true; |
expected_scroll_tree.Insert(scroll_parent2, 1); |
// The node owned by child6 |
@@ -10062,7 +10069,6 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scroll_child6.owner_id = child6->id(); |
scroll_child6.data.main_thread_scrolling_reasons = |
child6->main_thread_scrolling_reasons(); |
- scroll_child6.data.transform_id = child6->transform_tree_index(); |
expected_scroll_tree.Insert(scroll_child6, 2); |
// The node owned by child7, child7 also owns a transform node |
@@ -10070,7 +10076,8 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scroll_child7.id = 4; |
scroll_child7.owner_id = child7->id(); |
scroll_child7.data.scrollable = true; |
- scroll_child7.data.transform_id = child7->transform_tree_index(); |
+ scroll_parent2.data.scroll_clip_layer_bounds = parent3->bounds(); |
+ scroll_parent2.data.bounds = child7->bounds(); |
expected_scroll_tree.Insert(scroll_child7, 1); |
// The node owned by grand_child11, grand_child11 also owns a transform node |
@@ -10078,8 +10085,6 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scroll_grand_child11.id = 5; |
scroll_grand_child11.owner_id = grand_child11->id(); |
scroll_grand_child11.data.scrollable = true; |
- scroll_grand_child11.data.transform_id = |
- grand_child11->transform_tree_index(); |
expected_scroll_tree.Insert(scroll_grand_child11, 4); |
// The node owned by parent5 |
@@ -10087,7 +10092,7 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
scroll_parent5.id = 8; |
scroll_parent5.owner_id = parent5->id(); |
scroll_parent5.data.contains_non_fast_scrollable_region = true; |
- scroll_parent5.data.transform_id = parent5->transform_tree_index(); |
+ scroll_parent5.data.bounds = gfx::Size(10, 10); |
expected_scroll_tree.Insert(scroll_parent5, 1); |
expected_scroll_tree.set_needs_update(false); |
@@ -10095,6 +10100,7 @@ TEST_F(LayerTreeHostCommonTest, ScrollTreeBuilderTest) { |
EXPECT_EQ(expected_scroll_tree, scroll_tree); |
// Check other layers' scroll_tree_index |
+ EXPECT_EQ(scroll_root1.id, page_scale_layer->scroll_tree_index()); |
EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); |
EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); |
EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); |