| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/layer_tree_host_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 parent_composite_transform, | 453 parent_composite_transform, |
| 454 draw_property_utils::ScreenSpaceTransform(child, tree)); | 454 draw_property_utils::ScreenSpaceTransform(child, tree)); |
| 455 EXPECT_TRANSFORMATION_MATRIX_EQ( | 455 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| 456 parent_composite_transform, | 456 parent_composite_transform, |
| 457 draw_property_utils::DrawTransform(grand_child, tree)); | 457 draw_property_utils::DrawTransform(grand_child, tree)); |
| 458 EXPECT_TRANSFORMATION_MATRIX_EQ( | 458 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| 459 parent_composite_transform, | 459 parent_composite_transform, |
| 460 draw_property_utils::ScreenSpaceTransform(grand_child, tree)); | 460 draw_property_utils::ScreenSpaceTransform(grand_child, tree)); |
| 461 } | 461 } |
| 462 | 462 |
| 463 // Render target should get cleared when subtree is skipped. | |
| 464 TEST_F(LayerTreeHostCommonTest, ClearRenderTargetForSkippedLayers) { | |
| 465 LayerImpl* root = root_layer(); | |
| 466 LayerImpl* parent = AddChildToRoot<LayerImpl>(); | |
| 467 LayerImpl* child = AddChild<LayerImpl>(parent); | |
| 468 child->SetDrawsContent(true); | |
| 469 | |
| 470 gfx::Transform identity_matrix; | |
| 471 SetLayerPropertiesForTesting(root, identity_matrix, gfx::Point3F(), | |
| 472 gfx::PointF(), gfx::Size(1, 2), true, false, | |
| 473 true); | |
| 474 SetLayerPropertiesForTesting(parent, identity_matrix, gfx::Point3F(), | |
| 475 gfx::PointF(), gfx::Size(1, 2), true, false, | |
| 476 true); | |
| 477 SetLayerPropertiesForTesting(child, identity_matrix, gfx::Point3F(), | |
| 478 gfx::PointF(), gfx::Size(1, 2), true, false, | |
| 479 false); | |
| 480 | |
| 481 ExecuteCalculateDrawProperties(root); | |
| 482 ASSERT_TRUE(parent->render_surface()); | |
| 483 EXPECT_EQ(parent, child->render_target()); | |
| 484 | |
| 485 // child is skipped when root's opacity is set to 0. So, its render target | |
| 486 // should be reset. | |
| 487 root->OnOpacityAnimated(0.0f); | |
| 488 ExecuteCalculateDrawProperties(root); | |
| 489 EXPECT_FALSE(child->render_target()); | |
| 490 } | |
| 491 | |
| 492 TEST_F(LayerTreeHostCommonTest, TransformsForSingleRenderSurface) { | 463 TEST_F(LayerTreeHostCommonTest, TransformsForSingleRenderSurface) { |
| 493 LayerImpl* root = root_layer(); | 464 LayerImpl* root = root_layer(); |
| 494 LayerImpl* parent = AddChildToRoot<LayerImpl>(); | 465 LayerImpl* parent = AddChildToRoot<LayerImpl>(); |
| 495 LayerImpl* child = AddChild<LayerImpl>(parent); | 466 LayerImpl* child = AddChild<LayerImpl>(parent); |
| 496 LayerImpl* grand_child = AddChild<LayerImpl>(child); | 467 LayerImpl* grand_child = AddChild<LayerImpl>(child); |
| 497 grand_child->SetDrawsContent(true); | 468 grand_child->SetDrawsContent(true); |
| 498 | 469 |
| 499 gfx::Transform identity_matrix; | 470 gfx::Transform identity_matrix; |
| 500 SetLayerPropertiesForTesting(root, identity_matrix, gfx::Point3F(), | 471 SetLayerPropertiesForTesting(root, identity_matrix, gfx::Point3F(), |
| 501 gfx::PointF(), gfx::Size(1, 2), true, false, | 472 gfx::PointF(), gfx::Size(1, 2), true, false, |
| (...skipping 26 matching lines...) Expand all Loading... |
| 528 SetLayerPropertiesForTesting(child, identity_matrix, gfx::Point3F(), | 499 SetLayerPropertiesForTesting(child, identity_matrix, gfx::Point3F(), |
| 529 gfx::PointF(), gfx::Size(16, 18), true, false, | 500 gfx::PointF(), gfx::Size(16, 18), true, false, |
| 530 true); | 501 true); |
| 531 SetLayerPropertiesForTesting(grand_child, identity_matrix, gfx::Point3F(), | 502 SetLayerPropertiesForTesting(grand_child, identity_matrix, gfx::Point3F(), |
| 532 gfx::PointF(), gfx::Size(8, 10), true, false, | 503 gfx::PointF(), gfx::Size(8, 10), true, false, |
| 533 false); | 504 false); |
| 534 ExecuteCalculateDrawProperties(root); | 505 ExecuteCalculateDrawProperties(root); |
| 535 | 506 |
| 536 // Render surface should have been created now. | 507 // Render surface should have been created now. |
| 537 ASSERT_TRUE(child->render_surface()); | 508 ASSERT_TRUE(child->render_surface()); |
| 538 ASSERT_EQ(child, child->render_target()); | 509 ASSERT_EQ(child->render_surface(), child->render_target()); |
| 539 | 510 |
| 540 // The child layer's draw transform should refer to its new render surface. | 511 // The child layer's draw transform should refer to its new render surface. |
| 541 // The screen-space transform, however, should still refer to the root. | 512 // The screen-space transform, however, should still refer to the root. |
| 542 EXPECT_TRANSFORMATION_MATRIX_EQ(surface_sublayer_transform, | 513 EXPECT_TRANSFORMATION_MATRIX_EQ(surface_sublayer_transform, |
| 543 child->DrawTransform()); | 514 child->DrawTransform()); |
| 544 EXPECT_TRANSFORMATION_MATRIX_EQ(parent_composite_transform, | 515 EXPECT_TRANSFORMATION_MATRIX_EQ(parent_composite_transform, |
| 545 child->ScreenSpaceTransform()); | 516 child->ScreenSpaceTransform()); |
| 546 | 517 |
| 547 // Because the grand_child is the only drawable content, the child's render | 518 // Because the grand_child is the only drawable content, the child's render |
| 548 // surface will tighten its bounds to the grand_child. The scale at which the | 519 // surface will tighten its bounds to the grand_child. The scale at which the |
| 549 // surface's subtree is drawn must be removed from the composite transform. | 520 // surface's subtree is drawn must be removed from the composite transform. |
| 550 EXPECT_TRANSFORMATION_MATRIX_EQ( | 521 EXPECT_TRANSFORMATION_MATRIX_EQ(surface_sublayer_composite_transform, |
| 551 surface_sublayer_composite_transform, | 522 child->render_target()->draw_transform()); |
| 552 child->render_target()->render_surface()->draw_transform()); | |
| 553 | 523 |
| 554 // The screen space is the same as the target since the child surface draws | 524 // The screen space is the same as the target since the child surface draws |
| 555 // into the root. | 525 // into the root. |
| 556 EXPECT_TRANSFORMATION_MATRIX_EQ( | 526 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| 557 surface_sublayer_composite_transform, | 527 surface_sublayer_composite_transform, |
| 558 child->render_target()->render_surface()->screen_space_transform()); | 528 child->render_target()->screen_space_transform()); |
| 559 } | 529 } |
| 560 | 530 |
| 561 TEST_F(LayerTreeHostCommonTest, TransformsWhenCannotRenderToSeparateSurface) { | 531 TEST_F(LayerTreeHostCommonTest, TransformsWhenCannotRenderToSeparateSurface) { |
| 562 LayerImpl* root = root_layer(); | 532 LayerImpl* root = root_layer(); |
| 563 LayerImpl* parent = AddChildToRoot<LayerImpl>(); | 533 LayerImpl* parent = AddChildToRoot<LayerImpl>(); |
| 564 LayerImpl* child = AddChild<LayerImpl>(parent); | 534 LayerImpl* child = AddChild<LayerImpl>(parent); |
| 565 LayerImpl* grand_child = AddChild<LayerImpl>(child); | 535 LayerImpl* grand_child = AddChild<LayerImpl>(child); |
| 566 grand_child->SetDrawsContent(true); | 536 grand_child->SetDrawsContent(true); |
| 567 | 537 |
| 568 gfx::Transform identity_matrix; | 538 gfx::Transform identity_matrix; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 664 false, false); | 634 false, false); |
| 665 SetLayerPropertiesForTesting(child_replica.get(), replica_layer_transform, | 635 SetLayerPropertiesForTesting(child_replica.get(), replica_layer_transform, |
| 666 gfx::Point3F(), gfx::PointF(), gfx::Size(), true, | 636 gfx::Point3F(), gfx::PointF(), gfx::Size(), true, |
| 667 false, false); | 637 false, false); |
| 668 child->SetReplicaLayer(std::move(child_replica)); | 638 child->SetReplicaLayer(std::move(child_replica)); |
| 669 | 639 |
| 670 ExecuteCalculateDrawProperties(root); | 640 ExecuteCalculateDrawProperties(root); |
| 671 | 641 |
| 672 // Render surface should have been created now. | 642 // Render surface should have been created now. |
| 673 ASSERT_TRUE(child->render_surface()); | 643 ASSERT_TRUE(child->render_surface()); |
| 674 ASSERT_EQ(child, child->render_target()); | 644 ASSERT_EQ(child->render_surface(), child->render_target()); |
| 675 | 645 |
| 676 EXPECT_TRANSFORMATION_MATRIX_EQ( | 646 EXPECT_TRANSFORMATION_MATRIX_EQ( |
| 677 replica_composite_transform, | 647 replica_composite_transform, |
| 678 child->render_target()->render_surface()->replica_draw_transform()); | 648 child->render_target()->replica_draw_transform()); |
| 679 EXPECT_TRANSFORMATION_MATRIX_EQ(replica_composite_transform, | 649 EXPECT_TRANSFORMATION_MATRIX_EQ(replica_composite_transform, |
| 680 child->render_target() | 650 child->render_target() |
| 681 ->render_surface() | |
| 682 ->replica_screen_space_transform()); | 651 ->replica_screen_space_transform()); |
| 683 } | 652 } |
| 684 | 653 |
| 685 TEST_F(LayerTreeHostCommonTest, TransformsForRenderSurfaceHierarchy) { | 654 TEST_F(LayerTreeHostCommonTest, TransformsForRenderSurfaceHierarchy) { |
| 686 // This test creates a more complex tree and verifies it all at once. This | 655 // This test creates a more complex tree and verifies it all at once. This |
| 687 // covers the following cases: | 656 // covers the following cases: |
| 688 // - layers that are described w.r.t. a render surface: should have draw | 657 // - layers that are described w.r.t. a render surface: should have draw |
| 689 // transforms described w.r.t. that surface | 658 // transforms described w.r.t. that surface |
| 690 // - A render surface described w.r.t. an ancestor render surface: should | 659 // - A render surface described w.r.t. an ancestor render surface: should |
| 691 // have a draw transform described w.r.t. that ancestor surface | 660 // have a draw transform described w.r.t. that ancestor surface |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 820 | 789 |
| 821 ASSERT_TRUE(render_surface1->render_surface()); | 790 ASSERT_TRUE(render_surface1->render_surface()); |
| 822 ASSERT_FALSE(child_of_rs1->render_surface()); | 791 ASSERT_FALSE(child_of_rs1->render_surface()); |
| 823 ASSERT_FALSE(grand_child_of_rs1->render_surface()); | 792 ASSERT_FALSE(grand_child_of_rs1->render_surface()); |
| 824 | 793 |
| 825 ASSERT_TRUE(render_surface2->render_surface()); | 794 ASSERT_TRUE(render_surface2->render_surface()); |
| 826 ASSERT_FALSE(child_of_rs2->render_surface()); | 795 ASSERT_FALSE(child_of_rs2->render_surface()); |
| 827 ASSERT_FALSE(grand_child_of_rs2->render_surface()); | 796 ASSERT_FALSE(grand_child_of_rs2->render_surface()); |
| 828 | 797 |
| 829 // Verify all render target accessors | 798 // Verify all render target accessors |
| 830 EXPECT_EQ(root, parent->render_target()); | 799 EXPECT_EQ(root->render_surface(), parent->render_target()); |
| 831 EXPECT_EQ(root, child_of_root->render_target()); | 800 EXPECT_EQ(root->render_surface(), child_of_root->render_target()); |
| 832 EXPECT_EQ(root, grand_child_of_root->render_target()); | 801 EXPECT_EQ(root->render_surface(), grand_child_of_root->render_target()); |
| 833 | 802 |
| 834 EXPECT_EQ(render_surface1, render_surface1->render_target()); | 803 EXPECT_EQ(render_surface1->render_surface(), |
| 835 EXPECT_EQ(render_surface1, child_of_rs1->render_target()); | 804 render_surface1->render_target()); |
| 836 EXPECT_EQ(render_surface1, grand_child_of_rs1->render_target()); | 805 EXPECT_EQ(render_surface1->render_surface(), child_of_rs1->render_target()); |
| 806 EXPECT_EQ(render_surface1->render_surface(), |
| 807 grand_child_of_rs1->render_target()); |
| 837 | 808 |
| 838 EXPECT_EQ(render_surface2, render_surface2->render_target()); | 809 EXPECT_EQ(render_surface2->render_surface(), |
| 839 EXPECT_EQ(render_surface2, child_of_rs2->render_target()); | 810 render_surface2->render_target()); |
| 840 EXPECT_EQ(render_surface2, grand_child_of_rs2->render_target()); | 811 EXPECT_EQ(render_surface2->render_surface(), child_of_rs2->render_target()); |
| 812 EXPECT_EQ(render_surface2->render_surface(), |
| 813 grand_child_of_rs2->render_target()); |
| 841 | 814 |
| 842 // Verify layer draw transforms note that draw transforms are described with | 815 // Verify layer draw transforms note that draw transforms are described with |
| 843 // respect to the nearest ancestor render surface but screen space transforms | 816 // respect to the nearest ancestor render surface but screen space transforms |
| 844 // are described with respect to the root. | 817 // are described with respect to the root. |
| 845 EXPECT_TRANSFORMATION_MATRIX_EQ(A, parent->DrawTransform()); | 818 EXPECT_TRANSFORMATION_MATRIX_EQ(A, parent->DrawTransform()); |
| 846 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A, child_of_root->DrawTransform()); | 819 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A, child_of_root->DrawTransform()); |
| 847 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A * A, | 820 EXPECT_TRANSFORMATION_MATRIX_EQ(A * A * A, |
| 848 grand_child_of_root->DrawTransform()); | 821 grand_child_of_root->DrawTransform()); |
| 849 | 822 |
| 850 EXPECT_TRANSFORMATION_MATRIX_EQ(SS1, render_surface1->DrawTransform()); | 823 EXPECT_TRANSFORMATION_MATRIX_EQ(SS1, render_surface1->DrawTransform()); |
| (...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2477 grand_child->SetHasRenderSurface(true); | 2450 grand_child->SetHasRenderSurface(true); |
| 2478 | 2451 |
| 2479 gfx::Transform expected_leaf_draw_transform_with_surfaces; | 2452 gfx::Transform expected_leaf_draw_transform_with_surfaces; |
| 2480 expected_leaf_draw_transform_with_surfaces.Translate(16.0, 16.0); | 2453 expected_leaf_draw_transform_with_surfaces.Translate(16.0, 16.0); |
| 2481 | 2454 |
| 2482 gfx::Transform expected_leaf_draw_transform_without_surfaces; | 2455 gfx::Transform expected_leaf_draw_transform_without_surfaces; |
| 2483 expected_leaf_draw_transform_without_surfaces.Translate(30.0, 30.0); | 2456 expected_leaf_draw_transform_without_surfaces.Translate(30.0, 30.0); |
| 2484 | 2457 |
| 2485 ExecuteCalculateDrawProperties(root); | 2458 ExecuteCalculateDrawProperties(root); |
| 2486 EXPECT_FALSE(leaf_node->is_clipped()); | 2459 EXPECT_FALSE(leaf_node->is_clipped()); |
| 2487 EXPECT_TRUE(leaf_node->render_target()->render_surface()->is_clipped()); | 2460 EXPECT_TRUE(leaf_node->render_target()->is_clipped()); |
| 2488 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); | 2461 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); |
| 2489 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, | 2462 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, |
| 2490 leaf_node->DrawTransform()); | 2463 leaf_node->DrawTransform()); |
| 2491 | 2464 |
| 2492 root->SetHasRenderSurface(true); | 2465 root->SetHasRenderSurface(true); |
| 2493 child->SetHasRenderSurface(true); | 2466 child->SetHasRenderSurface(true); |
| 2494 grand_child->SetHasRenderSurface(true); | 2467 grand_child->SetHasRenderSurface(true); |
| 2495 | 2468 |
| 2496 ExecuteCalculateDrawPropertiesWithoutSeparateSurfaces(root); | 2469 ExecuteCalculateDrawPropertiesWithoutSeparateSurfaces(root); |
| 2497 EXPECT_TRUE(leaf_node->is_clipped()); | 2470 EXPECT_TRUE(leaf_node->is_clipped()); |
| 2498 EXPECT_EQ(gfx::Rect(6, 6, 396, 396), leaf_node->clip_rect()); | 2471 EXPECT_EQ(gfx::Rect(6, 6, 396, 396), leaf_node->clip_rect()); |
| 2499 EXPECT_EQ(gfx::Rect(30, 30, 372, 372), leaf_node->drawable_content_rect()); | 2472 EXPECT_EQ(gfx::Rect(30, 30, 372, 372), leaf_node->drawable_content_rect()); |
| 2500 EXPECT_EQ(expected_leaf_draw_transform_without_surfaces, | 2473 EXPECT_EQ(expected_leaf_draw_transform_without_surfaces, |
| 2501 leaf_node->DrawTransform()); | 2474 leaf_node->DrawTransform()); |
| 2502 | 2475 |
| 2503 root->SetHasRenderSurface(true); | 2476 root->SetHasRenderSurface(true); |
| 2504 child->SetHasRenderSurface(true); | 2477 child->SetHasRenderSurface(true); |
| 2505 grand_child->SetHasRenderSurface(true); | 2478 grand_child->SetHasRenderSurface(true); |
| 2506 | 2479 |
| 2507 ExecuteCalculateDrawProperties(root); | 2480 ExecuteCalculateDrawProperties(root); |
| 2508 EXPECT_FALSE(leaf_node->is_clipped()); | 2481 EXPECT_FALSE(leaf_node->is_clipped()); |
| 2509 EXPECT_TRUE(leaf_node->render_target()->render_surface()->is_clipped()); | 2482 EXPECT_TRUE(leaf_node->render_target()->is_clipped()); |
| 2510 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); | 2483 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); |
| 2511 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, | 2484 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, |
| 2512 leaf_node->DrawTransform()); | 2485 leaf_node->DrawTransform()); |
| 2513 } | 2486 } |
| 2514 | 2487 |
| 2515 TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) { | 2488 TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) { |
| 2516 LayerImpl* parent = root_layer(); | 2489 LayerImpl* parent = root_layer(); |
| 2517 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); | 2490 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); |
| 2518 LayerImpl* child_of_rs1 = AddChild<LayerImpl>(render_surface1); | 2491 LayerImpl* child_of_rs1 = AddChild<LayerImpl>(render_surface1); |
| 2519 LayerImpl* grand_child_of_rs1 = AddChild<LayerImpl>(child_of_rs1); | 2492 LayerImpl* grand_child_of_rs1 = AddChild<LayerImpl>(child_of_rs1); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2593 | 2566 |
| 2594 ASSERT_TRUE(render_surface1->render_surface()); | 2567 ASSERT_TRUE(render_surface1->render_surface()); |
| 2595 ASSERT_FALSE(child_of_rs1->render_surface()); | 2568 ASSERT_FALSE(child_of_rs1->render_surface()); |
| 2596 ASSERT_FALSE(grand_child_of_rs1->render_surface()); | 2569 ASSERT_FALSE(grand_child_of_rs1->render_surface()); |
| 2597 | 2570 |
| 2598 ASSERT_TRUE(render_surface2->render_surface()); | 2571 ASSERT_TRUE(render_surface2->render_surface()); |
| 2599 ASSERT_FALSE(child_of_rs2->render_surface()); | 2572 ASSERT_FALSE(child_of_rs2->render_surface()); |
| 2600 ASSERT_FALSE(grand_child_of_rs2->render_surface()); | 2573 ASSERT_FALSE(grand_child_of_rs2->render_surface()); |
| 2601 | 2574 |
| 2602 // Verify all render target accessors | 2575 // Verify all render target accessors |
| 2603 EXPECT_EQ(parent, parent->render_target()); | 2576 EXPECT_EQ(parent->render_surface(), parent->render_target()); |
| 2604 EXPECT_EQ(parent, child_of_root->render_target()); | 2577 EXPECT_EQ(parent->render_surface(), child_of_root->render_target()); |
| 2605 EXPECT_EQ(parent, grand_child_of_root->render_target()); | 2578 EXPECT_EQ(parent->render_surface(), grand_child_of_root->render_target()); |
| 2606 | 2579 |
| 2607 EXPECT_EQ(render_surface1, render_surface1->render_target()); | 2580 EXPECT_EQ(render_surface1->render_surface(), |
| 2608 EXPECT_EQ(render_surface1, child_of_rs1->render_target()); | 2581 render_surface1->render_target()); |
| 2609 EXPECT_EQ(render_surface1, grand_child_of_rs1->render_target()); | 2582 EXPECT_EQ(render_surface1->render_surface(), child_of_rs1->render_target()); |
| 2583 EXPECT_EQ(render_surface1->render_surface(), |
| 2584 grand_child_of_rs1->render_target()); |
| 2610 | 2585 |
| 2611 EXPECT_EQ(render_surface2, render_surface2->render_target()); | 2586 EXPECT_EQ(render_surface2->render_surface(), |
| 2612 EXPECT_EQ(render_surface2, child_of_rs2->render_target()); | 2587 render_surface2->render_target()); |
| 2613 EXPECT_EQ(render_surface2, grand_child_of_rs2->render_target()); | 2588 EXPECT_EQ(render_surface2->render_surface(), child_of_rs2->render_target()); |
| 2589 EXPECT_EQ(render_surface2->render_surface(), |
| 2590 grand_child_of_rs2->render_target()); |
| 2614 | 2591 |
| 2615 // Verify screen_space_transform_is_animating values | 2592 // Verify screen_space_transform_is_animating values |
| 2616 EXPECT_FALSE(parent->screen_space_transform_is_animating()); | 2593 EXPECT_FALSE(parent->screen_space_transform_is_animating()); |
| 2617 EXPECT_FALSE(child_of_root->screen_space_transform_is_animating()); | 2594 EXPECT_FALSE(child_of_root->screen_space_transform_is_animating()); |
| 2618 EXPECT_TRUE(grand_child_of_root->screen_space_transform_is_animating()); | 2595 EXPECT_TRUE(grand_child_of_root->screen_space_transform_is_animating()); |
| 2619 EXPECT_FALSE(render_surface1->screen_space_transform_is_animating()); | 2596 EXPECT_FALSE(render_surface1->screen_space_transform_is_animating()); |
| 2620 EXPECT_FALSE(child_of_rs1->screen_space_transform_is_animating()); | 2597 EXPECT_FALSE(child_of_rs1->screen_space_transform_is_animating()); |
| 2621 EXPECT_FALSE(grand_child_of_rs1->screen_space_transform_is_animating()); | 2598 EXPECT_FALSE(grand_child_of_rs1->screen_space_transform_is_animating()); |
| 2622 EXPECT_TRUE(render_surface2->screen_space_transform_is_animating()); | 2599 EXPECT_TRUE(render_surface2->screen_space_transform_is_animating()); |
| 2623 EXPECT_TRUE(child_of_rs2->screen_space_transform_is_animating()); | 2600 EXPECT_TRUE(child_of_rs2->screen_space_transform_is_animating()); |
| (...skipping 6577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9201 SetLayerPropertiesForTesting(render_surface, identity_matrix, gfx::Point3F(), | 9178 SetLayerPropertiesForTesting(render_surface, identity_matrix, gfx::Point3F(), |
| 9202 gfx::PointF(), gfx::Size(30, 30), true, false, | 9179 gfx::PointF(), gfx::Size(30, 30), true, false, |
| 9203 true); | 9180 true); |
| 9204 SetLayerPropertiesForTesting(test_layer, identity_matrix, gfx::Point3F(), | 9181 SetLayerPropertiesForTesting(test_layer, identity_matrix, gfx::Point3F(), |
| 9205 gfx::PointF(), gfx::Size(30, 30), true, false, | 9182 gfx::PointF(), gfx::Size(30, 30), true, false, |
| 9206 false); | 9183 false); |
| 9207 | 9184 |
| 9208 ExecuteCalculateDrawProperties(root); | 9185 ExecuteCalculateDrawProperties(root); |
| 9209 | 9186 |
| 9210 EXPECT_TRUE(test_layer->is_clipped()); | 9187 EXPECT_TRUE(test_layer->is_clipped()); |
| 9211 EXPECT_FALSE(test_layer->render_target()->render_surface()->is_clipped()); | 9188 EXPECT_FALSE(test_layer->render_target()->is_clipped()); |
| 9212 EXPECT_EQ(gfx::Rect(-2, -2, 30, 30), test_layer->clip_rect()); | 9189 EXPECT_EQ(gfx::Rect(-2, -2, 30, 30), test_layer->clip_rect()); |
| 9213 EXPECT_EQ(gfx::Rect(28, 28), test_layer->drawable_content_rect()); | 9190 EXPECT_EQ(gfx::Rect(28, 28), test_layer->drawable_content_rect()); |
| 9214 } | 9191 } |
| 9215 | 9192 |
| 9216 TEST_F(LayerTreeHostCommonTest, | 9193 TEST_F(LayerTreeHostCommonTest, |
| 9217 RenderSurfaceWithUnclippedDescendantsButDoesntApplyOwnClip) { | 9194 RenderSurfaceWithUnclippedDescendantsButDoesntApplyOwnClip) { |
| 9218 // Ensure that the visible layer rect of a descendant of a surface with | 9195 // Ensure that the visible layer rect of a descendant of a surface with |
| 9219 // unclipped descendants is computed correctly, when the surface doesn't apply | 9196 // unclipped descendants is computed correctly, when the surface doesn't apply |
| 9220 // a clip. | 9197 // a clip. |
| 9221 LayerImpl* root = root_layer(); | 9198 LayerImpl* root = root_layer(); |
| (...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9941 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); | 9918 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); |
| 9942 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); | 9919 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); |
| 9943 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); | 9920 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); |
| 9944 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); | 9921 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); |
| 9945 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); | 9922 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); |
| 9946 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); | 9923 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); |
| 9947 } | 9924 } |
| 9948 | 9925 |
| 9949 } // namespace | 9926 } // namespace |
| 9950 } // namespace cc | 9927 } // namespace cc |
| OLD | NEW |