| 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 <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/test/test_simple_task_runner.h" | 9 #include "base/test/test_simple_task_runner.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 | 708 |
| 709 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, | 709 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, |
| 710 scrollNode.main_thread_scrolling_reasons); | 710 scrollNode.main_thread_scrolling_reasons); |
| 711 | 711 |
| 712 auto* layer = contentLayerAt(0); | 712 auto* layer = contentLayerAt(0); |
| 713 EXPECT_EQ(layer->id(), scrollNode.owning_layer_id); | 713 EXPECT_EQ(layer->id(), scrollNode.owning_layer_id); |
| 714 auto scrollNodeIndex = | 714 auto scrollNodeIndex = |
| 715 propertyTrees().scroll_tree.FindNodeIndexFromOwningLayerId(layer->id()); | 715 propertyTrees().scroll_tree.FindNodeIndexFromOwningLayerId(layer->id()); |
| 716 EXPECT_EQ(scrollNodeIndex, scrollNode.id); | 716 EXPECT_EQ(scrollNodeIndex, scrollNode.id); |
| 717 | 717 |
| 718 // Only one content layer, and the first child layer is the dummy layer for |
| 719 // the transform node. |
| 720 const cc::Layer* transformNodeLayer = rootLayer()->children()[0].get(); |
| 721 EXPECT_EQ(transformNodeLayer->id(), transformNode.owning_layer_id); |
| 722 auto transformNodeIndex = |
| 723 propertyTrees().transform_tree.FindNodeIndexFromOwningLayerId( |
| 724 transformNodeLayer->id()); |
| 725 EXPECT_EQ(transformNodeIndex, transformNode.id); |
| 726 |
| 718 EXPECT_EQ(0u, scrollClient.didScrollCount); | 727 EXPECT_EQ(0u, scrollClient.didScrollCount); |
| 719 layer->SetScrollOffsetFromImplSide(gfx::ScrollOffset(1, 2)); | 728 layer->SetScrollOffsetFromImplSide(gfx::ScrollOffset(1, 2)); |
| 720 EXPECT_EQ(1u, scrollClient.didScrollCount); | 729 EXPECT_EQ(1u, scrollClient.didScrollCount); |
| 721 EXPECT_EQ(gfx::ScrollOffset(1, 2), scrollClient.lastScrollOffset); | 730 EXPECT_EQ(gfx::ScrollOffset(1, 2), scrollClient.lastScrollOffset); |
| 722 } | 731 } |
| 723 | 732 |
| 724 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformUnderScrollNode) { | 733 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformUnderScrollNode) { |
| 725 RefPtr<TransformPaintPropertyNode> scrollTranslation = | 734 RefPtr<TransformPaintPropertyNode> scrollTranslation = |
| 726 TransformPaintPropertyNode::createScrollTranslation( | 735 TransformPaintPropertyNode::createScrollTranslation( |
| 727 TransformPaintPropertyNode::root(), | 736 TransformPaintPropertyNode::root(), |
| (...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 TestPaintArtifact artifact; | 1591 TestPaintArtifact artifact; |
| 1583 artifact | 1592 artifact |
| 1584 .chunk(transform, ClipPaintPropertyNode::root(), | 1593 .chunk(transform, ClipPaintPropertyNode::root(), |
| 1585 EffectPaintPropertyNode::root()) | 1594 EffectPaintPropertyNode::root()) |
| 1586 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); | 1595 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); |
| 1587 update(artifact.build()); | 1596 update(artifact.build()); |
| 1588 | 1597 |
| 1589 EXPECT_EQ(2, elementIdToTransformNodeIndex(expectedCompositorElementId)); | 1598 EXPECT_EQ(2, elementIdToTransformNodeIndex(expectedCompositorElementId)); |
| 1590 } | 1599 } |
| 1591 | 1600 |
| 1601 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, |
| 1602 TransformNodeHasOwningLayerId) { |
| 1603 RefPtr<TransformPaintPropertyNode> transform = |
| 1604 TransformPaintPropertyNode::create( |
| 1605 TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90), |
| 1606 FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform); |
| 1607 |
| 1608 TestPaintArtifact artifact; |
| 1609 artifact |
| 1610 .chunk(transform, ClipPaintPropertyNode::root(), |
| 1611 EffectPaintPropertyNode::root()) |
| 1612 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); |
| 1613 update(artifact.build()); |
| 1614 |
| 1615 // Only one content layer, and the first child layer is the dummy layer for |
| 1616 // the transform node. |
| 1617 ASSERT_EQ(1u, contentLayerCount()); |
| 1618 const cc::Layer* transformNodeLayer = rootLayer()->children()[0].get(); |
| 1619 const cc::TransformNode* ccTransformNode = |
| 1620 propertyTrees().transform_tree.Node( |
| 1621 transformNodeLayer->transform_tree_index()); |
| 1622 EXPECT_EQ(transformNodeLayer->id(), ccTransformNode->owning_layer_id); |
| 1623 auto transformNodeIndex = |
| 1624 propertyTrees().transform_tree.FindNodeIndexFromOwningLayerId( |
| 1625 transformNodeLayer->id()); |
| 1626 EXPECT_EQ(transformNodeIndex, ccTransformNode->id); |
| 1627 } |
| 1628 |
| 1592 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectWithElementId) { | 1629 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectWithElementId) { |
| 1593 CompositorElementId expectedCompositorElementId(2, 0); | 1630 CompositorElementId expectedCompositorElementId(2, 0); |
| 1594 float opacity = 2.0 / 255.0; | 1631 float opacity = 2.0 / 255.0; |
| 1595 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( | 1632 RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create( |
| 1596 EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(), | 1633 EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 1597 ClipPaintPropertyNode::root(), ColorFilterNone, | 1634 ClipPaintPropertyNode::root(), ColorFilterNone, |
| 1598 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver, | 1635 CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver, |
| 1599 CompositingReasonActiveAnimation, expectedCompositorElementId); | 1636 CompositingReasonActiveAnimation, expectedCompositorElementId); |
| 1600 | 1637 |
| 1601 TestPaintArtifact artifact; | 1638 TestPaintArtifact artifact; |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1957 EXPECT_EQ(gfx::Size(50, 50), layer3->bounds()); | 1994 EXPECT_EQ(gfx::Size(50, 50), layer3->bounds()); |
| 1958 EXPECT_EQ(effectNode->id, layer3->effect_tree_index()); | 1995 EXPECT_EQ(effectNode->id, layer3->effect_tree_index()); |
| 1959 | 1996 |
| 1960 const cc::Layer* layer4 = contentLayerAt(3); | 1997 const cc::Layer* layer4 = contentLayerAt(3); |
| 1961 EXPECT_EQ(gfx::Vector2dF(100.f, 0.f), layer4->offset_to_transform_parent()); | 1998 EXPECT_EQ(gfx::Vector2dF(100.f, 0.f), layer4->offset_to_transform_parent()); |
| 1962 EXPECT_EQ(gfx::Size(150, 150), layer4->bounds()); | 1999 EXPECT_EQ(gfx::Size(150, 150), layer4->bounds()); |
| 1963 EXPECT_EQ(1, layer4->effect_tree_index()); | 2000 EXPECT_EQ(1, layer4->effect_tree_index()); |
| 1964 } | 2001 } |
| 1965 | 2002 |
| 1966 } // namespace blink | 2003 } // namespace blink |
| OLD | NEW |