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

Side by Side Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 1868003002: cc: Move RenderTarget Information to Effect Tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698