Index: cc/layers/layer_unittest.cc |
diff --git a/cc/layers/layer_unittest.cc b/cc/layers/layer_unittest.cc |
index 7a1cb796363805e0870cbf0a7befec93625cfa0f..1dd6ca3b8b5717727ded1ddd1b7bd7a1602ef4b8 100644 |
--- a/cc/layers/layer_unittest.cc |
+++ b/cc/layers/layer_unittest.cc |
@@ -336,6 +336,56 @@ TEST_F(LayerTest, ReplaceChildWithNewChildThatHasOtherParent) { |
EXPECT_FALSE(child2_->parent()); |
} |
+TEST_F(LayerTest, DeleteRemovedScrollParent) { |
+ scoped_refptr<Layer> parent = Layer::Create(); |
+ scoped_refptr<Layer> child1 = Layer::Create(); |
+ scoped_refptr<Layer> child2 = Layer::Create(); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
+ |
+ ASSERT_EQ(0U, parent->children().size()); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->InsertChild(child1, 0)); |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->InsertChild(child2, 1)); |
+ |
+ ASSERT_EQ(2U, parent->children().size()); |
+ EXPECT_EQ(child1, parent->children()[0]); |
+ EXPECT_EQ(child2, parent->children()[1]); |
+ |
+ EXPECT_SET_NEEDS_COMMIT(2, child1->SetScrollParent(child2.get())); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, child2->RemoveFromParent()); |
+ |
+ EXPECT_SET_NEEDS_COMMIT(1, child2 = NULL); |
danakj
2014/09/13 12:49:42
can you also reset child1->needs_push_properties()
Ian Vollick
2014/09/13 14:51:23
Done.
|
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(NULL)); |
+} |
+ |
+TEST_F(LayerTest, DeleteRemovedScrollChild) { |
+ scoped_refptr<Layer> parent = Layer::Create(); |
+ scoped_refptr<Layer> child1 = Layer::Create(); |
+ scoped_refptr<Layer> child2 = Layer::Create(); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(parent)); |
+ |
+ ASSERT_EQ(0U, parent->children().size()); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->InsertChild(child1, 0)); |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, parent->InsertChild(child2, 1)); |
+ |
+ ASSERT_EQ(2U, parent->children().size()); |
+ EXPECT_EQ(child1, parent->children()[0]); |
+ EXPECT_EQ(child2, parent->children()[1]); |
+ |
+ EXPECT_SET_NEEDS_COMMIT(2, child1->SetScrollParent(child2.get())); |
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, child1->RemoveFromParent()); |
+ |
+ EXPECT_SET_NEEDS_COMMIT(1, child1 = NULL); |
danakj
2014/09/13 12:49:42
can you also reset child2->needs_push_properties()
Ian Vollick
2014/09/13 14:51:23
Done.
|
+ |
+ EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(NULL)); |
+} |
+ |
TEST_F(LayerTest, ReplaceChildWithSameChild) { |
CreateSimpleTestTree(); |