| Index: third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
|
| index 8b326cb0a5e58f58c13eac921f31d4fb20371a63..9b1d3d01a3773af4f2d6d5462b0fe43194203030 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
|
| @@ -119,7 +119,13 @@ class PaintArtifactCompositorTestWithPropertyTrees
|
| }
|
|
|
| void update(const PaintArtifact& artifact) {
|
| - m_paintArtifactCompositor->update(artifact, nullptr, false);
|
| + CompositorElementIdSet elementIds;
|
| + update(artifact, elementIds);
|
| + }
|
| +
|
| + void update(const PaintArtifact& artifact,
|
| + CompositorElementIdSet& elementIds) {
|
| + m_paintArtifactCompositor->update(artifact, nullptr, false, elementIds);
|
| m_webLayerTreeView->layerTreeHost()->LayoutAndUpdateLayers();
|
| }
|
|
|
| @@ -1580,14 +1586,28 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
|
| EXPECT_TRUE(pendingLayer.knownToBeOpaque);
|
| }
|
|
|
| -TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) {
|
| +PassRefPtr<EffectPaintPropertyNode> createSampleEffectNodeWithElementId() {
|
| CompositorElementId expectedCompositorElementId(2, 0);
|
| - RefPtr<TransformPaintPropertyNode> transform =
|
| - TransformPaintPropertyNode::create(
|
| - TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
|
| - FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform,
|
| - expectedCompositorElementId);
|
| + float opacity = 2.0 / 255.0;
|
| + return EffectPaintPropertyNode::create(
|
| + EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(),
|
| + ClipPaintPropertyNode::root(), ColorFilterNone,
|
| + CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver,
|
| + CompositingReasonActiveAnimation, expectedCompositorElementId);
|
| +}
|
|
|
| +PassRefPtr<TransformPaintPropertyNode>
|
| +createSampleTransformNodeWithElementId() {
|
| + CompositorElementId expectedCompositorElementId(3, 0);
|
| + return TransformPaintPropertyNode::create(
|
| + TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
|
| + FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform,
|
| + expectedCompositorElementId);
|
| +}
|
| +
|
| +TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) {
|
| + RefPtr<TransformPaintPropertyNode> transform =
|
| + createSampleTransformNodeWithElementId();
|
| TestPaintArtifact artifact;
|
| artifact
|
| .chunk(transform, ClipPaintPropertyNode::root(),
|
| @@ -1595,7 +1615,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) {
|
| .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
|
| update(artifact.build());
|
|
|
| - EXPECT_EQ(2, elementIdToTransformNodeIndex(expectedCompositorElementId));
|
| + EXPECT_EQ(2, elementIdToTransformNodeIndex(transform->compositorElementId()));
|
| }
|
|
|
| TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
|
| @@ -1627,14 +1647,8 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
|
| }
|
|
|
| TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectWithElementId) {
|
| - CompositorElementId expectedCompositorElementId(2, 0);
|
| - float opacity = 2.0 / 255.0;
|
| - RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
|
| - EffectPaintPropertyNode::root(), TransformPaintPropertyNode::root(),
|
| - ClipPaintPropertyNode::root(), ColorFilterNone,
|
| - CompositorFilterOperations(), opacity, SkBlendMode::kSrcOver,
|
| - CompositingReasonActiveAnimation, expectedCompositorElementId);
|
| -
|
| + RefPtr<EffectPaintPropertyNode> effect =
|
| + createSampleEffectNodeWithElementId();
|
| TestPaintArtifact artifact;
|
| artifact
|
| .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
|
| @@ -1642,7 +1656,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectWithElementId) {
|
| .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
|
| update(artifact.build());
|
|
|
| - EXPECT_EQ(2, elementIdToEffectNodeIndex(expectedCompositorElementId));
|
| + EXPECT_EQ(2, elementIdToEffectNodeIndex(effect->compositorElementId()));
|
| }
|
|
|
| TEST_F(PaintArtifactCompositorTestWithPropertyTrees, CompositedLuminanceMask) {
|
| @@ -2000,4 +2014,27 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
|
| EXPECT_EQ(1, layer4->effect_tree_index());
|
| }
|
|
|
| +TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
|
| + UpdatePopulatesCompositedElementIds) {
|
| + RefPtr<TransformPaintPropertyNode> transform =
|
| + createSampleTransformNodeWithElementId();
|
| + RefPtr<EffectPaintPropertyNode> effect =
|
| + createSampleEffectNodeWithElementId();
|
| + TestPaintArtifact artifact;
|
| + artifact
|
| + .chunk(transform, ClipPaintPropertyNode::root(),
|
| + EffectPaintPropertyNode::root())
|
| + .rectDrawing(FloatRect(0, 0, 100, 100), Color::black)
|
| + .chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
|
| + effect.get())
|
| + .rectDrawing(FloatRect(100, 100, 200, 100), Color::black);
|
| +
|
| + CompositorElementIdSet compositedElementIds;
|
| + update(artifact.build(), compositedElementIds);
|
| +
|
| + EXPECT_EQ(2u, compositedElementIds.size());
|
| + EXPECT_TRUE(compositedElementIds.contains(transform->compositorElementId()));
|
| + EXPECT_TRUE(compositedElementIds.contains(effect->compositorElementId()));
|
| +}
|
| +
|
| } // namespace blink
|
|
|