OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "platform/graphics/paint/PropertyTreeState.h" | 5 #include "platform/graphics/paint/PropertyTreeState.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace blink { | 9 namespace blink { |
10 | 10 |
11 class PropertyTreeStateTest : public ::testing::Test {}; | 11 class PropertyTreeStateTest : public ::testing::Test {}; |
12 | 12 |
13 TEST_F(PropertyTreeStateTest, TrasformOnEffectOnClip) { | 13 TEST_F(PropertyTreeStateTest, TransformOnEffectOnClip) { |
14 RefPtr<TransformPaintPropertyNode> transform = | 14 RefPtr<TransformPaintPropertyNode> transform = |
15 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), | 15 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), |
16 TransformationMatrix(), | 16 TransformationMatrix(), |
17 FloatPoint3D()); | 17 FloatPoint3D()); |
18 | 18 |
19 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( | 19 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( |
20 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(), | 20 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
21 FloatRoundedRect()); | 21 FloatRoundedRect()); |
22 | 22 |
23 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( | 23 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 PropertyTreeState state(transform.get(), clip.get(), effect.get(), | 146 PropertyTreeState state(transform.get(), clip.get(), effect.get(), |
147 ScrollPaintPropertyNode::root()); | 147 ScrollPaintPropertyNode::root()); |
148 EXPECT_EQ(PropertyTreeState::Effect, state.innermostNode()); | 148 EXPECT_EQ(PropertyTreeState::Effect, state.innermostNode()); |
149 | 149 |
150 PropertyTreeStateIterator iterator(state); | 150 PropertyTreeStateIterator iterator(state); |
151 EXPECT_EQ(PropertyTreeState::Transform, iterator.next()->innermostNode()); | 151 EXPECT_EQ(PropertyTreeState::Transform, iterator.next()->innermostNode()); |
152 EXPECT_EQ(PropertyTreeState::Clip, iterator.next()->innermostNode()); | 152 EXPECT_EQ(PropertyTreeState::Clip, iterator.next()->innermostNode()); |
153 EXPECT_EQ(PropertyTreeState::None, iterator.next()->innermostNode()); | 153 EXPECT_EQ(PropertyTreeState::None, iterator.next()->innermostNode()); |
154 } | 154 } |
155 | 155 |
| 156 TEST_F(PropertyTreeStateTest, CompositorElementIdNoElementIdOnAnyNode) { |
| 157 PropertyTreeState state( |
| 158 TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), |
| 159 EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root()); |
| 160 EXPECT_EQ(CompositorElementId(), state.compositorElementId()); |
| 161 } |
| 162 |
| 163 TEST_F(PropertyTreeStateTest, CompositorElementIdWithElementIdOnScrollNode) { |
| 164 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0); |
| 165 RefPtr<ScrollPaintPropertyNode> scroll = ScrollPaintPropertyNode::create( |
| 166 ScrollPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 167 IntSize(), IntSize(), true, false, 0, expectedCompositorElementId); |
| 168 PropertyTreeState state(TransformPaintPropertyNode::root(), |
| 169 ClipPaintPropertyNode::root(), |
| 170 EffectPaintPropertyNode::root(), scroll.get()); |
| 171 EXPECT_EQ(expectedCompositorElementId, state.compositorElementId()); |
| 172 } |
| 173 |
| 174 TEST_F(PropertyTreeStateTest, CompositorElementIdWithElementIdOnTransformNode) { |
| 175 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0); |
| 176 RefPtr<TransformPaintPropertyNode> transform = |
| 177 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), |
| 178 TransformationMatrix(), FloatPoint3D(), |
| 179 false, 0, CompositingReasonNone, |
| 180 expectedCompositorElementId); |
| 181 PropertyTreeState state(transform.get(), ClipPaintPropertyNode::root(), |
| 182 EffectPaintPropertyNode::root(), |
| 183 ScrollPaintPropertyNode::root()); |
| 184 EXPECT_EQ(expectedCompositorElementId, state.compositorElementId()); |
| 185 } |
| 186 |
| 187 TEST_F(PropertyTreeStateTest, CompositorElementIdWithElementIdOnEffectNode) { |
| 188 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0); |
| 189 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( |
| 190 EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 191 ClipPaintPropertyNode::root(), CompositorFilterOperations(), 1.0, |
| 192 SkBlendMode::kSrcOver, CompositingReasonNone, |
| 193 expectedCompositorElementId); |
| 194 PropertyTreeState state(TransformPaintPropertyNode::root(), |
| 195 ClipPaintPropertyNode::root(), effect.get(), |
| 196 ScrollPaintPropertyNode::root()); |
| 197 EXPECT_EQ(expectedCompositorElementId, state.compositorElementId()); |
| 198 } |
| 199 |
| 200 TEST_F(PropertyTreeStateTest, CompositorElementIdWithElementIdOnMultipleNodes) { |
| 201 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0); |
| 202 RefPtr<ScrollPaintPropertyNode> scroll = ScrollPaintPropertyNode::create( |
| 203 ScrollPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 204 IntSize(), IntSize(), true, false, 0, expectedCompositorElementId); |
| 205 RefPtr<TransformPaintPropertyNode> transform = |
| 206 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), |
| 207 TransformationMatrix(), FloatPoint3D(), |
| 208 false, 0, CompositingReasonNone, |
| 209 expectedCompositorElementId); |
| 210 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( |
| 211 EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 212 ClipPaintPropertyNode::root(), CompositorFilterOperations(), 1.0, |
| 213 SkBlendMode::kSrcOver, CompositingReasonNone, |
| 214 expectedCompositorElementId); |
| 215 PropertyTreeState state(transform.get(), ClipPaintPropertyNode::root(), |
| 216 effect.get(), scroll.get()); |
| 217 EXPECT_EQ(expectedCompositorElementId, state.compositorElementId()); |
| 218 } |
| 219 |
156 } // namespace blink | 220 } // namespace blink |
OLD | NEW |