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

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

Issue 2657863004: Move scroll paint property nodes to be owned by the transform tree (Closed)
Patch Set: Rebase & remove parens Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
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 1ad40ee200101768f6fad40bfdf4818b2c56b97b..889a1b6298b3d70396609c2e53162d003ff355ce 100644
--- a/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
+++ b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
@@ -42,9 +42,9 @@ using ::blink::testing::createOpacityOnlyEffect;
using ::testing::Pointee;
PaintChunkProperties defaultPaintChunkProperties() {
- PropertyTreeState propertyTreeState(
- TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
- EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root());
+ PropertyTreeState propertyTreeState(TransformPaintPropertyNode::root(),
+ ClipPaintPropertyNode::root(),
+ EffectPaintPropertyNode::root());
return PaintChunkProperties(propertyTreeState);
}
@@ -168,8 +168,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneTransform) {
RefPtr<TransformPaintPropertyNode> transform =
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
- FloatPoint3D(100, 100, 0), nullptr, false, 0,
- CompositingReason3DTransform);
+ FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform);
TestPaintArtifact artifact;
artifact
@@ -215,12 +214,11 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformCombining) {
RefPtr<TransformPaintPropertyNode> transform1 =
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(), TransformationMatrix().scale(2),
- FloatPoint3D(10, 10, 0), nullptr, false, 0,
- CompositingReason3DTransform);
+ FloatPoint3D(10, 10, 0), false, 0, CompositingReason3DTransform);
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform1, TransformationMatrix().translate(5, 5), FloatPoint3D(),
- nullptr, false, 0, CompositingReason3DTransform);
+ false, 0, CompositingReason3DTransform);
TestPaintArtifact artifact;
artifact
@@ -276,7 +274,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
RefPtr<TransformPaintPropertyNode> transform3 =
TransformPaintPropertyNode::create(
transform2, TransformationMatrix().rotate3d(0, 45, 0),
- FloatPoint3D(), nullptr, transformIsFlattened);
+ FloatPoint3D(), transformIsFlattened);
TestPaintArtifact artifact;
artifact
@@ -323,17 +321,17 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, SortingContextID) {
// Establishes a 3D rendering context.
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(transform1, TransformationMatrix(),
- FloatPoint3D(), nullptr, false, 1,
+ FloatPoint3D(), false, 1,
CompositingReason3DTransform);
// Extends the 3D rendering context of transform2.
RefPtr<TransformPaintPropertyNode> transform3 =
TransformPaintPropertyNode::create(transform2, TransformationMatrix(),
- FloatPoint3D(), nullptr, false, 1,
+ FloatPoint3D(), false, 1,
CompositingReason3DTransform);
// Establishes a 3D rendering context distinct from transform2.
RefPtr<TransformPaintPropertyNode> transform4 =
TransformPaintPropertyNode::create(transform2, TransformationMatrix(),
- FloatPoint3D(), nullptr, false, 2,
+ FloatPoint3D(), false, 2,
CompositingReason3DTransform);
TestPaintArtifact artifact;
@@ -667,20 +665,19 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectTreeConversion) {
}
TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneScrollNode) {
- RefPtr<ScrollPaintPropertyNode> scroll = ScrollPaintPropertyNode::create(
- ScrollPaintPropertyNode::root(), IntSize(11, 13), IntSize(27, 31), true,
- false, 0 /* mainThreadScrollingReasons */);
CompositorElementId expectedCompositorElementId = CompositorElementId(2, 0);
RefPtr<TransformPaintPropertyNode> scrollTranslation =
- TransformPaintPropertyNode::create(
+ TransformPaintPropertyNode::createScrollTranslation(
TransformPaintPropertyNode::root(),
- TransformationMatrix().translate(7, 9), FloatPoint3D(), scroll.get(),
- false, 0, CompositingReasonNone, expectedCompositorElementId);
+ TransformationMatrix().translate(7, 9), FloatPoint3D(), false, 0,
+ CompositingReasonNone, expectedCompositorElementId,
+ ScrollPaintPropertyNode::root(), IntSize(11, 13), IntSize(27, 31),
+ true, false, 0 /* mainThreadScrollingReasons */);
TestPaintArtifact artifact;
artifact
.chunk(scrollTranslation, ClipPaintPropertyNode::root(),
- EffectPaintPropertyNode::root(), scroll)
+ EffectPaintPropertyNode::root())
.rectDrawing(FloatRect(11, 13, 17, 19), Color::white);
update(artifact.build());
@@ -712,72 +709,54 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, NestedScrollNodes) {
RefPtr<EffectPaintPropertyNode> effect =
createOpacityOnlyEffect(EffectPaintPropertyNode::root(), 0.5);
- RefPtr<ScrollPaintPropertyNode> scrollA = ScrollPaintPropertyNode::create(
- ScrollPaintPropertyNode::root(), IntSize(2, 3), IntSize(5, 7), false,
- true, MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
CompositorElementId expectedCompositorElementIdA = CompositorElementId(2, 0);
RefPtr<TransformPaintPropertyNode> scrollTranslationA =
- TransformPaintPropertyNode::create(
+ TransformPaintPropertyNode::createScrollTranslation(
TransformPaintPropertyNode::root(),
- TransformationMatrix().translate(11, 13), FloatPoint3D(),
- scrollA.get(), false, 0, CompositingReasonNone,
- expectedCompositorElementIdA);
- RefPtr<ScrollPaintPropertyNode> scrollB = ScrollPaintPropertyNode::create(
- scrollA, IntSize(19, 23), IntSize(29, 31), true, false,
- 0 /* mainThreadScrollingReasons */);
+ TransformationMatrix().translate(11, 13), FloatPoint3D(), false, 0,
+ CompositingReasonNone, expectedCompositorElementIdA,
+ ScrollPaintPropertyNode::root(), IntSize(2, 3), IntSize(5, 7), false,
+ true,
+ MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
+
CompositorElementId expectedCompositorElementIdB = CompositorElementId(3, 0);
RefPtr<TransformPaintPropertyNode> scrollTranslationB =
- TransformPaintPropertyNode::create(
+ TransformPaintPropertyNode::createScrollTranslation(
scrollTranslationA, TransformationMatrix().translate(37, 41),
- FloatPoint3D(), scrollB.get(), false, 0, CompositingReasonNone,
- expectedCompositorElementIdB);
+ FloatPoint3D(), false, 0, CompositingReasonNone,
+ expectedCompositorElementIdB, scrollTranslationA->scrollNode(),
+ IntSize(19, 23), IntSize(29, 31), true, false,
+ 0 /* mainThreadScrollingReasons */);
TestPaintArtifact artifact;
- artifact
- .chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect, scrollA)
+ artifact.chunk(scrollTranslationA, ClipPaintPropertyNode::root(), effect)
.rectDrawing(FloatRect(7, 11, 13, 17), Color::white);
- artifact
- .chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect, scrollB)
+ artifact.chunk(scrollTranslationB, ClipPaintPropertyNode::root(), effect)
.rectDrawing(FloatRect(1, 2, 3, 5), Color::white);
update(artifact.build());
const cc::ScrollTree& scrollTree = propertyTrees().scroll_tree;
// Node #0 reserved for null; #1 for root render surface.
- ASSERT_EQ(4u, scrollTree.size());
- const cc::ScrollNode& scrollNodeA = *scrollTree.Node(2);
- EXPECT_EQ(gfx::Size(2, 3), scrollNodeA.scroll_clip_layer_bounds);
- EXPECT_EQ(gfx::Size(5, 7), scrollNodeA.bounds);
- EXPECT_FALSE(scrollNodeA.user_scrollable_horizontal);
- EXPECT_TRUE(scrollNodeA.user_scrollable_vertical);
- EXPECT_EQ(1, scrollNodeA.parent_id);
- const cc::ScrollNode& scrollNodeB = *scrollTree.Node(3);
- EXPECT_EQ(gfx::Size(19, 23), scrollNodeB.scroll_clip_layer_bounds);
- EXPECT_EQ(gfx::Size(29, 31), scrollNodeB.bounds);
- EXPECT_TRUE(scrollNodeB.user_scrollable_horizontal);
- EXPECT_FALSE(scrollNodeB.user_scrollable_vertical);
- EXPECT_EQ(scrollNodeA.id, scrollNodeB.parent_id);
- EXPECT_EQ(expectedCompositorElementIdA, scrollNodeA.element_id);
- EXPECT_EQ(scrollNodeA.id,
+ ASSERT_EQ(3u, scrollTree.size());
+ const cc::ScrollNode& scrollNode = *scrollTree.Node(2);
+ EXPECT_EQ(gfx::Size(2, 3), scrollNode.scroll_clip_layer_bounds);
+ EXPECT_EQ(gfx::Size(5, 7), scrollNode.bounds);
+ EXPECT_FALSE(scrollNode.user_scrollable_horizontal);
+ EXPECT_TRUE(scrollNode.user_scrollable_vertical);
+ EXPECT_EQ(1, scrollNode.parent_id);
+ EXPECT_EQ(expectedCompositorElementIdA, scrollNode.element_id);
+ EXPECT_EQ(scrollNode.id,
elementIdToScrollNodeIndex(expectedCompositorElementIdA));
- EXPECT_EQ(expectedCompositorElementIdB, scrollNodeB.element_id);
- EXPECT_EQ(scrollNodeB.id,
- elementIdToScrollNodeIndex(expectedCompositorElementIdB));
+
EXPECT_EQ(expectedCompositorElementIdA, contentLayerAt(0)->element_id());
- EXPECT_EQ(expectedCompositorElementIdB, contentLayerAt(1)->element_id());
const cc::TransformTree& transformTree = propertyTrees().transform_tree;
const cc::TransformNode& transformNodeA =
- *transformTree.Node(scrollNodeA.transform_id);
+ *transformTree.Node(scrollNode.transform_id);
EXPECT_TRUE(transformNodeA.local.IsIdentity());
EXPECT_EQ(gfx::ScrollOffset(-11, -13), transformNodeA.scroll_offset);
- const cc::TransformNode& transformNodeB =
- *transformTree.Node(scrollNodeB.transform_id);
- EXPECT_EQ(gfx::ScrollOffset(-37, -41), transformNodeB.scroll_offset);
-
- EXPECT_TRUE(scrollNodeA.main_thread_scrolling_reasons &
+ EXPECT_TRUE(scrollNode.main_thread_scrolling_reasons &
MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
- EXPECT_FALSE(scrollNodeB.main_thread_scrolling_reasons &
- MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects);
}
TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeSimpleChunks) {
@@ -865,7 +844,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, Merge2DTransform) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
TestPaintArtifact testArtifact;
testArtifact
@@ -914,12 +893,12 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
RefPtr<TransformPaintPropertyNode> transform =
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(), TransformationMatrix(),
- FloatPoint3D(), nullptr, false, 0, CompositingReason3DTransform);
+ FloatPoint3D(), false, 0, CompositingReason3DTransform);
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform.get(), TransformationMatrix().translate(50, 50),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ FloatPoint3D(100, 100, 0), false, 0);
TestPaintArtifact testArtifact;
testArtifact
@@ -958,9 +937,9 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees,
TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeTransformOrigin) {
RefPtr<TransformPaintPropertyNode> transform =
- TransformPaintPropertyNode::create(
- TransformPaintPropertyNode::root(), TransformationMatrix().rotate(45),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ TransformPaintPropertyNode::create(TransformPaintPropertyNode::root(),
+ TransformationMatrix().rotate(45),
+ FloatPoint3D(100, 100, 0), false, 0);
TestPaintArtifact testArtifact;
testArtifact
@@ -1061,7 +1040,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MergeNested) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
ClipPaintPropertyNode::root(), transform.get(),
@@ -1121,12 +1100,12 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, ClipPushedUp) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform.get(), TransformationMatrix().translate(20, 25),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ FloatPoint3D(100, 100, 0), false, 0);
RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
ClipPaintPropertyNode::root(), transform2.get(),
@@ -1183,12 +1162,12 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectPushedUp) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform.get(), TransformationMatrix().translate(20, 25),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ FloatPoint3D(100, 100, 0), false, 0);
float opacity = 2.0 / 255.0;
RefPtr<EffectPaintPropertyNode> effect = EffectPaintPropertyNode::create(
@@ -1246,12 +1225,12 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, EffectAndClipPushedUp) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform.get(), TransformationMatrix().translate(20, 25),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ FloatPoint3D(100, 100, 0), false, 0);
RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
ClipPaintPropertyNode::root(), transform.get(),
@@ -1415,14 +1394,14 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TwoTransformsClipBetween) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create(
ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(),
FloatRoundedRect(0, 0, 50, 60));
RefPtr<TransformPaintPropertyNode> transform2 =
TransformPaintPropertyNode::create(
transform.get(), TransformationMatrix().translate(20, 25),
- FloatPoint3D(100, 100, 0), nullptr, false, 0);
+ FloatPoint3D(100, 100, 0), false, 0);
TestPaintArtifact testArtifact;
testArtifact
.chunk(TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
@@ -1463,7 +1442,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OverlapTransform) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(50, 50), FloatPoint3D(100, 100, 0),
- nullptr, false, 0, CompositingReason3DTransform);
+ false, 0, CompositingReason3DTransform);
TestPaintArtifact testArtifact;
testArtifact.chunk(defaultPaintChunkProperties())
@@ -1518,7 +1497,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MightOverlap) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(99, 0), FloatPoint3D(100, 100, 0),
- nullptr, false);
+ false);
paintChunk2.properties.propertyTreeState.setTransform(transform.get());
EXPECT_TRUE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer,
@@ -1528,7 +1507,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, MightOverlap) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(100, 0), FloatPoint3D(100, 100, 0),
- nullptr, false);
+ false);
paintChunk2.properties.propertyTreeState.setTransform(transform2.get());
EXPECT_FALSE(PaintArtifactCompositor::mightOverlap(paintChunk2, pendingLayer,
@@ -1539,7 +1518,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayer) {
PaintChunk chunk1;
chunk1.properties.propertyTreeState = PropertyTreeState(
TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
- EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root());
+ EffectPaintPropertyNode::root());
chunk1.properties.backfaceHidden = true;
chunk1.knownToBeOpaque = true;
chunk1.bounds = FloatRect(0, 0, 30, 40);
@@ -1579,12 +1558,12 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayerWithGeometry) {
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(),
TransformationMatrix().translate(20, 25), FloatPoint3D(100, 100, 0),
- nullptr, false, 0);
+ false, 0);
PaintChunk chunk1;
chunk1.properties.propertyTreeState = PropertyTreeState(
TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
- EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root());
+ EffectPaintPropertyNode::root());
chunk1.bounds = FloatRect(0, 0, 30, 40);
PaintArtifactCompositor::PendingLayer pendingLayer(chunk1);
@@ -1605,7 +1584,7 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, PendingLayerKnownOpaque) {
PaintChunk chunk1;
chunk1.properties.propertyTreeState = PropertyTreeState(
TransformPaintPropertyNode::root(), ClipPaintPropertyNode::root(),
- EffectPaintPropertyNode::root(), ScrollPaintPropertyNode::root());
+ EffectPaintPropertyNode::root());
chunk1.bounds = FloatRect(0, 0, 30, 40);
chunk1.knownToBeOpaque = false;
PaintArtifactCompositor::PendingLayer pendingLayer(chunk1);
@@ -1636,8 +1615,8 @@ TEST_F(PaintArtifactCompositorTestWithPropertyTrees, TransformWithElementId) {
RefPtr<TransformPaintPropertyNode> transform =
TransformPaintPropertyNode::create(
TransformPaintPropertyNode::root(), TransformationMatrix().rotate(90),
- FloatPoint3D(100, 100, 0), nullptr, false, 0,
- CompositingReason3DTransform, expectedCompositorElementId);
+ FloatPoint3D(100, 100, 0), false, 0, CompositingReason3DTransform,
+ expectedCompositorElementId);
TestPaintArtifact artifact;
artifact

Powered by Google App Engine
This is Rietveld 408576698