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 1607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2458 grand_child->SetHasRenderSurface(true); | 2431 grand_child->SetHasRenderSurface(true); |
2459 | 2432 |
2460 gfx::Transform expected_leaf_draw_transform_with_surfaces; | 2433 gfx::Transform expected_leaf_draw_transform_with_surfaces; |
2461 expected_leaf_draw_transform_with_surfaces.Translate(16.0, 16.0); | 2434 expected_leaf_draw_transform_with_surfaces.Translate(16.0, 16.0); |
2462 | 2435 |
2463 gfx::Transform expected_leaf_draw_transform_without_surfaces; | 2436 gfx::Transform expected_leaf_draw_transform_without_surfaces; |
2464 expected_leaf_draw_transform_without_surfaces.Translate(30.0, 30.0); | 2437 expected_leaf_draw_transform_without_surfaces.Translate(30.0, 30.0); |
2465 | 2438 |
2466 ExecuteCalculateDrawProperties(root); | 2439 ExecuteCalculateDrawProperties(root); |
2467 EXPECT_FALSE(leaf_node->is_clipped()); | 2440 EXPECT_FALSE(leaf_node->is_clipped()); |
2468 EXPECT_TRUE(leaf_node->render_target()->render_surface()->is_clipped()); | 2441 EXPECT_TRUE(leaf_node->render_target()->is_clipped()); |
2469 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); | 2442 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); |
2470 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, | 2443 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, |
2471 leaf_node->DrawTransform()); | 2444 leaf_node->DrawTransform()); |
2472 | 2445 |
2473 root->SetHasRenderSurface(true); | 2446 root->SetHasRenderSurface(true); |
2474 child->SetHasRenderSurface(true); | 2447 child->SetHasRenderSurface(true); |
2475 grand_child->SetHasRenderSurface(true); | 2448 grand_child->SetHasRenderSurface(true); |
2476 | 2449 |
2477 ExecuteCalculateDrawPropertiesWithoutSeparateSurfaces(root); | 2450 ExecuteCalculateDrawPropertiesWithoutSeparateSurfaces(root); |
2478 EXPECT_TRUE(leaf_node->is_clipped()); | 2451 EXPECT_TRUE(leaf_node->is_clipped()); |
2479 EXPECT_EQ(gfx::Rect(6, 6, 396, 396), leaf_node->clip_rect()); | 2452 EXPECT_EQ(gfx::Rect(6, 6, 396, 396), leaf_node->clip_rect()); |
2480 EXPECT_EQ(gfx::Rect(30, 30, 372, 372), leaf_node->drawable_content_rect()); | 2453 EXPECT_EQ(gfx::Rect(30, 30, 372, 372), leaf_node->drawable_content_rect()); |
2481 EXPECT_EQ(expected_leaf_draw_transform_without_surfaces, | 2454 EXPECT_EQ(expected_leaf_draw_transform_without_surfaces, |
2482 leaf_node->DrawTransform()); | 2455 leaf_node->DrawTransform()); |
2483 | 2456 |
2484 root->SetHasRenderSurface(true); | 2457 root->SetHasRenderSurface(true); |
2485 child->SetHasRenderSurface(true); | 2458 child->SetHasRenderSurface(true); |
2486 grand_child->SetHasRenderSurface(true); | 2459 grand_child->SetHasRenderSurface(true); |
2487 | 2460 |
2488 ExecuteCalculateDrawProperties(root); | 2461 ExecuteCalculateDrawProperties(root); |
2489 EXPECT_FALSE(leaf_node->is_clipped()); | 2462 EXPECT_FALSE(leaf_node->is_clipped()); |
2490 EXPECT_TRUE(leaf_node->render_target()->render_surface()->is_clipped()); | 2463 EXPECT_TRUE(leaf_node->render_target()->is_clipped()); |
2491 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); | 2464 EXPECT_EQ(gfx::Rect(16, 16, 2000, 2000), leaf_node->drawable_content_rect()); |
2492 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, | 2465 EXPECT_EQ(expected_leaf_draw_transform_with_surfaces, |
2493 leaf_node->DrawTransform()); | 2466 leaf_node->DrawTransform()); |
2494 } | 2467 } |
2495 | 2468 |
2496 TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) { | 2469 TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) { |
2497 LayerImpl* parent = root_layer(); | 2470 LayerImpl* parent = root_layer(); |
2498 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); | 2471 LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>(); |
2499 LayerImpl* child_of_rs1 = AddChild<LayerImpl>(render_surface1); | 2472 LayerImpl* child_of_rs1 = AddChild<LayerImpl>(render_surface1); |
2500 LayerImpl* grand_child_of_rs1 = AddChild<LayerImpl>(child_of_rs1); | 2473 LayerImpl* grand_child_of_rs1 = AddChild<LayerImpl>(child_of_rs1); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2574 | 2547 |
2575 ASSERT_TRUE(render_surface1->render_surface()); | 2548 ASSERT_TRUE(render_surface1->render_surface()); |
2576 ASSERT_FALSE(child_of_rs1->render_surface()); | 2549 ASSERT_FALSE(child_of_rs1->render_surface()); |
2577 ASSERT_FALSE(grand_child_of_rs1->render_surface()); | 2550 ASSERT_FALSE(grand_child_of_rs1->render_surface()); |
2578 | 2551 |
2579 ASSERT_TRUE(render_surface2->render_surface()); | 2552 ASSERT_TRUE(render_surface2->render_surface()); |
2580 ASSERT_FALSE(child_of_rs2->render_surface()); | 2553 ASSERT_FALSE(child_of_rs2->render_surface()); |
2581 ASSERT_FALSE(grand_child_of_rs2->render_surface()); | 2554 ASSERT_FALSE(grand_child_of_rs2->render_surface()); |
2582 | 2555 |
2583 // Verify all render target accessors | 2556 // Verify all render target accessors |
2584 EXPECT_EQ(parent, parent->render_target()); | 2557 EXPECT_EQ(parent->render_surface(), parent->render_target()); |
2585 EXPECT_EQ(parent, child_of_root->render_target()); | 2558 EXPECT_EQ(parent->render_surface(), child_of_root->render_target()); |
2586 EXPECT_EQ(parent, grand_child_of_root->render_target()); | 2559 EXPECT_EQ(parent->render_surface(), grand_child_of_root->render_target()); |
2587 | 2560 |
2588 EXPECT_EQ(render_surface1, render_surface1->render_target()); | 2561 EXPECT_EQ(render_surface1->render_surface(), |
2589 EXPECT_EQ(render_surface1, child_of_rs1->render_target()); | 2562 render_surface1->render_target()); |
2590 EXPECT_EQ(render_surface1, grand_child_of_rs1->render_target()); | 2563 EXPECT_EQ(render_surface1->render_surface(), child_of_rs1->render_target()); |
| 2564 EXPECT_EQ(render_surface1->render_surface(), |
| 2565 grand_child_of_rs1->render_target()); |
2591 | 2566 |
2592 EXPECT_EQ(render_surface2, render_surface2->render_target()); | 2567 EXPECT_EQ(render_surface2->render_surface(), |
2593 EXPECT_EQ(render_surface2, child_of_rs2->render_target()); | 2568 render_surface2->render_target()); |
2594 EXPECT_EQ(render_surface2, grand_child_of_rs2->render_target()); | 2569 EXPECT_EQ(render_surface2->render_surface(), child_of_rs2->render_target()); |
| 2570 EXPECT_EQ(render_surface2->render_surface(), |
| 2571 grand_child_of_rs2->render_target()); |
2595 | 2572 |
2596 // Verify screen_space_transform_is_animating values | 2573 // Verify screen_space_transform_is_animating values |
2597 EXPECT_FALSE(parent->screen_space_transform_is_animating()); | 2574 EXPECT_FALSE(parent->screen_space_transform_is_animating()); |
2598 EXPECT_FALSE(child_of_root->screen_space_transform_is_animating()); | 2575 EXPECT_FALSE(child_of_root->screen_space_transform_is_animating()); |
2599 EXPECT_TRUE(grand_child_of_root->screen_space_transform_is_animating()); | 2576 EXPECT_TRUE(grand_child_of_root->screen_space_transform_is_animating()); |
2600 EXPECT_FALSE(render_surface1->screen_space_transform_is_animating()); | 2577 EXPECT_FALSE(render_surface1->screen_space_transform_is_animating()); |
2601 EXPECT_FALSE(child_of_rs1->screen_space_transform_is_animating()); | 2578 EXPECT_FALSE(child_of_rs1->screen_space_transform_is_animating()); |
2602 EXPECT_FALSE(grand_child_of_rs1->screen_space_transform_is_animating()); | 2579 EXPECT_FALSE(grand_child_of_rs1->screen_space_transform_is_animating()); |
2603 EXPECT_TRUE(render_surface2->screen_space_transform_is_animating()); | 2580 EXPECT_TRUE(render_surface2->screen_space_transform_is_animating()); |
2604 EXPECT_TRUE(child_of_rs2->screen_space_transform_is_animating()); | 2581 EXPECT_TRUE(child_of_rs2->screen_space_transform_is_animating()); |
(...skipping 6663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9268 SetLayerPropertiesForTesting(render_surface, identity_matrix, gfx::Point3F(), | 9245 SetLayerPropertiesForTesting(render_surface, identity_matrix, gfx::Point3F(), |
9269 gfx::PointF(), gfx::Size(30, 30), true, false, | 9246 gfx::PointF(), gfx::Size(30, 30), true, false, |
9270 true); | 9247 true); |
9271 SetLayerPropertiesForTesting(test_layer, identity_matrix, gfx::Point3F(), | 9248 SetLayerPropertiesForTesting(test_layer, identity_matrix, gfx::Point3F(), |
9272 gfx::PointF(), gfx::Size(30, 30), true, false, | 9249 gfx::PointF(), gfx::Size(30, 30), true, false, |
9273 false); | 9250 false); |
9274 | 9251 |
9275 ExecuteCalculateDrawProperties(root); | 9252 ExecuteCalculateDrawProperties(root); |
9276 | 9253 |
9277 EXPECT_TRUE(test_layer->is_clipped()); | 9254 EXPECT_TRUE(test_layer->is_clipped()); |
9278 EXPECT_FALSE(test_layer->render_target()->render_surface()->is_clipped()); | 9255 EXPECT_FALSE(test_layer->render_target()->is_clipped()); |
9279 EXPECT_EQ(gfx::Rect(-2, -2, 30, 30), test_layer->clip_rect()); | 9256 EXPECT_EQ(gfx::Rect(-2, -2, 30, 30), test_layer->clip_rect()); |
9280 EXPECT_EQ(gfx::Rect(28, 28), test_layer->drawable_content_rect()); | 9257 EXPECT_EQ(gfx::Rect(28, 28), test_layer->drawable_content_rect()); |
9281 } | 9258 } |
9282 | 9259 |
9283 TEST_F(LayerTreeHostCommonTest, | 9260 TEST_F(LayerTreeHostCommonTest, |
9284 RenderSurfaceWithUnclippedDescendantsButDoesntApplyOwnClip) { | 9261 RenderSurfaceWithUnclippedDescendantsButDoesntApplyOwnClip) { |
9285 // Ensure that the visible layer rect of a descendant of a surface with | 9262 // Ensure that the visible layer rect of a descendant of a surface with |
9286 // unclipped descendants is computed correctly, when the surface doesn't apply | 9263 // unclipped descendants is computed correctly, when the surface doesn't apply |
9287 // a clip. | 9264 // a clip. |
9288 LayerImpl* root = root_layer(); | 9265 LayerImpl* root = root_layer(); |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10008 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); | 9985 EXPECT_EQ(scroll_child6.id, grand_child10->scroll_tree_index()); |
10009 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); | 9986 EXPECT_EQ(scroll_root1.id, parent3->scroll_tree_index()); |
10010 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); | 9987 EXPECT_EQ(scroll_child7.id, child8->scroll_tree_index()); |
10011 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); | 9988 EXPECT_EQ(scroll_root1.id, parent4->scroll_tree_index()); |
10012 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); | 9989 EXPECT_EQ(scroll_root1.id, child9->scroll_tree_index()); |
10013 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); | 9990 EXPECT_EQ(scroll_root1.id, grand_child12->scroll_tree_index()); |
10014 } | 9991 } |
10015 | 9992 |
10016 } // namespace | 9993 } // namespace |
10017 } // namespace cc | 9994 } // namespace cc |
OLD | NEW |