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

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

Issue 311253004: Invert DSF to map from delegated frame to layer space (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 SetFrameData( 482 SetFrameData(
483 CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1))); 483 CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)));
484 break; 484 break;
485 case 2: 485 case 2:
486 // A different frame size will damage the whole layer. 486 // A different frame size will damage the whole layer.
487 SetFrameData( 487 SetFrameData(
488 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(0, 0, 0, 0))); 488 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(0, 0, 0, 0)));
489 break; 489 break;
490 case 3: 490 case 3:
491 // Should create a total amount of gfx::Rect(2, 2, 10, 6) damage. 491 // Should create a total amount of gfx::Rect(2, 2, 10, 6) damage.
492 // The frame size is 20x20 while the layer is 10x10, so this should
493 // produce a gfx::Rect(1, 1, 5, 3) damage rect.
494 SetFrameData( 492 SetFrameData(
495 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(2, 2, 5, 5))); 493 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(2, 2, 5, 5)));
496 SetFrameData( 494 SetFrameData(
497 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(7, 2, 5, 6))); 495 CreateFrameData(gfx::Rect(0, 0, 20, 20), gfx::Rect(7, 2, 5, 6)));
498 break; 496 break;
499 case 4: 497 case 4:
500 // Should create zero damage. 498 // Should create zero damage.
501 layer_tree_host()->SetNeedsCommit(); 499 layer_tree_host()->SetNeedsCommit();
502 break; 500 break;
503 case 5: 501 case 5:
(...skipping 26 matching lines...) Expand all
530 // Changing the frame size damages the full layer. 528 // Changing the frame size damages the full layer.
531 SetFrameData( 529 SetFrameData(
532 CreateFrameData(gfx::Rect(0, 0, 5, 5), gfx::Rect(4, 4, 1, 1))); 530 CreateFrameData(gfx::Rect(0, 0, 5, 5), gfx::Rect(4, 4, 1, 1)));
533 break; 531 break;
534 case 12: 532 case 12:
535 // An invalid frame isn't used, so it should not cause damage. 533 // An invalid frame isn't used, so it should not cause damage.
536 SetFrameData(CreateInvalidFrameData(gfx::Rect(0, 0, 5, 5), 534 SetFrameData(CreateInvalidFrameData(gfx::Rect(0, 0, 5, 5),
537 gfx::Rect(4, 4, 1, 1))); 535 gfx::Rect(4, 4, 1, 1)));
538 break; 536 break;
539 case 13: 537 case 13:
540 // Should create gfx::Rect(1, 1, 2, 2) of damage. The frame size is 538 // Should create gfx::Rect(1, 1, 2, 2) of damage.
541 // 5x5 and the display size is now set to 10x10, so this should result
542 // in a gfx::Rect(2, 2, 4, 4) damage rect.
543 SetFrameData( 539 SetFrameData(
544 CreateFrameData(gfx::Rect(0, 0, 5, 5), gfx::Rect(1, 1, 2, 2))); 540 CreateFrameData(gfx::Rect(0, 0, 5, 5), gfx::Rect(1, 1, 2, 2)));
545 break; 541 break;
546 case 14: 542 case 14:
547 // Should create zero damage. 543 // Should create zero damage.
548 layer_tree_host()->SetNeedsCommit(); 544 layer_tree_host()->SetNeedsCommit();
549 break; 545 break;
550 case 15: 546 case 15:
551 // Moving the layer out of the tree and back in will damage the whole 547 // Moving the layer out of the tree and back in will damage the whole
552 // impl layer. 548 // impl layer.
(...skipping 25 matching lines...) Expand all
578 574
579 // Also set a new frame. 575 // Also set a new frame.
580 SetFrameData( 576 SetFrameData(
581 CreateFrameData(gfx::Rect(0, 0, 10, 10), gfx::Rect(4, 0, 1, 1))); 577 CreateFrameData(gfx::Rect(0, 0, 10, 10), gfx::Rect(4, 0, 1, 1)));
582 break; 578 break;
583 case 19: 579 case 19:
584 // Set another new frame, both layers should be damaged in the same 580 // Set another new frame, both layers should be damaged in the same
585 // ways. 581 // ways.
586 SetFrameData( 582 SetFrameData(
587 CreateFrameData(gfx::Rect(0, 0, 10, 10), gfx::Rect(3, 3, 1, 1))); 583 CreateFrameData(gfx::Rect(0, 0, 10, 10), gfx::Rect(3, 3, 1, 1)));
584 break;
588 } 585 }
589 first_draw_for_source_frame_ = true; 586 first_draw_for_source_frame_ = true;
590 } 587 }
591 588
592 virtual DrawResult PrepareToDrawOnThread( 589 virtual DrawResult PrepareToDrawOnThread(
593 LayerTreeHostImpl* host_impl, 590 LayerTreeHostImpl* host_impl,
594 LayerTreeHostImpl::FrameData* frame, 591 LayerTreeHostImpl::FrameData* frame,
595 DrawResult draw_result) OVERRIDE { 592 DrawResult draw_result) OVERRIDE {
596 EXPECT_EQ(DRAW_SUCCESS, draw_result); 593 EXPECT_EQ(DRAW_SUCCESS, draw_result);
597 594
(...skipping 13 matching lines...) Expand all
611 // First frame is damaged because of viewport resize. 608 // First frame is damaged because of viewport resize.
612 EXPECT_EQ(gfx::Rect(15, 15).ToString(), damage_rect.ToString()); 609 EXPECT_EQ(gfx::Rect(15, 15).ToString(), damage_rect.ToString());
613 break; 610 break;
614 case 1: 611 case 1:
615 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 612 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
616 break; 613 break;
617 case 2: 614 case 2:
618 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 615 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
619 break; 616 break;
620 case 3: 617 case 3:
621 EXPECT_EQ(gfx::Rect(1, 1, 5, 3).ToString(), damage_rect.ToString()); 618 EXPECT_EQ(gfx::Rect(2, 2, 8, 6).ToString(), damage_rect.ToString());
622 break; 619 break;
623 case 4: 620 case 4:
624 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 621 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
625 break; 622 break;
626 case 5: 623 case 5:
627 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 624 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
628 break; 625 break;
629 case 6: 626 case 6:
630 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 627 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
631 break; 628 break;
632 case 7: 629 case 7:
633 EXPECT_EQ(gfx::Rect(6, 6).ToString(), damage_rect.ToString()); 630 EXPECT_EQ(gfx::Rect(6, 6).ToString(), damage_rect.ToString());
634 break; 631 break;
635 case 8: 632 case 8:
636 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 633 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
637 break; 634 break;
638 case 9: 635 case 9:
639 EXPECT_EQ(gfx::Rect(6, 6).ToString(), damage_rect.ToString()); 636 EXPECT_EQ(gfx::Rect(6, 6).ToString(), damage_rect.ToString());
640 break; 637 break;
641 case 10: 638 case 10:
642 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 639 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
643 break; 640 break;
644 case 11: 641 case 11:
645 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 642 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
646 break; 643 break;
647 case 12: 644 case 12:
648 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 645 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
649 break; 646 break;
650 case 13: 647 case 13:
651 EXPECT_EQ(gfx::Rect(2, 2, 4, 4).ToString(), damage_rect.ToString()); 648 EXPECT_EQ(gfx::Rect(1, 1, 2, 2).ToString(), damage_rect.ToString());
652 break; 649 break;
653 case 14: 650 case 14:
654 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString()); 651 EXPECT_EQ(gfx::Rect().ToString(), damage_rect.ToString());
655 break; 652 break;
656 case 15: 653 case 15:
657 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 654 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
658 break; 655 break;
659 case 16: 656 case 16:
660 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString()); 657 EXPECT_EQ(gfx::Rect(10, 10).ToString(), damage_rect.ToString());
661 break; 658 break;
(...skipping 1533 matching lines...) Expand 10 before | Expand all | Expand 10 after
2195 } 2192 }
2196 2193
2197 scoped_refptr<DelegatedRendererLayer> delegated_thief_; 2194 scoped_refptr<DelegatedRendererLayer> delegated_thief_;
2198 }; 2195 };
2199 2196
2200 SINGLE_AND_MULTI_THREAD_TEST_F( 2197 SINGLE_AND_MULTI_THREAD_TEST_F(
2201 LayerTreeHostDelegatedTestRemoveAndChangeResources); 2198 LayerTreeHostDelegatedTestRemoveAndChangeResources);
2202 2199
2203 } // namespace 2200 } // namespace
2204 } // namespace cc 2201 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698