| 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 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 EXPECT_EQ(1, scrollNode.parent_id); | 682 EXPECT_EQ(1, scrollNode.parent_id); |
| 683 EXPECT_EQ(expectedCompositorElementId, scrollNode.element_id); | 683 EXPECT_EQ(expectedCompositorElementId, scrollNode.element_id); |
| 684 EXPECT_EQ(scrollNode.id, | 684 EXPECT_EQ(scrollNode.id, |
| 685 elementIdToScrollNodeIndex(expectedCompositorElementId)); | 685 elementIdToScrollNodeIndex(expectedCompositorElementId)); |
| 686 EXPECT_EQ(expectedCompositorElementId, contentLayerAt(0)->element_id()); | 686 EXPECT_EQ(expectedCompositorElementId, contentLayerAt(0)->element_id()); |
| 687 | 687 |
| 688 const cc::TransformTree& transformTree = propertyTrees().transform_tree; | 688 const cc::TransformTree& transformTree = propertyTrees().transform_tree; |
| 689 const cc::TransformNode& transformNode = | 689 const cc::TransformNode& transformNode = |
| 690 *transformTree.Node(scrollNode.transform_id); | 690 *transformTree.Node(scrollNode.transform_id); |
| 691 EXPECT_TRUE(transformNode.local.IsIdentity()); | 691 EXPECT_TRUE(transformNode.local.IsIdentity()); |
| 692 | 692 EXPECT_EQ(gfx::ScrollOffset(-7, -9), transformNode.scroll_offset); |
| 693 EXPECT_EQ(gfx::ScrollOffset(-7, -9), | |
| 694 scrollTree.current_scroll_offset(contentLayerAt(0)->id())); | |
| 695 | 693 |
| 696 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, | 694 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, |
| 697 scrollNode.main_thread_scrolling_reasons); | 695 scrollNode.main_thread_scrolling_reasons); |
| 698 } | 696 } |
| 699 | 697 |
| 700 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) { | 698 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) { |
| 701 RefPtr<EffectPaintPropertyNode> effect = | 699 RefPtr<EffectPaintPropertyNode> effect = |
| 702 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5); | 700 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5); |
| 703 | 701 |
| 704 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0); | 702 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 749 EXPECT_EQ(expectedCompositorElementIdB, scrollNodeB.element_id); | 747 EXPECT_EQ(expectedCompositorElementIdB, scrollNodeB.element_id); |
| 750 EXPECT_EQ(scrollNodeB.id, | 748 EXPECT_EQ(scrollNodeB.id, |
| 751 elementIdToScrollNodeIndex(expectedCompositorElementIdB)); | 749 elementIdToScrollNodeIndex(expectedCompositorElementIdB)); |
| 752 EXPECT_EQ(expectedCompositorElementIdA, contentLayerAt(0)->element_id()); | 750 EXPECT_EQ(expectedCompositorElementIdA, contentLayerAt(0)->element_id()); |
| 753 EXPECT_EQ(expectedCompositorElementIdB, contentLayerAt(1)->element_id()); | 751 EXPECT_EQ(expectedCompositorElementIdB, contentLayerAt(1)->element_id()); |
| 754 | 752 |
| 755 const cc::TransformTree& transformTree = propertyTrees().transform_tree; | 753 const cc::TransformTree& transformTree = propertyTrees().transform_tree; |
| 756 const cc::TransformNode& transformNodeA = | 754 const cc::TransformNode& transformNodeA = |
| 757 *transformTree.Node(scrollNodeA.transform_id); | 755 *transformTree.Node(scrollNodeA.transform_id); |
| 758 EXPECT_TRUE(transformNodeA.local.IsIdentity()); | 756 EXPECT_TRUE(transformNodeA.local.IsIdentity()); |
| 757 EXPECT_EQ(gfx::ScrollOffset(-11, -13), transformNodeA.scroll_offset); |
| 758 |
| 759 const cc::TransformNode& transformNodeB = | 759 const cc::TransformNode& transformNodeB = |
| 760 *transformTree.Node(scrollNodeB.transform_id); | 760 *transformTree.Node(scrollNodeB.transform_id); |
| 761 EXPECT_TRUE(transformNodeB.local.IsIdentity()); | 761 EXPECT_EQ(gfx::ScrollOffset(-37, -41), transformNodeB.scroll_offset); |
| 762 | |
| 763 EXPECT_EQ(gfx::ScrollOffset(-11, -13), | |
| 764 scrollTree.current_scroll_offset(contentLayerAt(0)->id())); | |
| 765 EXPECT_EQ(gfx::ScrollOffset(-37, -41), | |
| 766 scrollTree.current_scroll_offset(contentLayerAt(1)->id())); | |
| 767 | 762 |
| 768 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons & | 763 EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons & |
| 769 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); | 764 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
| 770 EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons & | 765 EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons & |
| 771 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); | 766 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
| 772 } | 767 } |
| 773 | 768 |
| 774 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeSimpleChunks) { | 769 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeSimpleChunks) { |
| 775 TestPaintArtifact testArtifact; | 770 TestPaintArtifact testArtifact; |
| 776 testArtifact | 771 testArtifact |
| (...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1616 chunk3.properties.propertyTreeState = chunk1.properties.propertyTreeState; | 1611 chunk3.properties.propertyTreeState = chunk1.properties.propertyTreeState; |
| 1617 chunk3.bounds = FloatRect(0, 0, 50, 60); | 1612 chunk3.bounds = FloatRect(0, 0, 50, 60); |
| 1618 chunk3.knownToBeOpaque = true; | 1613 chunk3.knownToBeOpaque = true; |
| 1619 pendingLayer.add(chunk3, nullptr); | 1614 pendingLayer.add(chunk3, nullptr); |
| 1620 | 1615 |
| 1621 // Chunk 3 covers the entire layer, so now it's opaque. | 1616 // Chunk 3 covers the entire layer, so now it's opaque. |
| 1622 EXPECT_TRUE(pendingLayer.knownToBeOpaque); | 1617 EXPECT_TRUE(pendingLayer.knownToBeOpaque); |
| 1623 } | 1618 } |
| 1624 | 1619 |
| 1625 } // namespace blink | 1620 } // namespace blink |
| OLD | NEW |