OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_impl.h" | 5 #include "cc/trees/layer_tree_impl.h" |
6 | 6 |
| 7 #include "base/macros.h" |
| 8 #include "cc/animation/mutable_properties.h" |
7 #include "cc/layers/heads_up_display_layer_impl.h" | 9 #include "cc/layers/heads_up_display_layer_impl.h" |
8 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
9 #include "cc/test/geometry_test_utils.h" | 11 #include "cc/test/geometry_test_utils.h" |
10 #include "cc/test/layer_test_common.h" | 12 #include "cc/test/layer_test_common.h" |
11 #include "cc/test/layer_tree_settings_for_testing.h" | 13 #include "cc/test/layer_tree_settings_for_testing.h" |
12 #include "cc/trees/clip_node.h" | 14 #include "cc/trees/clip_node.h" |
13 #include "cc/trees/draw_property_utils.h" | 15 #include "cc/trees/draw_property_utils.h" |
14 #include "cc/trees/layer_tree_host_common.h" | 16 #include "cc/trees/layer_tree_host_common.h" |
15 #include "cc/trees/layer_tree_host_impl.h" | 17 #include "cc/trees/layer_tree_host_impl.h" |
16 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 1992 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2009 EXPECT_FALSE(output.start.visible()); | 2011 EXPECT_FALSE(output.start.visible()); |
2010 | 2012 |
2011 // If the handle bottom is partially visible, the handle is marked visible. | 2013 // If the handle bottom is partially visible, the handle is marked visible. |
2012 input.start.edge_top = gfx::Point(0, -20); | 2014 input.start.edge_top = gfx::Point(0, -20); |
2013 input.start.edge_bottom = gfx::Point(0, 1); | 2015 input.start.edge_bottom = gfx::Point(0, 1); |
2014 host_impl().active_tree()->RegisterSelection(input); | 2016 host_impl().active_tree()->RegisterSelection(input); |
2015 host_impl().active_tree()->GetViewportSelection(&output); | 2017 host_impl().active_tree()->GetViewportSelection(&output); |
2016 EXPECT_TRUE(output.start.visible()); | 2018 EXPECT_TRUE(output.start.visible()); |
2017 } | 2019 } |
2018 | 2020 |
| 2021 TEST_F(LayerTreeImplTest, NodesiesForProxies) { |
| 2022 LayerImpl* root = root_layer(); |
| 2023 root->SetDrawsContent(true); |
| 2024 root->SetBounds(gfx::Size(100, 100)); |
| 2025 |
| 2026 uint32_t properties[] = { |
| 2027 MutableProperty::kOpacity, MutableProperty::kScrollLeft, |
| 2028 MutableProperty::kScrollTop, MutableProperty::kTransform, |
| 2029 }; |
| 2030 |
| 2031 for (size_t i = 0; i < arraysize(properties); ++i) { |
| 2032 int sub_layer_id = i + 2; |
| 2033 std::unique_ptr<LayerImpl> sub_layer = |
| 2034 LayerImpl::Create(host_impl().active_tree(), sub_layer_id); |
| 2035 sub_layer->SetBounds(gfx::Size(50, 50)); |
| 2036 sub_layer->SetDrawsContent(true); |
| 2037 sub_layer->SetMutableProperties(properties[i]); |
| 2038 root->test_properties()->AddChild(std::move(sub_layer)); |
| 2039 } |
| 2040 |
| 2041 host_impl().active_tree()->BuildPropertyTreesForTesting(); |
| 2042 |
| 2043 for (size_t i = 0; i < arraysize(properties); ++i) { |
| 2044 LayerImpl* layer = host_impl().active_tree()->LayerById(i + 2); |
| 2045 switch (properties[i]) { |
| 2046 case MutableProperty::kOpacity: |
| 2047 DCHECK_EQ(root->transform_tree_index(), layer->transform_tree_index()); |
| 2048 DCHECK_NE(root->effect_tree_index(), layer->effect_tree_index()); |
| 2049 break; |
| 2050 case MutableProperty::kScrollLeft: |
| 2051 case MutableProperty::kScrollTop: |
| 2052 case MutableProperty::kTransform: |
| 2053 DCHECK_EQ(root->effect_tree_index(), layer->effect_tree_index()); |
| 2054 DCHECK_NE(root->transform_tree_index(), layer->transform_tree_index()); |
| 2055 for (size_t j = 0; j < arraysize(properties); ++j) { |
| 2056 if (j == i) |
| 2057 continue; |
| 2058 LayerImpl* other = host_impl().active_tree()->LayerById(j + 2); |
| 2059 DCHECK_NE(other->transform_tree_index(), |
| 2060 layer->transform_tree_index()); |
| 2061 } |
| 2062 break; |
| 2063 } |
| 2064 } |
| 2065 } |
| 2066 |
2019 TEST_F(LayerTreeImplTest, SelectionBoundsForScaledLayers) { | 2067 TEST_F(LayerTreeImplTest, SelectionBoundsForScaledLayers) { |
2020 LayerImpl* root = root_layer(); | 2068 LayerImpl* root = root_layer(); |
2021 root->SetDrawsContent(true); | 2069 root->SetDrawsContent(true); |
2022 root->SetBounds(gfx::Size(100, 100)); | 2070 root->SetBounds(gfx::Size(100, 100)); |
2023 | 2071 |
2024 int root_layer_id = root->id(); | 2072 int root_layer_id = root->id(); |
2025 int sub_layer_id = 2; | 2073 int sub_layer_id = 2; |
2026 | 2074 |
2027 gfx::Vector2dF sub_layer_offset(10, 0); | 2075 gfx::Vector2dF sub_layer_offset(10, 0); |
2028 { | 2076 { |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2322 auto weak_promise = promise->AsWeakPtr(); | 2370 auto weak_promise = promise->AsWeakPtr(); |
2323 host_impl().active_tree()->QueueSwapPromise(std::move(promise)); | 2371 host_impl().active_tree()->QueueSwapPromise(std::move(promise)); |
2324 host_impl().active_tree()->BreakSwapPromises( | 2372 host_impl().active_tree()->BreakSwapPromises( |
2325 SwapPromise::DidNotSwapReason::SWAP_FAILS); | 2373 SwapPromise::DidNotSwapReason::SWAP_FAILS); |
2326 EXPECT_FALSE(weak_promise); | 2374 EXPECT_FALSE(weak_promise); |
2327 } | 2375 } |
2328 } | 2376 } |
2329 | 2377 |
2330 } // namespace | 2378 } // namespace |
2331 } // namespace cc | 2379 } // namespace cc |
OLD | NEW |