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