| 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 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 EXPECT_EQ(whiteLayer->sorting_context_id(), whiteSortingContextId); | 348 EXPECT_EQ(whiteLayer->sorting_context_id(), whiteSortingContextId); |
| 349 EXPECT_EQ(0, whiteSortingContextId); | 349 EXPECT_EQ(0, whiteSortingContextId); |
| 350 | 350 |
| 351 // The light gray layer is 3D sorted. | 351 // The light gray layer is 3D sorted. |
| 352 const cc::Layer* lightGrayLayer = contentLayerAt(1); | 352 const cc::Layer* lightGrayLayer = contentLayerAt(1); |
| 353 EXPECT_THAT( | 353 EXPECT_THAT( |
| 354 lightGrayLayer->GetPicture(), | 354 lightGrayLayer->GetPicture(), |
| 355 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::lightGray))); | 355 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::lightGray))); |
| 356 int lightGraySortingContextId = | 356 int lightGraySortingContextId = |
| 357 transformNode(lightGrayLayer).sorting_context_id; | 357 transformNode(lightGrayLayer).sorting_context_id; |
| 358 EXPECT_EQ(lightGrayLayer->sorting_context_id(), lightGraySortingContextId); | |
| 359 EXPECT_NE(0, lightGraySortingContextId); | 358 EXPECT_NE(0, lightGraySortingContextId); |
| 360 | 359 |
| 361 // The dark gray layer is 3D sorted with the light gray layer, but has a | 360 // The dark gray layer is 3D sorted with the light gray layer, but has a |
| 362 // separate transform node. | 361 // separate transform node. |
| 363 const cc::Layer* darkGrayLayer = contentLayerAt(2); | 362 const cc::Layer* darkGrayLayer = contentLayerAt(2); |
| 364 EXPECT_THAT( | 363 EXPECT_THAT( |
| 365 darkGrayLayer->GetPicture(), | 364 darkGrayLayer->GetPicture(), |
| 366 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::darkGray))); | 365 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::darkGray))); |
| 367 int darkGraySortingContextId = | 366 int darkGraySortingContextId = |
| 368 transformNode(darkGrayLayer).sorting_context_id; | 367 transformNode(darkGrayLayer).sorting_context_id; |
| 369 EXPECT_EQ(darkGrayLayer->sorting_context_id(), darkGraySortingContextId); | |
| 370 EXPECT_EQ(lightGraySortingContextId, darkGraySortingContextId); | 368 EXPECT_EQ(lightGraySortingContextId, darkGraySortingContextId); |
| 371 EXPECT_NE(lightGrayLayer->transform_tree_index(), | 369 EXPECT_NE(lightGrayLayer->transform_tree_index(), |
| 372 darkGrayLayer->transform_tree_index()); | 370 darkGrayLayer->transform_tree_index()); |
| 373 | 371 |
| 374 // The black layer is 3D sorted, but in a separate context from the previous | 372 // The black layer is 3D sorted, but in a separate context from the previous |
| 375 // layers. | 373 // layers. |
| 376 const cc::Layer* blackLayer = contentLayerAt(3); | 374 const cc::Layer* blackLayer = contentLayerAt(3); |
| 377 EXPECT_THAT(blackLayer->GetPicture(), | 375 EXPECT_THAT(blackLayer->GetPicture(), |
| 378 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::black))); | 376 Pointee(drawsRectangle(FloatRect(0, 0, 300, 200), Color::black))); |
| 379 int blackSortingContextId = transformNode(blackLayer).sorting_context_id; | 377 int blackSortingContextId = transformNode(blackLayer).sorting_context_id; |
| 380 EXPECT_EQ(blackLayer->sorting_context_id(), blackSortingContextId); | |
| 381 EXPECT_NE(0, blackSortingContextId); | 378 EXPECT_NE(0, blackSortingContextId); |
| 382 EXPECT_NE(lightGraySortingContextId, blackSortingContextId); | 379 EXPECT_NE(lightGraySortingContextId, blackSortingContextId); |
| 383 } | 380 } |
| 384 | 381 |
| 385 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneClip) { | 382 TEST_F(PaintArtifactCompositorTestWithPropertyTrees, OneClip) { |
| 386 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( | 383 RefPtr<ClipPaintPropertyNode> clip = ClipPaintPropertyNode::create( |
| 387 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(), | 384 ClipPaintPropertyNode::root(), TransformPaintPropertyNode::root(), |
| 388 FloatRoundedRect(100, 100, 300, 200)); | 385 FloatRoundedRect(100, 100, 300, 200)); |
| 389 | 386 |
| 390 TestPaintArtifact artifact; | 387 TestPaintArtifact artifact; |
| (...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1551 chunk3.properties.propertyTreeState = chunk1.properties.propertyTreeState; | 1548 chunk3.properties.propertyTreeState = chunk1.properties.propertyTreeState; |
| 1552 chunk3.bounds = FloatRect(0, 0, 50, 60); | 1549 chunk3.bounds = FloatRect(0, 0, 50, 60); |
| 1553 chunk3.knownToBeOpaque = true; | 1550 chunk3.knownToBeOpaque = true; |
| 1554 pendingLayer.add(chunk3, nullptr); | 1551 pendingLayer.add(chunk3, nullptr); |
| 1555 | 1552 |
| 1556 // Chunk 3 covers the entire layer, so now it's opaque. | 1553 // Chunk 3 covers the entire layer, so now it's opaque. |
| 1557 EXPECT_TRUE(pendingLayer.knownToBeOpaque); | 1554 EXPECT_TRUE(pendingLayer.knownToBeOpaque); |
| 1558 } | 1555 } |
| 1559 | 1556 |
| 1560 } // namespace blink | 1557 } // namespace blink |
| OLD | NEW |