| 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/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 724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 artifact | 735 artifact |
| 736 .chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect, scrollA) | 736 .chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect, scrollA) |
| 737 .rectDrawing(FloatRect(7, 11, 13, 17), Color::white); | 737 .rectDrawing(FloatRect(7, 11, 13, 17), Color::white); |
| 738 artifact | 738 artifact |
| 739 .chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect, scrollB) | 739 .chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect, scrollB) |
| 740 .rectDrawing(FloatRect(1, 2, 3, 5), Color::white); | 740 .rectDrawing(FloatRect(1, 2, 3, 5), Color::white); |
| 741 update(artifact.build()); | 741 update(artifact.build()); |
| 742 | 742 |
| 743 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree; | 743 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree; |
| 744 // Node #0 reserved for null; #1 for root render surface. | 744 // Node #0 reserved for null; #1 for root render surface. |
| 745 ASSERT_EQ(4u, scrollTree.size()); | 745 ASSERT_EQ(3u, scrollTree.size()); |
| 746 const cc::ScrollNode& scrollNodeA = *scrollTree.Node(2); | 746 const cc::ScrollNode& scrollNodeA = *scrollTree.Node(2); |
| 747 EXPECT_EQ(gfx::Size(2, 3), scrollNodeA.scroll_clip_layer_bounds); | 747 EXPECT_EQ(gfx::Size(2, 3), scrollNodeA.scroll_clip_layer_bounds); |
| 748 EXPECT_EQ(gfx::Size(5, 7), scrollNodeA.bounds); | 748 EXPECT_EQ(gfx::Size(5, 7), scrollNodeA.bounds); |
| 749 EXPECT_FALSE(scrollNodeA.user_scrollable_horizontal); | 749 EXPECT_FALSE(scrollNodeA.user_scrollable_horizontal); |
| 750 EXPECT_TRUE(scrollNodeA.user_scrollable_vertical); | 750 EXPECT_TRUE(scrollNodeA.user_scrollable_vertical); |
| 751 EXPECT_EQ(1, scrollNodeA.parent_id); | 751 EXPECT_EQ(1, scrollNodeA.parent_id); |
| 752 const cc::ScrollNode& scrollNodeB = *scrollTree.Node(3); | |
| 753 EXPECT_EQ(gfx::Size(19, 23), scrollNodeB.scroll_clip_layer_bounds); | |
| 754 EXPECT_EQ(gfx::Size(29, 31), scrollNodeB.bounds); | |
| 755 EXPECT_TRUE(scrollNodeB.user_scrollable_horizontal); | |
| 756 EXPECT_FALSE(scrollNodeB.user_scrollable_vertical); | |
| 757 EXPECT_EQ(scrollNodeA.id, scrollNodeB.parent_id); | |
| 758 EXPECT_EQ(expectedCompositorElementIdA, scrollNodeA.element_id); | 752 EXPECT_EQ(expectedCompositorElementIdA, scrollNodeA.element_id); |
| 759 EXPECT_EQ(scrollNodeA.id, | 753 EXPECT_EQ(scrollNodeA.id, |
| 760 elementIdToScrollNodeIndex(expectedCompositorElementIdA)); | 754 elementIdToScrollNodeIndex(expectedCompositorElementIdA)); |
| 761 EXPECT_EQ(expectedCompositorElementIdB, scrollNodeB.element_id); | |
| 762 EXPECT_EQ(scrollNodeB.id, | |
| 763 elementIdToScrollNodeIndex(expectedCompositorElementIdB)); | |
| 764 EXPECT_EQ(expectedCompositorElementIdA, contentLayerAt(0)->element_id()); | 755 EXPECT_EQ(expectedCompositorElementIdA, contentLayerAt(0)->element_id()); |
| 765 EXPECT_EQ(expectedCompositorElementIdB, contentLayerAt(1)->element_id()); | |
| 766 | 756 |
| 767 const cc::TransformTree& transformTree = propertyTrees().transform_tree; | 757 const cc::TransformTree& transformTree = propertyTrees().transform_tree; |
| 768 const cc::TransformNode& transformNodeA = | 758 const cc::TransformNode& transformNodeA = |
| 769 *transformTree.Node(scrollNodeA.transform_id); | 759 *transformTree.Node(scrollNodeA.transform_id); |
| 770 EXPECT_TRUE(transformNodeA.local.IsIdentity()); | 760 EXPECT_TRUE(transformNodeA.local.IsIdentity()); |
| 771 EXPECT_EQ(gfx::ScrollOffset(-11, -13), transformNodeA.scroll_offset); | 761 EXPECT_EQ(gfx::ScrollOffset(-11, -13), transformNodeA.scroll_offset); |
| 772 | 762 |
| 773 const cc::TransformNode& transformNodeB = | |
| 774 *transformTree.Node(scrollNodeB.transform_id); | |
| 775 EXPECT_EQ(gfx::ScrollOffset(-37, -41), transformNodeB.scroll_offset); | |
| 776 | |
| 777 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons & | 763 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons & |
| 778 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); | 764 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
| 779 EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons & | |
| 780 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); | |
| 781 } | 765 } |
| 782 | 766 |
| 783 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeSimpleChunks) { | 767 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeSimpleChunks) { |
| 784 TestPaintArtifact testArtifact; | 768 TestPaintArtifact testArtifact; |
| 785 testArtifact | 769 testArtifact |
| 786 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), | 770 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), |
| 787 EffectPaintPropertyNode::root()) | 771 EffectPaintPropertyNode::root()) |
| 788 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); | 772 .rectDrawing(FloatRect(0, 0, 100, 100), Color::white); |
| 789 testArtifact | 773 testArtifact |
| 790 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), | 774 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), |
| (...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1662 artifact | 1646 artifact |
| 1663 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), | 1647 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), |
| 1664 effect.get()) | 1648 effect.get()) |
| 1665 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); | 1649 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); |
| 1666 update(artifact.build()); | 1650 update(artifact.build()); |
| 1667 | 1651 |
| 1668 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId)); | 1652 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId)); |
| 1669 } | 1653 } |
| 1670 | 1654 |
| 1671 } // namespace blink | 1655 } // namespace blink |
| OLD | NEW |