Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1595)

Side by Side Diff: third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp

Issue 2651093003: Make scroll translation transform nodes reference scroll nodes (Closed)
Patch Set: Add note about scroll tree differences Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/compositing/PaintArtifactCompositor.h" 5 #include "platform/graphics/compositing/PaintArtifactCompositor.h"
6 6
7 #include "base/test/test_simple_task_runner.h" 7 #include "base/test/test_simple_task_runner.h"
8 #include "base/threading/thread_task_runner_handle.h" 8 #include "base/threading/thread_task_runner_handle.h"
9 #include "cc/layers/layer.h" 9 #include "cc/layers/layer.h"
10 #include "cc/test/fake_compositor_frame_sink.h" 10 #include "cc/test/fake_compositor_frame_sink.h"
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::white))); 165 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::white)));
166 EXPECT_EQ(translation(50, -50), child->screen_space_transform()); 166 EXPECT_EQ(translation(50, -50), child->screen_space_transform());
167 EXPECT_EQ(gfx::Size(100, 100), child->bounds()); 167 EXPECT_EQ(gfx::Size(100, 100), child->bounds());
168 } 168 }
169 169
170 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneTransform) { 170 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneTransform) {
171 // A 90 degree clockwise rotation about (100, 100). 171 // A 90 degree clockwise rotation about (100, 100).
172 RefPtr<TransformPaintPropertyNode> transform = 172 RefPtr<TransformPaintPropertyNode> transform =
173 TransformPaintPropertyNode::create( 173 TransformPaintPropertyNode::create(
174 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90), 174 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
175 FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform); 175 FloatPoint3D(100, 100, 0), nullptr, false, 0,
176 CompositingReason3DTransform);
176 177
177 TestPaintArtifact artifact; 178 TestPaintArtifact artifact;
178 artifact 179 artifact
179 .chunk(transform, ClipPaintPropertyNode::root(), 180 .chunk(transform, ClipPaintPropertyNode::root(),
180 EffectPaintPropertyNode::root()) 181 EffectPaintPropertyNode::root())
181 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 182 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
182 artifact 183 artifact
183 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 184 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
184 EffectPaintPropertyNode::root()) 185 EffectPaintPropertyNode::root())
185 .rectDrawing(FloatRect(0, 0, 100, 100), Color::gray); 186 .rectDrawing(FloatRect(0, 0, 100, 100), Color::gray);
(...skipping 25 matching lines...) Expand all
211 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::gray))); 212 Pointee(drawsRectangle(FloatRect(0, 0, 100, 100), Color::gray)));
212 EXPECT_EQ(gfx::Transform(), layer->screen_space_transform()); 213 EXPECT_EQ(gfx::Transform(), layer->screen_space_transform());
213 } 214 }
214 } 215 }
215 216
216 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformCombining) { 217 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformCombining) {
217 // A translation by (5, 5) within a 2x scale about (10, 10). 218 // A translation by (5, 5) within a 2x scale about (10, 10).
218 RefPtr<TransformPaintPropertyNode> transform1 = 219 RefPtr<TransformPaintPropertyNode> transform1 =
219 TransformPaintPropertyNode::create( 220 TransformPaintPropertyNode::create(
220 TransformPaintPropertyNode::root(), TransformationMatrix().scale(2), 221 TransformPaintPropertyNode::root(), TransformationMatrix().scale(2),
221 FloatPoint3D(10, 10, 0), false, 0, CompositingReason3DTransform); 222 FloatPoint3D(10, 10, 0), nullptr, false, 0,
223 CompositingReason3DTransform);
222 RefPtr<TransformPaintPropertyNode> transform2 = 224 RefPtr<TransformPaintPropertyNode> transform2 =
223 TransformPaintPropertyNode::create( 225 TransformPaintPropertyNode::create(
224 transform1, TransformationMatrix().translate(5, 5), FloatPoint3D(), 226 transform1, TransformationMatrix().translate(5, 5), FloatPoint3D(),
225 false, 0, CompositingReason3DTransform); 227 nullptr, false, 0, CompositingReason3DTransform);
226 228
227 TestPaintArtifact artifact; 229 TestPaintArtifact artifact;
228 artifact 230 artifact
229 .chunk(transform1, ClipPaintPropertyNode::root(), 231 .chunk(transform1, ClipPaintPropertyNode::root(),
230 EffectPaintPropertyNode::root()) 232 EffectPaintPropertyNode::root())
231 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white); 233 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white);
232 artifact 234 artifact
233 .chunk(transform2, ClipPaintPropertyNode::root(), 235 .chunk(transform2, ClipPaintPropertyNode::root(),
234 EffectPaintPropertyNode::root()) 236 EffectPaintPropertyNode::root())
235 .rectDrawing(FloatRect(0, 0, 300, 200), Color::black); 237 .rectDrawing(FloatRect(0, 0, 300, 200), Color::black);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), 273 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(),
272 TransformationMatrix(), 274 TransformationMatrix(),
273 FloatPoint3D()); 275 FloatPoint3D());
274 RefPtr<TransformPaintPropertyNode> transform2 = 276 RefPtr<TransformPaintPropertyNode> transform2 =
275 TransformPaintPropertyNode::create( 277 TransformPaintPropertyNode::create(
276 transform1, TransformationMatrix().rotate3d(0, 45, 0), 278 transform1, TransformationMatrix().rotate3d(0, 45, 0),
277 FloatPoint3D()); 279 FloatPoint3D());
278 RefPtr<TransformPaintPropertyNode> transform3 = 280 RefPtr<TransformPaintPropertyNode> transform3 =
279 TransformPaintPropertyNode::create( 281 TransformPaintPropertyNode::create(
280 transform2, TransformationMatrix().rotate3d(0, 45, 0), 282 transform2, TransformationMatrix().rotate3d(0, 45, 0),
281 FloatPoint3D(), transformIsFlattened); 283 FloatPoint3D(), nullptr, transformIsFlattened);
282 284
283 TestPaintArtifact artifact; 285 TestPaintArtifact artifact;
284 artifact 286 artifact
285 .chunk(transform3, ClipPaintPropertyNode::root(), 287 .chunk(transform3, ClipPaintPropertyNode::root(),
286 EffectPaintPropertyNode::root()) 288 EffectPaintPropertyNode::root())
287 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white); 289 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white);
288 update(artifact.build()); 290 update(artifact.build());
289 291
290 ASSERT_EQ(1u, contentLayerCount()); 292 ASSERT_EQ(1u, contentLayerCount());
291 const cc::Layer* layer = contentLayerAt(0); 293 const cc::Layer* layer = contentLayerAt(0);
(...skipping 26 matching lines...) Expand all
318 320
319 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, SortingContextID) { 321 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, SortingContextID) {
320 // Has no 3D rendering context. 322 // Has no 3D rendering context.
321 RefPtr<TransformPaintPropertyNode> transform1 = 323 RefPtr<TransformPaintPropertyNode> transform1 =
322 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), 324 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(),
323 TransformationMatrix(), 325 TransformationMatrix(),
324 FloatPoint3D()); 326 FloatPoint3D());
325 // Establishes a 3D rendering context. 327 // Establishes a 3D rendering context.
326 RefPtr<TransformPaintPropertyNode> transform2 = 328 RefPtr<TransformPaintPropertyNode> transform2 =
327 TransformPaintPropertyNode::create(transform1, TransformationMatrix(), 329 TransformPaintPropertyNode::create(transform1, TransformationMatrix(),
328 FloatPoint3D(), false, 1, 330 FloatPoint3D(), nullptr, false, 1,
329 CompositingReason3DTransform); 331 CompositingReason3DTransform);
330 // Extends the 3D rendering context of transform2. 332 // Extends the 3D rendering context of transform2.
331 RefPtr<TransformPaintPropertyNode> transform3 = 333 RefPtr<TransformPaintPropertyNode> transform3 =
332 TransformPaintPropertyNode::create(transform2, TransformationMatrix(), 334 TransformPaintPropertyNode::create(transform2, TransformationMatrix(),
333 FloatPoint3D(), false, 1, 335 FloatPoint3D(), nullptr, false, 1,
334 CompositingReason3DTransform); 336 CompositingReason3DTransform);
335 // Establishes a 3D rendering context distinct from transform2. 337 // Establishes a 3D rendering context distinct from transform2.
336 RefPtr<TransformPaintPropertyNode> transform4 = 338 RefPtr<TransformPaintPropertyNode> transform4 =
337 TransformPaintPropertyNode::create(transform2, TransformationMatrix(), 339 TransformPaintPropertyNode::create(transform2, TransformationMatrix(),
338 FloatPoint3D(), false, 2, 340 FloatPoint3D(), nullptr, false, 2,
339 CompositingReason3DTransform); 341 CompositingReason3DTransform);
340 342
341 TestPaintArtifact artifact; 343 TestPaintArtifact artifact;
342 artifact 344 artifact
343 .chunk(transform1, ClipPaintPropertyNode::root(), 345 .chunk(transform1, ClipPaintPropertyNode::root(),
344 EffectPaintPropertyNode::root()) 346 EffectPaintPropertyNode::root())
345 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white); 347 .rectDrawing(FloatRect(0, 0, 300, 200), Color::white);
346 artifact 348 artifact
347 .chunk(transform2, ClipPaintPropertyNode::root(), 349 .chunk(transform2, ClipPaintPropertyNode::root(),
348 EffectPaintPropertyNode::root()) 350 EffectPaintPropertyNode::root())
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 const cc::EffectNode& convertedEffect3 = *effectTree.Node(4); 664 const cc::EffectNode& convertedEffect3 = *effectTree.Node(4);
663 EXPECT_EQ(convertedRootEffect.id, convertedEffect3.parent_id); 665 EXPECT_EQ(convertedRootEffect.id, convertedEffect3.parent_id);
664 EXPECT_FLOAT_EQ(0.2, convertedEffect3.opacity); 666 EXPECT_FLOAT_EQ(0.2, convertedEffect3.opacity);
665 667
666 EXPECT_EQ(convertedEffect2.id, contentLayerAt(0)->effect_tree_index()); 668 EXPECT_EQ(convertedEffect2.id, contentLayerAt(0)->effect_tree_index());
667 EXPECT_EQ(convertedEffect1.id, contentLayerAt(1)->effect_tree_index()); 669 EXPECT_EQ(convertedEffect1.id, contentLayerAt(1)->effect_tree_index());
668 EXPECT_EQ(convertedEffect3.id, contentLayerAt(2)->effect_tree_index()); 670 EXPECT_EQ(convertedEffect3.id, contentLayerAt(2)->effect_tree_index());
669 } 671 }
670 672
671 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneScrollNode) { 673 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneScrollNode) {
674 RefPtr<ScrollPaintPropertyNode> scroll = ScrollPaintPropertyNode::create(
675 ScrollPaintPropertyNode::root(), IntSize(11, 13), IntSize(27, 31), true,
676 false, 0 /* mainThreadScrollingReasons */);
677 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0);
672 RefPtr<TransformPaintPropertyNode> scrollTranslation = 678 RefPtr<TransformPaintPropertyNode> scrollTranslation =
673 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), 679 TransformPaintPropertyNode::create(
674 TransformationMatrix().translate(7, 9), 680 TransformPaintPropertyNode::root(),
675 FloatPoint3D()); 681 TransformationMatrix().translate(7, 9), FloatPoint3D(), scroll.get(),
676 CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0); 682 false, 0, CompositingReasonNone, expectedCompositorElementId);
677 RefPtr<ScrollPaintPropertyNode> scroll = ScrollPaintPropertyNode::create(
678 ScrollPaintPropertyNode::root(), scrollTranslation, IntSize(11, 13),
679 IntSize(27, 31), true, false, 0 /* mainThreadScrollingReasons */,
680 expectedCompositorElementId);
681 683
682 TestPaintArtifact artifact; 684 TestPaintArtifact artifact;
683 artifact 685 artifact
684 .chunk(scrollTranslation, ClipPaintPropertyNode::root(), 686 .chunk(scrollTranslation, ClipPaintPropertyNode::root(),
685 EffectPaintPropertyNode::root(), scroll) 687 EffectPaintPropertyNode::root(), scroll)
686 .rectDrawing(FloatRect(11, 13, 17, 19), Color::white); 688 .rectDrawing(FloatRect(11, 13, 17, 19), Color::white);
687 update(artifact.build()); 689 update(artifact.build());
688 690
689 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree; 691 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree;
690 // Node #0 reserved for null; #1 for root render surface. 692 // Node #0 reserved for null; #1 for root render surface.
(...skipping 16 matching lines...) Expand all
707 EXPECT_EQ(gfx::ScrollOffset(-7, -9), transformNode.scroll_offset); 709 EXPECT_EQ(gfx::ScrollOffset(-7, -9), transformNode.scroll_offset);
708 710
709 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, 711 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain,
710 scrollNode.main_thread_scrolling_reasons); 712 scrollNode.main_thread_scrolling_reasons);
711 } 713 }
712 714
713 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) { 715 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) {
714 RefPtr<EffectPaintPropertyNode> effect = 716 RefPtr<EffectPaintPropertyNode> effect =
715 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5); 717 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5);
716 718
719 RefPtr<ScrollPaintPropertyNode> scrollA = ScrollPaintPropertyNode::create(
720 ScrollPaintPropertyNode::root(), IntSize(2, 3), IntSize(5, 7), false,
721 true, MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
717 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0); 722 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0);
718 CompositorElementId expectedCompositorElementIdB = CompositorElementId(3, 0);
719 RefPtr<TransformPaintPropertyNode> scrollTranslationA = 723 RefPtr<TransformPaintPropertyNode> scrollTranslationA =
720 TransformPaintPropertyNode::create( 724 TransformPaintPropertyNode::create(
721 TransformPaintPropertyNode::root(), 725 TransformPaintPropertyNode::root(),
722 TransformationMatrix().translate(11, 13), FloatPoint3D()); 726 TransformationMatrix().translate(11, 13), FloatPoint3D(),
723 RefPtr<ScrollPaintPropertyNode> scrollA = ScrollPaintPropertyNode::create( 727 scrollA.get(), false, 0, CompositingReasonNone,
724 ScrollPaintPropertyNode::root(), scrollTranslationA, IntSize(2, 3), 728 expectedCompositorElementIdA);
725 IntSize(5, 7), false, true, 729 RefPtr<ScrollPaintPropertyNode> scrollB = ScrollPaintPropertyNode::create(
726 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects, 730 scrollA, IntSize(19, 23), IntSize(29, 31), true, false,
727 expectedCompositorElementIdA); 731 0 /* mainThreadScrollingReasons */);
732 CompositorElementId expectedCompositorElementIdB = CompositorElementId(3, 0);
728 RefPtr<TransformPaintPropertyNode> scrollTranslationB = 733 RefPtr<TransformPaintPropertyNode> scrollTranslationB =
729 TransformPaintPropertyNode::create( 734 TransformPaintPropertyNode::create(
730 scrollTranslationA, TransformationMatrix().translate(37, 41), 735 scrollTranslationA, TransformationMatrix().translate(37, 41),
731 FloatPoint3D()); 736 FloatPoint3D(), scrollB.get(), false, 0, CompositingReasonNone,
732 RefPtr<ScrollPaintPropertyNode> scrollB = ScrollPaintPropertyNode::create( 737 expectedCompositorElementIdB);
733 scrollA, scrollTranslationB, IntSize(19, 23), IntSize(29, 31), true,
734 false, 0 /* mainThreadScrollingReasons */, expectedCompositorElementIdB);
735 TestPaintArtifact artifact; 738 TestPaintArtifact artifact;
736 artifact 739 artifact
737 .chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect, scrollA) 740 .chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect, scrollA)
738 .rectDrawing(FloatRect(7, 11, 13, 17), Color::white); 741 .rectDrawing(FloatRect(7, 11, 13, 17), Color::white);
739 artifact 742 artifact
740 .chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect, scrollB) 743 .chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect, scrollB)
741 .rectDrawing(FloatRect(1, 2, 3, 5), Color::white); 744 .rectDrawing(FloatRect(1, 2, 3, 5), Color::white);
742 update(artifact.build()); 745 update(artifact.build());
743 746
744 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree; 747 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 const cc::Layer* layer = contentLayerAt(0); 862 const cc::Layer* layer = contentLayerAt(0);
860 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor))); 863 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor)));
861 } 864 }
862 } 865 }
863 866
864 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, Merge2DTransform) { 867 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, Merge2DTransform) {
865 RefPtr<TransformPaintPropertyNode> transform = 868 RefPtr<TransformPaintPropertyNode> transform =
866 TransformPaintPropertyNode::create( 869 TransformPaintPropertyNode::create(
867 TransformPaintPropertyNode::root(), 870 TransformPaintPropertyNode::root(),
868 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0), 871 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
869 false, 0); 872 nullptr, false, 0);
870 873
871 TestPaintArtifact testArtifact; 874 TestPaintArtifact testArtifact;
872 testArtifact 875 testArtifact
873 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 876 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
874 EffectPaintPropertyNode::root()) 877 EffectPaintPropertyNode::root())
875 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 878 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
876 testArtifact 879 testArtifact
877 .chunk(transform.get(), ClipPaintPropertyNode::root(), 880 .chunk(transform.get(), ClipPaintPropertyNode::root(),
878 EffectPaintPropertyNode::root()) 881 EffectPaintPropertyNode::root())
879 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black); 882 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black);
(...skipping 28 matching lines...) Expand all
908 const cc::Layer* layer = contentLayerAt(0); 911 const cc::Layer* layer = contentLayerAt(0);
909 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor))); 912 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor)));
910 } 913 }
911 } 914 }
912 915
913 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, 916 TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
914 Merge2DTransformDirectAncestor) { 917 Merge2DTransformDirectAncestor) {
915 RefPtr<TransformPaintPropertyNode> transform = 918 RefPtr<TransformPaintPropertyNode> transform =
916 TransformPaintPropertyNode::create( 919 TransformPaintPropertyNode::create(
917 TransformPaintPropertyNode::root(), TransformationMatrix(), 920 TransformPaintPropertyNode::root(), TransformationMatrix(),
918 FloatPoint3D(), false, 0, CompositingReason3DTransform); 921 FloatPoint3D(), nullptr, false, 0, CompositingReason3DTransform);
919 922
920 RefPtr<TransformPaintPropertyNode> transform2 = 923 RefPtr<TransformPaintPropertyNode> transform2 =
921 TransformPaintPropertyNode::create( 924 TransformPaintPropertyNode::create(
922 transform.get(), TransformationMatrix().translate(50, 50), 925 transform.get(), TransformationMatrix().translate(50, 50),
923 FloatPoint3D(100, 100, 0), false, 0); 926 FloatPoint3D(100, 100, 0), nullptr, false, 0);
924 927
925 TestPaintArtifact testArtifact; 928 TestPaintArtifact testArtifact;
926 testArtifact 929 testArtifact
927 .chunk(transform.get(), ClipPaintPropertyNode::root(), 930 .chunk(transform.get(), ClipPaintPropertyNode::root(),
928 EffectPaintPropertyNode::root()) 931 EffectPaintPropertyNode::root())
929 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 932 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
930 // The second chunk can merge into the first because it has a descendant 933 // The second chunk can merge into the first because it has a descendant
931 // state of the first's transform and no direct compositing reason. 934 // state of the first's transform and no direct compositing reason.
932 testArtifact 935 testArtifact
933 .chunk(transform2.get(), ClipPaintPropertyNode::root(), 936 .chunk(transform2.get(), ClipPaintPropertyNode::root(),
(...skipping 18 matching lines...) Expand all
952 rectsWithColor.push_back( 955 rectsWithColor.push_back(
953 RectWithColor(FloatRect(50, 50, 100, 100), Color::black)); 956 RectWithColor(FloatRect(50, 50, 100, 100), Color::black));
954 957
955 const cc::Layer* layer = contentLayerAt(0); 958 const cc::Layer* layer = contentLayerAt(0);
956 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor))); 959 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor)));
957 } 960 }
958 } 961 }
959 962
960 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeTransformOrigin) { 963 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeTransformOrigin) {
961 RefPtr<TransformPaintPropertyNode> transform = 964 RefPtr<TransformPaintPropertyNode> transform =
962 TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(), 965 TransformPaintPropertyNode::create(
963 TransformationMatrix().rotate(45), 966 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(45),
964 FloatPoint3D(100, 100, 0), false, 0); 967 FloatPoint3D(100, 100, 0), nullptr, false, 0);
965 968
966 TestPaintArtifact testArtifact; 969 TestPaintArtifact testArtifact;
967 testArtifact 970 testArtifact
968 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 971 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
969 EffectPaintPropertyNode::root()) 972 EffectPaintPropertyNode::root())
970 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 973 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
971 testArtifact 974 testArtifact
972 .chunk(transform.get(), ClipPaintPropertyNode::root(), 975 .chunk(transform.get(), ClipPaintPropertyNode::root(),
973 EffectPaintPropertyNode::root()) 976 EffectPaintPropertyNode::root())
974 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black); 977 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 } 1058 }
1056 1059
1057 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeNested) { 1060 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeNested) {
1058 // Tests merging of an opacity effect, inside of a clip, inside of a 1061 // Tests merging of an opacity effect, inside of a clip, inside of a
1059 // transform. 1062 // transform.
1060 1063
1061 RefPtr<TransformPaintPropertyNode> transform = 1064 RefPtr<TransformPaintPropertyNode> transform =
1062 TransformPaintPropertyNode::create( 1065 TransformPaintPropertyNode::create(
1063 TransformPaintPropertyNode::root(), 1066 TransformPaintPropertyNode::root(),
1064 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0), 1067 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
1065 false, 0); 1068 nullptr, false, 0);
1066 1069
1067 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( 1070 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
1068 ClipPaintPropertyNode::root(), transform.get(), 1071 ClipPaintPropertyNode::root(), transform.get(),
1069 FloatRoundedRect(10, 20, 50, 60)); 1072 FloatRoundedRect(10, 20, 50, 60));
1070 1073
1071 float opacity = 2.0 / 255.0; 1074 float opacity = 2.0 / 255.0;
1072 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( 1075 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
1073 EffectPaintPropertyNode::root(), transform.get(), clip.get(), 1076 EffectPaintPropertyNode::root(), transform.get(), clip.get(),
1074 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver); 1077 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver);
1075 1078
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1115 1118
1116 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, ClipPushedUp) { 1119 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, ClipPushedUp) {
1117 // Tests merging of an element which has a clipapplied to it, 1120 // Tests merging of an element which has a clipapplied to it,
1118 // but has an ancestor transform of them. This can happen for fixed- 1121 // but has an ancestor transform of them. This can happen for fixed-
1119 // or absolute-position elements which escape scroll transforms. 1122 // or absolute-position elements which escape scroll transforms.
1120 1123
1121 RefPtr<TransformPaintPropertyNode> transform = 1124 RefPtr<TransformPaintPropertyNode> transform =
1122 TransformPaintPropertyNode::create( 1125 TransformPaintPropertyNode::create(
1123 TransformPaintPropertyNode::root(), 1126 TransformPaintPropertyNode::root(),
1124 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0), 1127 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
1125 false, 0); 1128 nullptr, false, 0);
1126 1129
1127 RefPtr<TransformPaintPropertyNode> transform2 = 1130 RefPtr<TransformPaintPropertyNode> transform2 =
1128 TransformPaintPropertyNode::create( 1131 TransformPaintPropertyNode::create(
1129 transform.get(), TransformationMatrix().translate(20, 25), 1132 transform.get(), TransformationMatrix().translate(20, 25),
1130 FloatPoint3D(100, 100, 0), false, 0); 1133 FloatPoint3D(100, 100, 0), nullptr, false, 0);
1131 1134
1132 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( 1135 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
1133 ClipPaintPropertyNode::root(), transform2.get(), 1136 ClipPaintPropertyNode::root(), transform2.get(),
1134 FloatRoundedRect(10, 20, 50, 60)); 1137 FloatRoundedRect(10, 20, 50, 60));
1135 1138
1136 TestPaintArtifact testArtifact; 1139 TestPaintArtifact testArtifact;
1137 testArtifact 1140 testArtifact
1138 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1141 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
1139 EffectPaintPropertyNode::root()) 1142 EffectPaintPropertyNode::root())
1140 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 1143 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 1180
1178 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectPushedUp) { 1181 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectPushedUp) {
1179 // Tests merging of an element which has an effect applied to it, 1182 // Tests merging of an element which has an effect applied to it,
1180 // but has an ancestor transform of them. This can happen for fixed- 1183 // but has an ancestor transform of them. This can happen for fixed-
1181 // or absolute-position elements which escape scroll transforms. 1184 // or absolute-position elements which escape scroll transforms.
1182 1185
1183 RefPtr<TransformPaintPropertyNode> transform = 1186 RefPtr<TransformPaintPropertyNode> transform =
1184 TransformPaintPropertyNode::create( 1187 TransformPaintPropertyNode::create(
1185 TransformPaintPropertyNode::root(), 1188 TransformPaintPropertyNode::root(),
1186 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0), 1189 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
1187 false, 0); 1190 nullptr, false, 0);
1188 1191
1189 RefPtr<TransformPaintPropertyNode> transform2 = 1192 RefPtr<TransformPaintPropertyNode> transform2 =
1190 TransformPaintPropertyNode::create( 1193 TransformPaintPropertyNode::create(
1191 transform.get(), TransformationMatrix().translate(20, 25), 1194 transform.get(), TransformationMatrix().translate(20, 25),
1192 FloatPoint3D(100, 100, 0), false, 0); 1195 FloatPoint3D(100, 100, 0), nullptr, false, 0);
1193 1196
1194 float opacity = 2.0 / 255.0; 1197 float opacity = 2.0 / 255.0;
1195 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( 1198 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
1196 EffectPaintPropertyNode::root(), transform2.get(), 1199 EffectPaintPropertyNode::root(), transform2.get(),
1197 ClipPaintPropertyNode::root(), CompositorFilterOperations(), opacity, 1200 ClipPaintPropertyNode::root(), CompositorFilterOperations(), opacity,
1198 SkBlendMode::kSrcOver); 1201 SkBlendMode::kSrcOver);
1199 1202
1200 TestPaintArtifact testArtifact; 1203 TestPaintArtifact testArtifact;
1201 testArtifact 1204 testArtifact
1202 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1205 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 1243
1241 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectAndClipPushedUp) { 1244 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectAndClipPushedUp) {
1242 // Tests merging of an element which has an effect applied to it, 1245 // Tests merging of an element which has an effect applied to it,
1243 // but has an ancestor transform of them. This can happen for fixed- 1246 // but has an ancestor transform of them. This can happen for fixed-
1244 // or absolute-position elements which escape scroll transforms. 1247 // or absolute-position elements which escape scroll transforms.
1245 1248
1246 RefPtr<TransformPaintPropertyNode> transform = 1249 RefPtr<TransformPaintPropertyNode> transform =
1247 TransformPaintPropertyNode::create( 1250 TransformPaintPropertyNode::create(
1248 TransformPaintPropertyNode::root(), 1251 TransformPaintPropertyNode::root(),
1249 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0), 1252 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
1250 false, 0); 1253 nullptr, false, 0);
1251 1254
1252 RefPtr<TransformPaintPropertyNode> transform2 = 1255 RefPtr<TransformPaintPropertyNode> transform2 =
1253 TransformPaintPropertyNode::create( 1256 TransformPaintPropertyNode::create(
1254 transform.get(), TransformationMatrix().translate(20, 25), 1257 transform.get(), TransformationMatrix().translate(20, 25),
1255 FloatPoint3D(100, 100, 0), false, 0); 1258 FloatPoint3D(100, 100, 0), nullptr, false, 0);
1256 1259
1257 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( 1260 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
1258 ClipPaintPropertyNode::root(), transform.get(), 1261 ClipPaintPropertyNode::root(), transform.get(),
1259 FloatRoundedRect(10, 20, 50, 60)); 1262 FloatRoundedRect(10, 20, 50, 60));
1260 1263
1261 float opacity = 2.0 / 255.0; 1264 float opacity = 2.0 / 255.0;
1262 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( 1265 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
1263 EffectPaintPropertyNode::root(), transform2.get(), clip.get(), 1266 EffectPaintPropertyNode::root(), transform2.get(), clip.get(),
1264 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver); 1267 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver);
1265 1268
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 const cc::Layer* layer = contentLayerAt(0); 1412 const cc::Layer* layer = contentLayerAt(0);
1410 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor))); 1413 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor)));
1411 } 1414 }
1412 } 1415 }
1413 1416
1414 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TwoTransformsClipBetween) { 1417 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TwoTransformsClipBetween) {
1415 RefPtr<TransformPaintPropertyNode> transform = 1418 RefPtr<TransformPaintPropertyNode> transform =
1416 TransformPaintPropertyNode::create( 1419 TransformPaintPropertyNode::create(
1417 TransformPaintPropertyNode::root(), 1420 TransformPaintPropertyNode::root(),
1418 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0), 1421 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
1419 false, 0); 1422 nullptr, false, 0);
1420 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( 1423 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
1421 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(), 1424 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(),
1422 FloatRoundedRect(0, 0, 50, 60)); 1425 FloatRoundedRect(0, 0, 50, 60));
1423 RefPtr<TransformPaintPropertyNode> transform2 = 1426 RefPtr<TransformPaintPropertyNode> transform2 =
1424 TransformPaintPropertyNode::create( 1427 TransformPaintPropertyNode::create(
1425 transform.get(), TransformationMatrix().translate(20, 25), 1428 transform.get(), TransformationMatrix().translate(20, 25),
1426 FloatPoint3D(100, 100, 0), false, 0); 1429 FloatPoint3D(100, 100, 0), nullptr, false, 0);
1427 TestPaintArtifact testArtifact; 1430 TestPaintArtifact testArtifact;
1428 testArtifact 1431 testArtifact
1429 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1432 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
1430 EffectPaintPropertyNode::root()) 1433 EffectPaintPropertyNode::root())
1431 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 1434 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
1432 testArtifact 1435 testArtifact
1433 .chunk(transform2.get(), clip.get(), EffectPaintPropertyNode::root()) 1436 .chunk(transform2.get(), clip.get(), EffectPaintPropertyNode::root())
1434 .rectDrawing(FloatRect(0, 0, 300, 400), Color::black); 1437 .rectDrawing(FloatRect(0, 0, 300, 400), Color::black);
1435 testArtifact 1438 testArtifact
1436 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1439 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
(...skipping 20 matching lines...) Expand all
1457 const cc::Layer* layer = contentLayerAt(0); 1460 const cc::Layer* layer = contentLayerAt(0);
1458 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor))); 1461 EXPECT_THAT(layer->GetPicture(), Pointee(drawsRectangles(rectsWithColor)));
1459 } 1462 }
1460 } 1463 }
1461 1464
1462 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OverlapTransform) { 1465 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OverlapTransform) {
1463 RefPtr<TransformPaintPropertyNode> transform = 1466 RefPtr<TransformPaintPropertyNode> transform =
1464 TransformPaintPropertyNode::create( 1467 TransformPaintPropertyNode::create(
1465 TransformPaintPropertyNode::root(), 1468 TransformPaintPropertyNode::root(),
1466 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0), 1469 TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
1467 false, 0, CompositingReason3DTransform); 1470 nullptr, false, 0, CompositingReason3DTransform);
1468 1471
1469 TestPaintArtifact testArtifact; 1472 TestPaintArtifact testArtifact;
1470 testArtifact.chunk(defaultPaintChunkProperties()) 1473 testArtifact.chunk(defaultPaintChunkProperties())
1471 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); 1474 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white);
1472 testArtifact 1475 testArtifact
1473 .chunk(transform.get(), ClipPaintPropertyNode::root(), 1476 .chunk(transform.get(), ClipPaintPropertyNode::root(),
1474 EffectPaintPropertyNode::root()) 1477 EffectPaintPropertyNode::root())
1475 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black); 1478 .rectDrawing(FloatRect(0, 0, 100, 100), Color::black);
1476 testArtifact.chunk(defaultPaintChunkProperties()) 1479 testArtifact.chunk(defaultPaintChunkProperties())
1477 .rectDrawing(FloatRect(0, 0, 200, 300), Color::gray); 1480 .rectDrawing(FloatRect(0, 0, 200, 300), Color::gray);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1512 1515
1513 GeometryMapper geometryMapper; 1516 GeometryMapper geometryMapper;
1514 PaintArtifactCompositor::PendingLayer pendingLayer(paintChunk); 1517 PaintArtifactCompositor::PendingLayer pendingLayer(paintChunk);
1515 EXPECT_TRUE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer, 1518 EXPECT_TRUE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer,
1516 geometryMapper)); 1519 geometryMapper));
1517 1520
1518 RefPtr<TransformPaintPropertyNode> transform = 1521 RefPtr<TransformPaintPropertyNode> transform =
1519 TransformPaintPropertyNode::create( 1522 TransformPaintPropertyNode::create(
1520 TransformPaintPropertyNode::root(), 1523 TransformPaintPropertyNode::root(),
1521 TransformationMatrix().translate(99, 0), FloatPoint3D(100, 100, 0), 1524 TransformationMatrix().translate(99, 0), FloatPoint3D(100, 100, 0),
1522 false); 1525 nullptr, false);
1523 1526
1524 paintChunk2.properties.propertyTreeState.setTransform(transform.get()); 1527 paintChunk2.properties.propertyTreeState.setTransform(transform.get());
1525 EXPECT_TRUE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer, 1528 EXPECT_TRUE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer,
1526 geometryMapper)); 1529 geometryMapper));
1527 1530
1528 RefPtr<TransformPaintPropertyNode> transform2 = 1531 RefPtr<TransformPaintPropertyNode> transform2 =
1529 TransformPaintPropertyNode::create( 1532 TransformPaintPropertyNode::create(
1530 TransformPaintPropertyNode::root(), 1533 TransformPaintPropertyNode::root(),
1531 TransformationMatrix().translate(100, 0), FloatPoint3D(100, 100, 0), 1534 TransformationMatrix().translate(100, 0), FloatPoint3D(100, 100, 0),
1532 false); 1535 nullptr, false);
1533 paintChunk2.properties.propertyTreeState.setTransform(transform2.get()); 1536 paintChunk2.properties.propertyTreeState.setTransform(transform2.get());
1534 1537
1535 EXPECT_FALSE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer, 1538 EXPECT_FALSE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer,
1536 geometryMapper)); 1539 geometryMapper));
1537 } 1540 }
1538 1541
1539 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayer) { 1542 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayer) {
1540 PaintChunk chunk1; 1543 PaintChunk chunk1;
1541 chunk1.properties.propertyTreeState = PropertyTreeState( 1544 chunk1.properties.propertyTreeState = PropertyTreeState(
1542 TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1545 TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
(...skipping 30 matching lines...) Expand all
1573 EXPECT_TRUE(pendingLayer.backfaceHidden); 1576 EXPECT_TRUE(pendingLayer.backfaceHidden);
1574 EXPECT_FALSE(pendingLayer.knownToBeOpaque); 1577 EXPECT_FALSE(pendingLayer.knownToBeOpaque);
1575 EXPECT_BLINK_FLOAT_RECT_EQ(FloatRect(-5, -25, 45, 85), pendingLayer.bounds); 1578 EXPECT_BLINK_FLOAT_RECT_EQ(FloatRect(-5, -25, 45, 85), pendingLayer.bounds);
1576 } 1579 }
1577 1580
1578 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayerWithGeometry) { 1581 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayerWithGeometry) {
1579 RefPtr<TransformPaintPropertyNode> transform = 1582 RefPtr<TransformPaintPropertyNode> transform =
1580 TransformPaintPropertyNode::create( 1583 TransformPaintPropertyNode::create(
1581 TransformPaintPropertyNode::root(), 1584 TransformPaintPropertyNode::root(),
1582 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0), 1585 TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
1583 false, 0); 1586 nullptr, false, 0);
1584 1587
1585 PaintChunk chunk1; 1588 PaintChunk chunk1;
1586 chunk1.properties.propertyTreeState = PropertyTreeState( 1589 chunk1.properties.propertyTreeState = PropertyTreeState(
1587 TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1590 TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
1588 EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root()); 1591 EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root());
1589 chunk1.bounds = FloatRect(0, 0, 30, 40); 1592 chunk1.bounds = FloatRect(0, 0, 30, 40);
1590 1593
1591 PaintArtifactCompositor::PendingLayer pendingLayer(chunk1); 1594 PaintArtifactCompositor::PendingLayer pendingLayer(chunk1);
1592 1595
1593 EXPECT_BLINK_FLOAT_RECT_EQ(FloatRect(0, 0, 30, 40), pendingLayer.bounds); 1596 EXPECT_BLINK_FLOAT_RECT_EQ(FloatRect(0, 0, 30, 40), pendingLayer.bounds);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 1633
1631 // Chunk 3 covers the entire layer, so now it's opaque. 1634 // Chunk 3 covers the entire layer, so now it's opaque.
1632 EXPECT_TRUE(pendingLayer.knownToBeOpaque); 1635 EXPECT_TRUE(pendingLayer.knownToBeOpaque);
1633 } 1636 }
1634 1637
1635 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) { 1638 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) {
1636 CompositorElementId expectedCompositorElementId(2, 0); 1639 CompositorElementId expectedCompositorElementId(2, 0);
1637 RefPtr<TransformPaintPropertyNode> transform = 1640 RefPtr<TransformPaintPropertyNode> transform =
1638 TransformPaintPropertyNode::create( 1641 TransformPaintPropertyNode::create(
1639 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90), 1642 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
1640 FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform, 1643 FloatPoint3D(100, 100, 0), nullptr, false, 0,
1641 expectedCompositorElementId); 1644 CompositingReason3DTransform, expectedCompositorElementId);
1642 1645
1643 TestPaintArtifact artifact; 1646 TestPaintArtifact artifact;
1644 artifact 1647 artifact
1645 .chunk(transform, ClipPaintPropertyNode::root(), 1648 .chunk(transform, ClipPaintPropertyNode::root(),
1646 EffectPaintPropertyNode::root()) 1649 EffectPaintPropertyNode::root())
1647 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); 1650 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
1648 update(artifact.build()); 1651 update(artifact.build());
1649 1652
1650 EXPECT_EQ(2, elementIdToTransformNodeIndex(expectedCompositorElementId)); 1653 EXPECT_EQ(2, elementIdToTransformNodeIndex(expectedCompositorElementId));
1651 } 1654 }
(...skipping 11 matching lines...) Expand all
1663 artifact 1666 artifact
1664 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1667 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
1665 effect.get()) 1668 effect.get())
1666 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); 1669 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
1667 update(artifact.build()); 1670 update(artifact.build());
1668 1671
1669 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId)); 1672 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId));
1670 } 1673 }
1671 1674
1672 } // namespace blink 1675 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698