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

Side by Side Diff: ui/views/view_unittest.cc

Issue 1053143002: Make View::Paint use ui::PaintRecorder to access PaintContext's canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: paintrecorder: . Created 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/rand_util.h" 8 #include "base/rand_util.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "ui/base/accelerators/accelerator.h" 12 #include "ui/base/accelerators/accelerator.h"
13 #include "ui/base/clipboard/clipboard.h" 13 #include "ui/base/clipboard/clipboard.h"
14 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 #include "ui/compositor/compositor.h" 15 #include "ui/compositor/compositor.h"
16 #include "ui/compositor/layer.h" 16 #include "ui/compositor/layer.h"
17 #include "ui/compositor/layer_animator.h" 17 #include "ui/compositor/layer_animator.h"
18 #include "ui/compositor/paint_context.h"
18 #include "ui/compositor/test/draw_waiter_for_test.h" 19 #include "ui/compositor/test/draw_waiter_for_test.h"
19 #include "ui/events/event.h" 20 #include "ui/events/event.h"
20 #include "ui/events/event_utils.h" 21 #include "ui/events/event_utils.h"
21 #include "ui/events/keycodes/keyboard_codes.h" 22 #include "ui/events/keycodes/keyboard_codes.h"
22 #include "ui/gfx/canvas.h" 23 #include "ui/gfx/canvas.h"
23 #include "ui/gfx/path.h" 24 #include "ui/gfx/path.h"
24 #include "ui/gfx/transform.h" 25 #include "ui/gfx/transform.h"
25 #include "ui/strings/grit/ui_strings.h" 26 #include "ui/strings/grit/ui_strings.h"
26 #include "ui/views/background.h" 27 #include "ui/views/background.h"
27 #include "ui/views/controls/native/native_view_host.h" 28 #include "ui/views/controls/native/native_view_host.h"
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 443
443 TestView* v2 = new TestView; 444 TestView* v2 = new TestView;
444 v2->SetBounds(3, 4, 6, 5); 445 v2->SetBounds(3, 4, 6, 5);
445 v1->AddChildView(v2); 446 v1->AddChildView(v2);
446 447
447 gfx::Canvas canvas(root_view->size(), 1.f, true); 448 gfx::Canvas canvas(root_view->size(), 1.f, true);
448 gfx::Rect paint_area(1, 1); 449 gfx::Rect paint_area(1, 1);
449 450
450 EXPECT_FALSE(v1->did_paint_); 451 EXPECT_FALSE(v1->did_paint_);
451 EXPECT_FALSE(v2->did_paint_); 452 EXPECT_FALSE(v2->did_paint_);
452 root_view->Paint(View::PaintContext(&canvas)); 453 root_view->Paint(ui::PaintContext(&canvas));
453 EXPECT_TRUE(v1->did_paint_); 454 EXPECT_TRUE(v1->did_paint_);
454 EXPECT_TRUE(v2->did_paint_); 455 EXPECT_TRUE(v2->did_paint_);
455 456
456 v1->Reset(); 457 v1->Reset();
457 v2->Reset(); 458 v2->Reset();
458 EXPECT_FALSE(v1->did_paint_); 459 EXPECT_FALSE(v1->did_paint_);
459 EXPECT_FALSE(v2->did_paint_); 460 EXPECT_FALSE(v2->did_paint_);
460 root_view->Paint( 461 root_view->Paint(
461 View::PaintContext(&canvas, paint_area).CloneWithoutInvalidation()); 462 ui::PaintContext(&canvas, paint_area).CloneWithoutInvalidation());
462 EXPECT_TRUE(v1->did_paint_); 463 EXPECT_TRUE(v1->did_paint_);
463 EXPECT_TRUE(v2->did_paint_); 464 EXPECT_TRUE(v2->did_paint_);
464 } 465 }
465 466
466 TEST_F(ViewTest, PaintContainsChildren) { 467 TEST_F(ViewTest, PaintContainsChildren) {
467 Widget* widget = new Widget; 468 Widget* widget = new Widget;
468 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 469 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
469 widget->Init(params); 470 widget->Init(params);
470 View* root_view = widget->GetRootView(); 471 View* root_view = widget->GetRootView();
471 root_view->SetBounds(0, 0, 25, 26); 472 root_view->SetBounds(0, 0, 25, 26);
472 473
473 TestView* v1 = new TestView; 474 TestView* v1 = new TestView;
474 v1->SetBounds(10, 11, 12, 13); 475 v1->SetBounds(10, 11, 12, 13);
475 root_view->AddChildView(v1); 476 root_view->AddChildView(v1);
476 477
477 TestView* v2 = new TestView; 478 TestView* v2 = new TestView;
478 v2->SetBounds(3, 4, 6, 5); 479 v2->SetBounds(3, 4, 6, 5);
479 v1->AddChildView(v2); 480 v1->AddChildView(v2);
480 481
481 gfx::Canvas canvas(root_view->size(), 1.f, true); 482 gfx::Canvas canvas(root_view->size(), 1.f, true);
482 gfx::Rect paint_area(25, 26); 483 gfx::Rect paint_area(25, 26);
483 484
484 EXPECT_FALSE(v1->did_paint_); 485 EXPECT_FALSE(v1->did_paint_);
485 EXPECT_FALSE(v2->did_paint_); 486 EXPECT_FALSE(v2->did_paint_);
486 root_view->Paint(View::PaintContext(&canvas, paint_area)); 487 root_view->Paint(ui::PaintContext(&canvas, paint_area));
487 EXPECT_TRUE(v1->did_paint_); 488 EXPECT_TRUE(v1->did_paint_);
488 EXPECT_TRUE(v2->did_paint_); 489 EXPECT_TRUE(v2->did_paint_);
489 } 490 }
490 491
491 TEST_F(ViewTest, PaintContainsChildrenInRTL) { 492 TEST_F(ViewTest, PaintContainsChildrenInRTL) {
492 ScopedRTL rtl; 493 ScopedRTL rtl;
493 494
494 Widget* widget = new Widget; 495 Widget* widget = new Widget;
495 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 496 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
496 widget->Init(params); 497 widget->Init(params);
(...skipping 17 matching lines...) Expand all
514 v2->SetPaintToLayer(true); 515 v2->SetPaintToLayer(true);
515 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6 516 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6
516 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds()); 517 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds());
517 v2->SetPaintToLayer(false); 518 v2->SetPaintToLayer(false);
518 519
519 gfx::Canvas canvas(root_view->size(), 1.f, true); 520 gfx::Canvas canvas(root_view->size(), 1.f, true);
520 gfx::Rect paint_area(25, 26); 521 gfx::Rect paint_area(25, 26);
521 522
522 EXPECT_FALSE(v1->did_paint_); 523 EXPECT_FALSE(v1->did_paint_);
523 EXPECT_FALSE(v2->did_paint_); 524 EXPECT_FALSE(v2->did_paint_);
524 root_view->Paint(View::PaintContext(&canvas, paint_area)); 525 root_view->Paint(ui::PaintContext(&canvas, paint_area));
525 EXPECT_TRUE(v1->did_paint_); 526 EXPECT_TRUE(v1->did_paint_);
526 EXPECT_TRUE(v2->did_paint_); 527 EXPECT_TRUE(v2->did_paint_);
527 } 528 }
528 529
529 TEST_F(ViewTest, PaintIntersectsChildren) { 530 TEST_F(ViewTest, PaintIntersectsChildren) {
530 Widget* widget = new Widget; 531 Widget* widget = new Widget;
531 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 532 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
532 widget->Init(params); 533 widget->Init(params);
533 View* root_view = widget->GetRootView(); 534 View* root_view = widget->GetRootView();
534 root_view->SetBounds(0, 0, 25, 26); 535 root_view->SetBounds(0, 0, 25, 26);
535 536
536 TestView* v1 = new TestView; 537 TestView* v1 = new TestView;
537 v1->SetBounds(10, 11, 12, 13); 538 v1->SetBounds(10, 11, 12, 13);
538 root_view->AddChildView(v1); 539 root_view->AddChildView(v1);
539 540
540 TestView* v2 = new TestView; 541 TestView* v2 = new TestView;
541 v2->SetBounds(3, 4, 6, 5); 542 v2->SetBounds(3, 4, 6, 5);
542 v1->AddChildView(v2); 543 v1->AddChildView(v2);
543 544
544 gfx::Canvas canvas(root_view->size(), 1.f, true); 545 gfx::Canvas canvas(root_view->size(), 1.f, true);
545 gfx::Rect paint_area(9, 10, 5, 6); 546 gfx::Rect paint_area(9, 10, 5, 6);
546 547
547 EXPECT_FALSE(v1->did_paint_); 548 EXPECT_FALSE(v1->did_paint_);
548 EXPECT_FALSE(v2->did_paint_); 549 EXPECT_FALSE(v2->did_paint_);
549 root_view->Paint(View::PaintContext(&canvas, paint_area)); 550 root_view->Paint(ui::PaintContext(&canvas, paint_area));
550 EXPECT_TRUE(v1->did_paint_); 551 EXPECT_TRUE(v1->did_paint_);
551 EXPECT_TRUE(v2->did_paint_); 552 EXPECT_TRUE(v2->did_paint_);
552 } 553 }
553 554
554 TEST_F(ViewTest, PaintIntersectsChildrenInRTL) { 555 TEST_F(ViewTest, PaintIntersectsChildrenInRTL) {
555 ScopedRTL rtl; 556 ScopedRTL rtl;
556 557
557 Widget* widget = new Widget; 558 Widget* widget = new Widget;
558 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 559 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
559 widget->Init(params); 560 widget->Init(params);
(...skipping 17 matching lines...) Expand all
577 v2->SetPaintToLayer(true); 578 v2->SetPaintToLayer(true);
578 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6 579 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6
579 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds()); 580 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds());
580 v2->SetPaintToLayer(false); 581 v2->SetPaintToLayer(false);
581 582
582 gfx::Canvas canvas(root_view->size(), 1.f, true); 583 gfx::Canvas canvas(root_view->size(), 1.f, true);
583 gfx::Rect paint_area(2, 10, 5, 6); 584 gfx::Rect paint_area(2, 10, 5, 6);
584 585
585 EXPECT_FALSE(v1->did_paint_); 586 EXPECT_FALSE(v1->did_paint_);
586 EXPECT_FALSE(v2->did_paint_); 587 EXPECT_FALSE(v2->did_paint_);
587 root_view->Paint(View::PaintContext(&canvas, paint_area)); 588 root_view->Paint(ui::PaintContext(&canvas, paint_area));
588 EXPECT_TRUE(v1->did_paint_); 589 EXPECT_TRUE(v1->did_paint_);
589 EXPECT_TRUE(v2->did_paint_); 590 EXPECT_TRUE(v2->did_paint_);
590 } 591 }
591 592
592 TEST_F(ViewTest, PaintIntersectsChildButNotGrandChild) { 593 TEST_F(ViewTest, PaintIntersectsChildButNotGrandChild) {
593 Widget* widget = new Widget; 594 Widget* widget = new Widget;
594 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 595 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
595 widget->Init(params); 596 widget->Init(params);
596 View* root_view = widget->GetRootView(); 597 View* root_view = widget->GetRootView();
597 root_view->SetBounds(0, 0, 25, 26); 598 root_view->SetBounds(0, 0, 25, 26);
598 599
599 TestView* v1 = new TestView; 600 TestView* v1 = new TestView;
600 v1->SetBounds(10, 11, 12, 13); 601 v1->SetBounds(10, 11, 12, 13);
601 root_view->AddChildView(v1); 602 root_view->AddChildView(v1);
602 603
603 TestView* v2 = new TestView; 604 TestView* v2 = new TestView;
604 v2->SetBounds(3, 4, 6, 5); 605 v2->SetBounds(3, 4, 6, 5);
605 v1->AddChildView(v2); 606 v1->AddChildView(v2);
606 607
607 gfx::Canvas canvas(root_view->size(), 1.f, true); 608 gfx::Canvas canvas(root_view->size(), 1.f, true);
608 gfx::Rect paint_area(9, 10, 2, 3); 609 gfx::Rect paint_area(9, 10, 2, 3);
609 610
610 EXPECT_FALSE(v1->did_paint_); 611 EXPECT_FALSE(v1->did_paint_);
611 EXPECT_FALSE(v2->did_paint_); 612 EXPECT_FALSE(v2->did_paint_);
612 root_view->Paint(View::PaintContext(&canvas, paint_area)); 613 root_view->Paint(ui::PaintContext(&canvas, paint_area));
613 EXPECT_TRUE(v1->did_paint_); 614 EXPECT_TRUE(v1->did_paint_);
614 EXPECT_FALSE(v2->did_paint_); 615 EXPECT_FALSE(v2->did_paint_);
615 } 616 }
616 617
617 TEST_F(ViewTest, PaintIntersectsChildButNotGrandChildInRTL) { 618 TEST_F(ViewTest, PaintIntersectsChildButNotGrandChildInRTL) {
618 ScopedRTL rtl; 619 ScopedRTL rtl;
619 620
620 Widget* widget = new Widget; 621 Widget* widget = new Widget;
621 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 622 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
622 widget->Init(params); 623 widget->Init(params);
(...skipping 17 matching lines...) Expand all
640 v2->SetPaintToLayer(true); 641 v2->SetPaintToLayer(true);
641 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6 642 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6
642 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds()); 643 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds());
643 v2->SetPaintToLayer(false); 644 v2->SetPaintToLayer(false);
644 645
645 gfx::Canvas canvas(root_view->size(), 1.f, true); 646 gfx::Canvas canvas(root_view->size(), 1.f, true);
646 gfx::Rect paint_area(2, 10, 2, 3); 647 gfx::Rect paint_area(2, 10, 2, 3);
647 648
648 EXPECT_FALSE(v1->did_paint_); 649 EXPECT_FALSE(v1->did_paint_);
649 EXPECT_FALSE(v2->did_paint_); 650 EXPECT_FALSE(v2->did_paint_);
650 root_view->Paint(View::PaintContext(&canvas, paint_area)); 651 root_view->Paint(ui::PaintContext(&canvas, paint_area));
651 EXPECT_TRUE(v1->did_paint_); 652 EXPECT_TRUE(v1->did_paint_);
652 EXPECT_FALSE(v2->did_paint_); 653 EXPECT_FALSE(v2->did_paint_);
653 } 654 }
654 655
655 TEST_F(ViewTest, PaintIntersectsNoChildren) { 656 TEST_F(ViewTest, PaintIntersectsNoChildren) {
656 Widget* widget = new Widget; 657 Widget* widget = new Widget;
657 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 658 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
658 widget->Init(params); 659 widget->Init(params);
659 View* root_view = widget->GetRootView(); 660 View* root_view = widget->GetRootView();
660 root_view->SetBounds(0, 0, 25, 26); 661 root_view->SetBounds(0, 0, 25, 26);
661 662
662 TestView* v1 = new TestView; 663 TestView* v1 = new TestView;
663 v1->SetBounds(10, 11, 12, 13); 664 v1->SetBounds(10, 11, 12, 13);
664 root_view->AddChildView(v1); 665 root_view->AddChildView(v1);
665 666
666 TestView* v2 = new TestView; 667 TestView* v2 = new TestView;
667 v2->SetBounds(3, 4, 6, 5); 668 v2->SetBounds(3, 4, 6, 5);
668 v1->AddChildView(v2); 669 v1->AddChildView(v2);
669 670
670 gfx::Canvas canvas(root_view->size(), 1.f, true); 671 gfx::Canvas canvas(root_view->size(), 1.f, true);
671 gfx::Rect paint_area(9, 10, 2, 1); 672 gfx::Rect paint_area(9, 10, 2, 1);
672 673
673 EXPECT_FALSE(v1->did_paint_); 674 EXPECT_FALSE(v1->did_paint_);
674 EXPECT_FALSE(v2->did_paint_); 675 EXPECT_FALSE(v2->did_paint_);
675 root_view->Paint(View::PaintContext(&canvas, paint_area)); 676 root_view->Paint(ui::PaintContext(&canvas, paint_area));
676 EXPECT_FALSE(v1->did_paint_); 677 EXPECT_FALSE(v1->did_paint_);
677 EXPECT_FALSE(v2->did_paint_); 678 EXPECT_FALSE(v2->did_paint_);
678 } 679 }
679 680
680 TEST_F(ViewTest, PaintIntersectsNoChildrenInRTL) { 681 TEST_F(ViewTest, PaintIntersectsNoChildrenInRTL) {
681 ScopedRTL rtl; 682 ScopedRTL rtl;
682 683
683 Widget* widget = new Widget; 684 Widget* widget = new Widget;
684 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 685 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
685 widget->Init(params); 686 widget->Init(params);
(...skipping 17 matching lines...) Expand all
703 v2->SetPaintToLayer(true); 704 v2->SetPaintToLayer(true);
704 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6 705 // x: 25 - 10(parent x) - 3(x) - 6(width) = 6
705 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds()); 706 EXPECT_EQ(gfx::Rect(6, 15, 6, 5), v2->layer()->bounds());
706 v2->SetPaintToLayer(false); 707 v2->SetPaintToLayer(false);
707 708
708 gfx::Canvas canvas(root_view->size(), 1.f, true); 709 gfx::Canvas canvas(root_view->size(), 1.f, true);
709 gfx::Rect paint_area(2, 10, 2, 1); 710 gfx::Rect paint_area(2, 10, 2, 1);
710 711
711 EXPECT_FALSE(v1->did_paint_); 712 EXPECT_FALSE(v1->did_paint_);
712 EXPECT_FALSE(v2->did_paint_); 713 EXPECT_FALSE(v2->did_paint_);
713 root_view->Paint(View::PaintContext(&canvas, paint_area)); 714 root_view->Paint(ui::PaintContext(&canvas, paint_area));
714 EXPECT_FALSE(v1->did_paint_); 715 EXPECT_FALSE(v1->did_paint_);
715 EXPECT_FALSE(v2->did_paint_); 716 EXPECT_FALSE(v2->did_paint_);
716 } 717 }
717 718
718 TEST_F(ViewTest, PaintIntersectsOneChild) { 719 TEST_F(ViewTest, PaintIntersectsOneChild) {
719 Widget* widget = new Widget; 720 Widget* widget = new Widget;
720 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 721 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
721 widget->Init(params); 722 widget->Init(params);
722 View* root_view = widget->GetRootView(); 723 View* root_view = widget->GetRootView();
723 root_view->SetBounds(0, 0, 25, 26); 724 root_view->SetBounds(0, 0, 25, 26);
724 725
725 TestView* v1 = new TestView; 726 TestView* v1 = new TestView;
726 v1->SetBounds(10, 11, 12, 13); 727 v1->SetBounds(10, 11, 12, 13);
727 root_view->AddChildView(v1); 728 root_view->AddChildView(v1);
728 729
729 TestView* v2 = new TestView; 730 TestView* v2 = new TestView;
730 v2->SetBounds(3, 4, 6, 5); 731 v2->SetBounds(3, 4, 6, 5);
731 root_view->AddChildView(v2); 732 root_view->AddChildView(v2);
732 733
733 gfx::Canvas canvas(root_view->size(), 1.f, true); 734 gfx::Canvas canvas(root_view->size(), 1.f, true);
734 // Intersects with the second child only. 735 // Intersects with the second child only.
735 gfx::Rect paint_area(3, 3, 1, 2); 736 gfx::Rect paint_area(3, 3, 1, 2);
736 737
737 EXPECT_FALSE(v1->did_paint_); 738 EXPECT_FALSE(v1->did_paint_);
738 EXPECT_FALSE(v2->did_paint_); 739 EXPECT_FALSE(v2->did_paint_);
739 root_view->Paint(View::PaintContext(&canvas, paint_area)); 740 root_view->Paint(ui::PaintContext(&canvas, paint_area));
740 EXPECT_FALSE(v1->did_paint_); 741 EXPECT_FALSE(v1->did_paint_);
741 EXPECT_TRUE(v2->did_paint_); 742 EXPECT_TRUE(v2->did_paint_);
742 743
743 // Intersects with the first child only. 744 // Intersects with the first child only.
744 paint_area = gfx::Rect(20, 10, 1, 2); 745 paint_area = gfx::Rect(20, 10, 1, 2);
745 746
746 v1->Reset(); 747 v1->Reset();
747 v2->Reset(); 748 v2->Reset();
748 EXPECT_FALSE(v1->did_paint_); 749 EXPECT_FALSE(v1->did_paint_);
749 EXPECT_FALSE(v2->did_paint_); 750 EXPECT_FALSE(v2->did_paint_);
750 root_view->Paint(View::PaintContext(&canvas, paint_area)); 751 root_view->Paint(ui::PaintContext(&canvas, paint_area));
751 EXPECT_TRUE(v1->did_paint_); 752 EXPECT_TRUE(v1->did_paint_);
752 EXPECT_FALSE(v2->did_paint_); 753 EXPECT_FALSE(v2->did_paint_);
753 } 754 }
754 755
755 TEST_F(ViewTest, PaintIntersectsOneChildInRTL) { 756 TEST_F(ViewTest, PaintIntersectsOneChildInRTL) {
756 ScopedRTL rtl; 757 ScopedRTL rtl;
757 758
758 Widget* widget = new Widget; 759 Widget* widget = new Widget;
759 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 760 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
760 widget->Init(params); 761 widget->Init(params);
(...skipping 18 matching lines...) Expand all
779 // x: 25 - 3(x) - 6(width) = 16 780 // x: 25 - 3(x) - 6(width) = 16
780 EXPECT_EQ(gfx::Rect(16, 4, 6, 5), v2->layer()->bounds()); 781 EXPECT_EQ(gfx::Rect(16, 4, 6, 5), v2->layer()->bounds());
781 v2->SetPaintToLayer(false); 782 v2->SetPaintToLayer(false);
782 783
783 gfx::Canvas canvas(root_view->size(), 1.f, true); 784 gfx::Canvas canvas(root_view->size(), 1.f, true);
784 // Intersects with the first child only. 785 // Intersects with the first child only.
785 gfx::Rect paint_area(3, 10, 1, 2); 786 gfx::Rect paint_area(3, 10, 1, 2);
786 787
787 EXPECT_FALSE(v1->did_paint_); 788 EXPECT_FALSE(v1->did_paint_);
788 EXPECT_FALSE(v2->did_paint_); 789 EXPECT_FALSE(v2->did_paint_);
789 root_view->Paint(View::PaintContext(&canvas, paint_area)); 790 root_view->Paint(ui::PaintContext(&canvas, paint_area));
790 EXPECT_TRUE(v1->did_paint_); 791 EXPECT_TRUE(v1->did_paint_);
791 EXPECT_FALSE(v2->did_paint_); 792 EXPECT_FALSE(v2->did_paint_);
792 793
793 // Intersects with the second child only. 794 // Intersects with the second child only.
794 paint_area = gfx::Rect(21, 3, 1, 2); 795 paint_area = gfx::Rect(21, 3, 1, 2);
795 796
796 v1->Reset(); 797 v1->Reset();
797 v2->Reset(); 798 v2->Reset();
798 EXPECT_FALSE(v1->did_paint_); 799 EXPECT_FALSE(v1->did_paint_);
799 EXPECT_FALSE(v2->did_paint_); 800 EXPECT_FALSE(v2->did_paint_);
800 root_view->Paint(View::PaintContext(&canvas, paint_area)); 801 root_view->Paint(ui::PaintContext(&canvas, paint_area));
801 EXPECT_FALSE(v1->did_paint_); 802 EXPECT_FALSE(v1->did_paint_);
802 EXPECT_TRUE(v2->did_paint_); 803 EXPECT_TRUE(v2->did_paint_);
803 } 804 }
804 805
805 TEST_F(ViewTest, PaintInPromotedToLayer) { 806 TEST_F(ViewTest, PaintInPromotedToLayer) {
806 Widget* widget = new Widget; 807 Widget* widget = new Widget;
807 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 808 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
808 widget->Init(params); 809 widget->Init(params);
809 View* root_view = widget->GetRootView(); 810 View* root_view = widget->GetRootView();
810 root_view->SetBounds(0, 0, 25, 26); 811 root_view->SetBounds(0, 0, 25, 26);
811 812
812 TestView* v1 = new TestView; 813 TestView* v1 = new TestView;
813 v1->SetPaintToLayer(true); 814 v1->SetPaintToLayer(true);
814 v1->SetBounds(10, 11, 12, 13); 815 v1->SetBounds(10, 11, 12, 13);
815 root_view->AddChildView(v1); 816 root_view->AddChildView(v1);
816 817
817 TestView* v2 = new TestView; 818 TestView* v2 = new TestView;
818 v2->SetBounds(3, 4, 6, 5); 819 v2->SetBounds(3, 4, 6, 5);
819 v1->AddChildView(v2); 820 v1->AddChildView(v2);
820 821
821 EXPECT_FALSE(v1->did_paint_); 822 EXPECT_FALSE(v1->did_paint_);
822 EXPECT_FALSE(v2->did_paint_); 823 EXPECT_FALSE(v2->did_paint_);
823 824
824 { 825 {
825 gfx::Canvas canvas(root_view->size(), 1.f, true); 826 gfx::Canvas canvas(root_view->size(), 1.f, true);
826 gfx::Rect paint_area(25, 26); 827 gfx::Rect paint_area(25, 26);
827 828
828 // The promoted views are not painted as they are separate paint roots. 829 // The promoted views are not painted as they are separate paint roots.
829 root_view->Paint(View::PaintContext(&canvas, paint_area)); 830 root_view->Paint(ui::PaintContext(&canvas, paint_area));
830 EXPECT_FALSE(v1->did_paint_); 831 EXPECT_FALSE(v1->did_paint_);
831 EXPECT_FALSE(v2->did_paint_); 832 EXPECT_FALSE(v2->did_paint_);
832 } 833 }
833 834
834 { 835 {
835 gfx::Canvas canvas(v1->size(), 1.f, true); 836 gfx::Canvas canvas(v1->size(), 1.f, true);
836 gfx::Rect paint_area(1, 1); 837 gfx::Rect paint_area(1, 1);
837 838
838 // The |v1| view is painted. If it used its offset incorrect, it would think 839 // The |v1| view is painted. If it used its offset incorrect, it would think
839 // its at (10,11) instead of at (0,0) since it is the paint root. 840 // its at (10,11) instead of at (0,0) since it is the paint root.
840 v1->Paint(View::PaintContext(&canvas, paint_area)); 841 v1->Paint(ui::PaintContext(&canvas, paint_area));
841 EXPECT_TRUE(v1->did_paint_); 842 EXPECT_TRUE(v1->did_paint_);
842 EXPECT_FALSE(v2->did_paint_); 843 EXPECT_FALSE(v2->did_paint_);
843 } 844 }
844 845
845 v1->Reset(); 846 v1->Reset();
846 847
847 { 848 {
848 gfx::Canvas canvas(v1->size(), 1.f, true); 849 gfx::Canvas canvas(v1->size(), 1.f, true);
849 gfx::Rect paint_area(3, 3, 1, 2); 850 gfx::Rect paint_area(3, 3, 1, 2);
850 851
851 // The |v2| view is painted also. If it used its offset incorrect, it would 852 // The |v2| view is painted also. If it used its offset incorrect, it would
852 // think its at (13,15) instead of at (3,4) since |v1| is the paint root. 853 // think its at (13,15) instead of at (3,4) since |v1| is the paint root.
853 v1->Paint(View::PaintContext(&canvas, paint_area)); 854 v1->Paint(ui::PaintContext(&canvas, paint_area));
854 EXPECT_TRUE(v1->did_paint_); 855 EXPECT_TRUE(v1->did_paint_);
855 EXPECT_TRUE(v2->did_paint_); 856 EXPECT_TRUE(v2->did_paint_);
856 } 857 }
857 } 858 }
858 859
859 void TestView::SchedulePaintInRect(const gfx::Rect& rect) { 860 void TestView::SchedulePaintInRect(const gfx::Rect& rect) {
860 scheduled_paint_rects_.push_back(rect); 861 scheduled_paint_rects_.push_back(rect);
861 View::SchedulePaintInRect(rect); 862 View::SchedulePaintInRect(rect);
862 } 863 }
863 864
(...skipping 3032 matching lines...) Expand 10 before | Expand all | Expand 10 after
3896 // notification. 3897 // notification.
3897 TestView* test_view_child_2 = new TestView(); 3898 TestView* test_view_child_2 = new TestView();
3898 test_view->AddChildView(test_view_child_2); 3899 test_view->AddChildView(test_view_child_2);
3899 EXPECT_TRUE(test_view_child_2->native_theme_); 3900 EXPECT_TRUE(test_view_child_2->native_theme_);
3900 EXPECT_EQ(widget->GetNativeTheme(), test_view_child_2->native_theme_); 3901 EXPECT_EQ(widget->GetNativeTheme(), test_view_child_2->native_theme_);
3901 3902
3902 widget->CloseNow(); 3903 widget->CloseNow();
3903 } 3904 }
3904 3905
3905 } // namespace views 3906 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698