diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-20 10:33:36 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-22 11:45:12 +0000 |
commit | be59a35641616a4cf23c4a13fa0632624b021c1b (patch) | |
tree | 9da183258bdf9cc413f7562079d25ace6955467f /chromium/cc/layers/layer_unittest.cc | |
parent | d702e4b6a64574e97fc7df8fe3238cde70242080 (diff) |
BASELINE: Update Chromium to 62.0.3202.101
Change-Id: I2d5eca8117600df6d331f6166ab24d943d9814ac
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/cc/layers/layer_unittest.cc')
-rw-r--r-- | chromium/cc/layers/layer_unittest.cc | 76 |
1 files changed, 52 insertions, 24 deletions
diff --git a/chromium/cc/layers/layer_unittest.cc b/chromium/cc/layers/layer_unittest.cc index 857a69e0cf5..e727164480d 100644 --- a/chromium/cc/layers/layer_unittest.cc +++ b/chromium/cc/layers/layer_unittest.cc @@ -15,8 +15,6 @@ #include "cc/input/main_thread_scrolling_reason.h" #include "cc/layers/layer_impl.h" #include "cc/layers/solid_color_scrollbar_layer.h" -#include "cc/output/copy_output_request.h" -#include "cc/output/copy_output_result.h" #include "cc/test/animation_test_common.h" #include "cc/test/fake_impl_task_runner_provider.h" #include "cc/test/fake_layer_tree_host.h" @@ -30,6 +28,8 @@ #include "cc/trees/mutable_properties.h" #include "cc/trees/single_thread_proxy.h" #include "cc/trees/transform_node.h" +#include "components/viz/common/quads/copy_output_request.h" +#include "components/viz/common/quads/copy_output_result.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/skia/include/core/SkColor.h" @@ -605,14 +605,13 @@ TEST_F(LayerTest, DeleteRemovedScrollParent) { EXPECT_EQ(child1, parent->children()[0]); EXPECT_EQ(child2, parent->children()[1]); - EXPECT_SET_NEEDS_COMMIT(2, child1->SetScrollParent(child2.get())); + EXPECT_SET_NEEDS_COMMIT(1, child1->SetScrollParent(child2.get())); EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, child2->RemoveFromParent()); child1->ResetNeedsPushPropertiesForTesting(); - EXPECT_SET_NEEDS_COMMIT(1, child2 = nullptr); - + EXPECT_SET_NEEDS_COMMIT(1, child1->SetScrollParent(nullptr)); EXPECT_TRUE( layer_tree_host_->LayerNeedsPushPropertiesForTesting(child1.get())); @@ -635,17 +634,9 @@ TEST_F(LayerTest, DeleteRemovedScrollChild) { EXPECT_EQ(child1, parent->children()[0]); EXPECT_EQ(child2, parent->children()[1]); - EXPECT_SET_NEEDS_COMMIT(2, child1->SetScrollParent(child2.get())); + EXPECT_SET_NEEDS_COMMIT(1, child1->SetScrollParent(child2.get())); EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, child1->RemoveFromParent()); - - child2->ResetNeedsPushPropertiesForTesting(); - - EXPECT_SET_NEEDS_COMMIT(1, child1 = nullptr); - - EXPECT_TRUE( - layer_tree_host_->LayerNeedsPushPropertiesForTesting(child2.get())); - EXPECT_SET_NEEDS_FULL_TREE_SYNC(1, layer_tree_host_->SetRootLayer(nullptr)); } @@ -994,6 +985,8 @@ TEST_F(LayerTest, PushPropertiesCausesLayerPropertyChangedForTransform) { test_layer->PushPropertiesTo(impl_layer.get()); EXPECT_TRUE(impl_layer->LayerPropertyChanged()); + EXPECT_FALSE(impl_layer->LayerPropertyChangedFromPropertyTrees()); + EXPECT_TRUE(impl_layer->LayerPropertyChangedNotFromPropertyTrees()); } TEST_F(LayerTest, PushPropertiesCausesLayerPropertyChangedForOpacity) { @@ -1011,6 +1004,8 @@ TEST_F(LayerTest, PushPropertiesCausesLayerPropertyChangedForOpacity) { test_layer->PushPropertiesTo(impl_layer.get()); EXPECT_TRUE(impl_layer->LayerPropertyChanged()); + EXPECT_FALSE(impl_layer->LayerPropertyChangedFromPropertyTrees()); + EXPECT_TRUE(impl_layer->LayerPropertyChangedNotFromPropertyTrees()); } TEST_F(LayerTest, MaskHasParent) { @@ -1314,7 +1309,7 @@ TEST_F(LayerTest, DrawsContentChangedInSetLayerTreeHost) { } void ReceiveCopyOutputResult(int* result_count, - std::unique_ptr<CopyOutputResult> result) { + std::unique_ptr<viz::CopyOutputResult> result) { ++(*result_count); } @@ -1324,11 +1319,12 @@ TEST_F(LayerTest, DedupesCopyOutputRequestsBySource) { // Create identical requests without the source being set, and expect the // layer does not abort either one. - std::unique_ptr<CopyOutputRequest> request = CopyOutputRequest::CreateRequest( - base::BindOnce(&ReceiveCopyOutputResult, &result_count)); + std::unique_ptr<viz::CopyOutputRequest> request = + viz::CopyOutputRequest::CreateRequest( + base::BindOnce(&ReceiveCopyOutputResult, &result_count)); layer->RequestCopyOfOutput(std::move(request)); EXPECT_EQ(0, result_count); - request = CopyOutputRequest::CreateRequest( + request = viz::CopyOutputRequest::CreateRequest( base::BindOnce(&ReceiveCopyOutputResult, &result_count)); layer->RequestCopyOfOutput(std::move(request)); EXPECT_EQ(0, result_count); @@ -1344,27 +1340,27 @@ TEST_F(LayerTest, DedupesCopyOutputRequestsBySource) { // the first request using |kArbitrarySourceId1| aborts immediately when // the second request using |kArbitrarySourceId1| is made. int did_receive_first_result_from_this_source = 0; - request = CopyOutputRequest::CreateRequest(base::BindOnce( + request = viz::CopyOutputRequest::CreateRequest(base::BindOnce( &ReceiveCopyOutputResult, &did_receive_first_result_from_this_source)); request->set_source(kArbitrarySourceId1); layer->RequestCopyOfOutput(std::move(request)); EXPECT_EQ(0, did_receive_first_result_from_this_source); // Make a request from a different source. int did_receive_result_from_different_source = 0; - request = CopyOutputRequest::CreateRequest(base::BindOnce( + request = viz::CopyOutputRequest::CreateRequest(base::BindOnce( &ReceiveCopyOutputResult, &did_receive_result_from_different_source)); request->set_source(kArbitrarySourceId2); layer->RequestCopyOfOutput(std::move(request)); EXPECT_EQ(0, did_receive_result_from_different_source); // Make a request without specifying the source. int did_receive_result_from_anonymous_source = 0; - request = CopyOutputRequest::CreateRequest(base::BindOnce( + request = viz::CopyOutputRequest::CreateRequest(base::BindOnce( &ReceiveCopyOutputResult, &did_receive_result_from_anonymous_source)); layer->RequestCopyOfOutput(std::move(request)); EXPECT_EQ(0, did_receive_result_from_anonymous_source); // Make the second request from |kArbitrarySourceId1|. int did_receive_second_result_from_this_source = 0; - request = CopyOutputRequest::CreateRequest(base::BindOnce( + request = viz::CopyOutputRequest::CreateRequest(base::BindOnce( &ReceiveCopyOutputResult, &did_receive_second_result_from_this_source)); request->set_source(kArbitrarySourceId1); layer->RequestCopyOfOutput( @@ -1433,7 +1429,7 @@ TEST_F(LayerTest, ElementIdAndMutablePropertiesArePushed) { EXPECT_EQ(MutableProperty::kTransform, impl_layer->mutable_properties()); } -TEST_F(LayerTest, NotUsingLayerListsManagesElementId) { +TEST_F(LayerTest, SetLayerTreeHostNotUsingLayerListsManagesElementId) { scoped_refptr<Layer> test_layer = Layer::Create(); ElementId element_id = ElementId(2); test_layer->SetElementId(element_id); @@ -1458,6 +1454,28 @@ TEST_F(LayerTest, NotUsingLayerListsManagesElementId) { EXPECT_EQ(nullptr, layer_tree_host_->LayerByElementId(element_id)); } +TEST_F(LayerTest, SetElementIdNotUsingLayerLists) { + scoped_refptr<Layer> test_layer = Layer::Create(); + test_layer->SetLayerTreeHost(layer_tree_host_.get()); + + EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(2); + ElementId element_id = ElementId(2); + EXPECT_EQ(nullptr, layer_tree_host_->LayerByElementId(element_id)); + + test_layer->SetElementId(element_id); + // Layer should now be registered by element id. + EXPECT_EQ(test_layer, layer_tree_host_->LayerByElementId(element_id)); + + ElementId other_element_id = ElementId(3); + test_layer->SetElementId(other_element_id); + // The layer should have been unregistered from the original element + // id and registered with the new one. + EXPECT_EQ(nullptr, layer_tree_host_->LayerByElementId(element_id)); + EXPECT_EQ(test_layer, layer_tree_host_->LayerByElementId(other_element_id)); + + test_layer->SetLayerTreeHost(nullptr); +} + class LayerTestWithLayerLists : public LayerTest { protected: void SetUp() override { @@ -1466,7 +1484,8 @@ class LayerTestWithLayerLists : public LayerTest { } }; -TEST_F(LayerTestWithLayerLists, UsingLayerListsDoesNotManageElementId) { +TEST_F(LayerTestWithLayerLists, + SetLayerTreeHostUsingLayerListsDoesNotManageElementId) { scoped_refptr<Layer> test_layer = Layer::Create(); ElementId element_id = ElementId(2); test_layer->SetElementId(element_id); @@ -1490,5 +1509,14 @@ TEST_F(LayerTestWithLayerLists, UsingLayerListsDoesNotManageElementId) { EXPECT_EQ(nullptr, layer_tree_host_->LayerByElementId(element_id)); } +TEST_F(LayerTestWithLayerLists, SetElementIdUsingLayerLists) { + scoped_refptr<Layer> test_layer = Layer::Create(); + ElementId element_id = ElementId(2); + test_layer->SetElementId(element_id); + + EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(0); + EXPECT_EQ(nullptr, layer_tree_host_->LayerByElementId(element_id)); +} + } // namespace } // namespace cc |