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

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

Issue 2667373002: Ensure PaintArtifactCompositor assigns a scroll tree index to all cc layers (Closed)
Patch Set: 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 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 const cc::TransformTree& transformTree = propertyTrees().transform_tree; 698 const cc::TransformTree& transformTree = propertyTrees().transform_tree;
699 const cc::TransformNode& transformNode = 699 const cc::TransformNode& transformNode =
700 *transformTree.Node(scrollNode.transform_id); 700 *transformTree.Node(scrollNode.transform_id);
701 EXPECT_TRUE(transformNode.local.IsIdentity()); 701 EXPECT_TRUE(transformNode.local.IsIdentity());
702 EXPECT_EQ(gfx::ScrollOffset(-7, -9), transformNode.scroll_offset); 702 EXPECT_EQ(gfx::ScrollOffset(-7, -9), transformNode.scroll_offset);
703 703
704 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain, 704 EXPECT_EQ(MainThreadScrollingReason::kNotScrollingOnMain,
705 scrollNode.main_thread_scrolling_reasons); 705 scrollNode.main_thread_scrolling_reasons);
706 } 706 }
707 707
708 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformUnderScrollNode) {
709 RefPtr<TransformPaintPropertyNode> scrollTranslation =
710 TransformPaintPropertyNode::createScrollTranslation(
711 TransformPaintPropertyNode::root(),
712 TransformationMatrix().translate(7, 9), FloatPoint3D(), false, 0,
713 CompositingReasonNone, CompositorElementId(),
714 ScrollPaintPropertyNode::root(), IntSize(11, 13), IntSize(27, 31),
715 true, false, 0 /* mainThreadScrollingReasons */);
716
717 RefPtr<TransformPaintPropertyNode> transform =
718 TransformPaintPropertyNode::create(
719 scrollTranslation, TransformationMatrix(), FloatPoint3D(), false, 0,
720 CompositingReason3DTransform);
721
722 TestPaintArtifact artifact;
723 artifact
724 .chunk(scrollTranslation, ClipPaintPropertyNode::root(),
725 EffectPaintPropertyNode::root())
726 .rectDrawing(FloatRect(2, 4, 6, 8), Color::black)
727 .chunk(transform, ClipPaintPropertyNode::root(),
728 EffectPaintPropertyNode::root())
729 .rectDrawing(FloatRect(1, 3, 5, 7), Color::white);
730 update(artifact.build());
731
732 const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree;
733 // Node #0 reserved for null; #1 for root render surface.
734 ASSERT_EQ(3u, scrollTree.size());
735 const cc::ScrollNode& scrollNode = *scrollTree.Node(2);
736
737 // Both layers should refer to the same scroll tree node.
738 EXPECT_EQ(scrollNode.id, contentLayerAt(0)->scroll_tree_index());
739 EXPECT_EQ(scrollNode.id, contentLayerAt(1)->scroll_tree_index());
740
741 const cc::TransformTree& transformTree = propertyTrees().transform_tree;
742 const cc::TransformNode& scrollTransformNode =
743 *transformTree.Node(scrollNode.transform_id);
744 // The layers have different transform nodes.
745 EXPECT_EQ(scrollTransformNode.id, contentLayerAt(0)->transform_tree_index());
pdr. 2017/02/02 04:22:32 There is not yet any end-to-end infrastructure for
746 EXPECT_NE(scrollTransformNode.id, contentLayerAt(1)->transform_tree_index());
747 }
748
708 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) { 749 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) {
709 RefPtr<EffectPaintPropertyNode> effect = 750 RefPtr<EffectPaintPropertyNode> effect =
710 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5); 751 createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5);
711 752
712 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0); 753 CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0);
713 RefPtr<TransformPaintPropertyNode> scrollTranslationA = 754 RefPtr<TransformPaintPropertyNode> scrollTranslationA =
714 TransformPaintPropertyNode::createScrollTranslation( 755 TransformPaintPropertyNode::createScrollTranslation(
715 TransformPaintPropertyNode::root(), 756 TransformPaintPropertyNode::root(),
716 TransformationMatrix().translate(11, 13), FloatPoint3D(), false, 0, 757 TransformationMatrix().translate(11, 13), FloatPoint3D(), false, 0,
717 CompositingReasonNone, expectedCompositorElementIdA, 758 CompositingReasonNone, expectedCompositorElementIdA,
(...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after
1641 artifact 1682 artifact
1642 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(), 1683 .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
1643 effect.get()) 1684 effect.get())
1644 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black); 1685 .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
1645 update(artifact.build()); 1686 update(artifact.build());
1646 1687
1647 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId)); 1688 EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId));
1648 } 1689 }
1649 1690
1650 } // namespace blink 1691 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698