OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "ui/views/corewm/tooltip_controller.h" | 5 #include "ui/views/corewm/tooltip_controller.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "ui/aura/client/cursor_client.h" | 8 #include "ui/aura/client/cursor_client.h" |
9 #include "ui/aura/client/screen_position_client.h" | 9 #include "ui/aura/client/screen_position_client.h" |
10 #include "ui/aura/env.h" | 10 #include "ui/aura/env.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 widget->GetNativeWindow()->GetRootWindow())); | 70 widget->GetNativeWindow()->GetRootWindow())); |
71 } | 71 } |
72 | 72 |
73 } // namespace | 73 } // namespace |
74 | 74 |
75 class TooltipControllerTest : public aura::test::AuraTestBase { | 75 class TooltipControllerTest : public aura::test::AuraTestBase { |
76 public: | 76 public: |
77 TooltipControllerTest() : view_(NULL) {} | 77 TooltipControllerTest() : view_(NULL) {} |
78 virtual ~TooltipControllerTest() {} | 78 virtual ~TooltipControllerTest() {} |
79 | 79 |
80 virtual void SetUp() OVERRIDE { | 80 virtual void SetUp() override { |
81 #if defined(OS_CHROMEOS) | 81 #if defined(OS_CHROMEOS) |
82 views_delegate_.reset(new TestViewsDelegate); | 82 views_delegate_.reset(new TestViewsDelegate); |
83 #else | 83 #else |
84 views_delegate_.reset(new DesktopTestViewsDelegate); | 84 views_delegate_.reset(new DesktopTestViewsDelegate); |
85 #endif | 85 #endif |
86 | 86 |
87 aura::test::AuraTestBase::SetUp(); | 87 aura::test::AuraTestBase::SetUp(); |
88 new wm::DefaultActivationClient(root_window()); | 88 new wm::DefaultActivationClient(root_window()); |
89 #if defined(OS_CHROMEOS) | 89 #if defined(OS_CHROMEOS) |
90 controller_.reset(new TooltipController( | 90 controller_.reset(new TooltipController( |
91 scoped_ptr<views::corewm::Tooltip>( | 91 scoped_ptr<views::corewm::Tooltip>( |
92 new views::corewm::TooltipAura(gfx::SCREEN_TYPE_ALTERNATE)))); | 92 new views::corewm::TooltipAura(gfx::SCREEN_TYPE_ALTERNATE)))); |
93 root_window()->AddPreTargetHandler(controller_.get()); | 93 root_window()->AddPreTargetHandler(controller_.get()); |
94 SetTooltipClient(root_window(), controller_.get()); | 94 SetTooltipClient(root_window(), controller_.get()); |
95 #endif | 95 #endif |
96 widget_.reset(CreateWidget(root_window())); | 96 widget_.reset(CreateWidget(root_window())); |
97 widget_->SetContentsView(new View); | 97 widget_->SetContentsView(new View); |
98 view_ = new TooltipTestView; | 98 view_ = new TooltipTestView; |
99 widget_->GetContentsView()->AddChildView(view_); | 99 widget_->GetContentsView()->AddChildView(view_); |
100 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 100 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
101 helper_.reset(new TooltipControllerTestHelper( | 101 helper_.reset(new TooltipControllerTestHelper( |
102 GetController(widget_.get()))); | 102 GetController(widget_.get()))); |
103 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 103 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
104 } | 104 } |
105 | 105 |
106 virtual void TearDown() OVERRIDE { | 106 virtual void TearDown() override { |
107 #if defined(OS_CHROMEOS) | 107 #if defined(OS_CHROMEOS) |
108 root_window()->RemovePreTargetHandler(controller_.get()); | 108 root_window()->RemovePreTargetHandler(controller_.get()); |
109 aura::client::SetTooltipClient(root_window(), NULL); | 109 aura::client::SetTooltipClient(root_window(), NULL); |
110 controller_.reset(); | 110 controller_.reset(); |
111 #endif | 111 #endif |
112 generator_.reset(); | 112 generator_.reset(); |
113 helper_.reset(); | 113 helper_.reset(); |
114 widget_.reset(); | 114 widget_.reset(); |
115 aura::test::AuraTestBase::TearDown(); | 115 aura::test::AuraTestBase::TearDown(); |
116 views_delegate_.reset(); | 116 views_delegate_.reset(); |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 static_cast<int>(i - window->parent()->children().begin()); | 411 static_cast<int>(i - window->parent()->children().begin()); |
412 } | 412 } |
413 | 413 |
414 class TestScreenPositionClient : public aura::client::ScreenPositionClient { | 414 class TestScreenPositionClient : public aura::client::ScreenPositionClient { |
415 public: | 415 public: |
416 TestScreenPositionClient() {} | 416 TestScreenPositionClient() {} |
417 virtual ~TestScreenPositionClient() {} | 417 virtual ~TestScreenPositionClient() {} |
418 | 418 |
419 // ScreenPositionClient overrides: | 419 // ScreenPositionClient overrides: |
420 virtual void ConvertPointToScreen(const aura::Window* window, | 420 virtual void ConvertPointToScreen(const aura::Window* window, |
421 gfx::Point* point) OVERRIDE { | 421 gfx::Point* point) override { |
422 } | 422 } |
423 virtual void ConvertPointFromScreen(const aura::Window* window, | 423 virtual void ConvertPointFromScreen(const aura::Window* window, |
424 gfx::Point* point) OVERRIDE { | 424 gfx::Point* point) override { |
425 } | 425 } |
426 virtual void ConvertHostPointToScreen(aura::Window* root_gwindow, | 426 virtual void ConvertHostPointToScreen(aura::Window* root_gwindow, |
427 gfx::Point* point) OVERRIDE { | 427 gfx::Point* point) override { |
428 NOTREACHED(); | 428 NOTREACHED(); |
429 } | 429 } |
430 virtual void SetBounds(aura::Window* window, | 430 virtual void SetBounds(aura::Window* window, |
431 const gfx::Rect& bounds, | 431 const gfx::Rect& bounds, |
432 const gfx::Display& display) OVERRIDE { | 432 const gfx::Display& display) override { |
433 window->SetBounds(bounds); | 433 window->SetBounds(bounds); |
434 } | 434 } |
435 | 435 |
436 private: | 436 private: |
437 DISALLOW_COPY_AND_ASSIGN(TestScreenPositionClient); | 437 DISALLOW_COPY_AND_ASSIGN(TestScreenPositionClient); |
438 }; | 438 }; |
439 | 439 |
440 } // namespace | 440 } // namespace |
441 | 441 |
442 class TooltipControllerCaptureTest : public TooltipControllerTest { | 442 class TooltipControllerCaptureTest : public TooltipControllerTest { |
443 public: | 443 public: |
444 TooltipControllerCaptureTest() {} | 444 TooltipControllerCaptureTest() {} |
445 virtual ~TooltipControllerCaptureTest() {} | 445 virtual ~TooltipControllerCaptureTest() {} |
446 | 446 |
447 virtual void SetUp() OVERRIDE { | 447 virtual void SetUp() override { |
448 TooltipControllerTest::SetUp(); | 448 TooltipControllerTest::SetUp(); |
449 aura::client::SetScreenPositionClient(GetRootWindow(), | 449 aura::client::SetScreenPositionClient(GetRootWindow(), |
450 &screen_position_client_); | 450 &screen_position_client_); |
451 #if !defined(OS_CHROMEOS) | 451 #if !defined(OS_CHROMEOS) |
452 desktop_screen_.reset(CreateDesktopScreen()); | 452 desktop_screen_.reset(CreateDesktopScreen()); |
453 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, | 453 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, |
454 desktop_screen_.get()); | 454 desktop_screen_.get()); |
455 #endif | 455 #endif |
456 } | 456 } |
457 | 457 |
458 virtual void TearDown() OVERRIDE { | 458 virtual void TearDown() override { |
459 #if !defined(OS_CHROMEOS) | 459 #if !defined(OS_CHROMEOS) |
460 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, test_screen()); | 460 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, test_screen()); |
461 desktop_screen_.reset(); | 461 desktop_screen_.reset(); |
462 #endif | 462 #endif |
463 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); | 463 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); |
464 TooltipControllerTest::TearDown(); | 464 TooltipControllerTest::TearDown(); |
465 } | 465 } |
466 | 466 |
467 private: | 467 private: |
468 TestScreenPositionClient screen_position_client_; | 468 TestScreenPositionClient screen_position_client_; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 class TestTooltip : public Tooltip { | 552 class TestTooltip : public Tooltip { |
553 public: | 553 public: |
554 TestTooltip() : is_visible_(false) {} | 554 TestTooltip() : is_visible_(false) {} |
555 virtual ~TestTooltip() {} | 555 virtual ~TestTooltip() {} |
556 | 556 |
557 const base::string16& tooltip_text() const { return tooltip_text_; } | 557 const base::string16& tooltip_text() const { return tooltip_text_; } |
558 | 558 |
559 // Tooltip: | 559 // Tooltip: |
560 virtual void SetText(aura::Window* window, | 560 virtual void SetText(aura::Window* window, |
561 const base::string16& tooltip_text, | 561 const base::string16& tooltip_text, |
562 const gfx::Point& location) OVERRIDE { | 562 const gfx::Point& location) override { |
563 tooltip_text_ = tooltip_text; | 563 tooltip_text_ = tooltip_text; |
564 location_ = location; | 564 location_ = location; |
565 } | 565 } |
566 virtual void Show() OVERRIDE { | 566 virtual void Show() override { |
567 is_visible_ = true; | 567 is_visible_ = true; |
568 } | 568 } |
569 virtual void Hide() OVERRIDE { | 569 virtual void Hide() override { |
570 is_visible_ = false; | 570 is_visible_ = false; |
571 } | 571 } |
572 virtual bool IsVisible() OVERRIDE { | 572 virtual bool IsVisible() override { |
573 return is_visible_; | 573 return is_visible_; |
574 } | 574 } |
575 const gfx::Point& location() { return location_; } | 575 const gfx::Point& location() { return location_; } |
576 | 576 |
577 private: | 577 private: |
578 bool is_visible_; | 578 bool is_visible_; |
579 base::string16 tooltip_text_; | 579 base::string16 tooltip_text_; |
580 gfx::Point location_; | 580 gfx::Point location_; |
581 | 581 |
582 DISALLOW_COPY_AND_ASSIGN(TestTooltip); | 582 DISALLOW_COPY_AND_ASSIGN(TestTooltip); |
583 }; | 583 }; |
584 | 584 |
585 } // namespace | 585 } // namespace |
586 | 586 |
587 // Use for tests that don't depend upon views. | 587 // Use for tests that don't depend upon views. |
588 class TooltipControllerTest2 : public aura::test::AuraTestBase { | 588 class TooltipControllerTest2 : public aura::test::AuraTestBase { |
589 public: | 589 public: |
590 TooltipControllerTest2() : test_tooltip_(new TestTooltip) {} | 590 TooltipControllerTest2() : test_tooltip_(new TestTooltip) {} |
591 virtual ~TooltipControllerTest2() {} | 591 virtual ~TooltipControllerTest2() {} |
592 | 592 |
593 virtual void SetUp() OVERRIDE { | 593 virtual void SetUp() override { |
594 wm_state_.reset(new wm::WMState); | 594 wm_state_.reset(new wm::WMState); |
595 aura::test::AuraTestBase::SetUp(); | 595 aura::test::AuraTestBase::SetUp(); |
596 new wm::DefaultActivationClient(root_window()); | 596 new wm::DefaultActivationClient(root_window()); |
597 controller_.reset(new TooltipController( | 597 controller_.reset(new TooltipController( |
598 scoped_ptr<corewm::Tooltip>(test_tooltip_))); | 598 scoped_ptr<corewm::Tooltip>(test_tooltip_))); |
599 root_window()->AddPreTargetHandler(controller_.get()); | 599 root_window()->AddPreTargetHandler(controller_.get()); |
600 SetTooltipClient(root_window(), controller_.get()); | 600 SetTooltipClient(root_window(), controller_.get()); |
601 helper_.reset(new TooltipControllerTestHelper(controller_.get())); | 601 helper_.reset(new TooltipControllerTestHelper(controller_.get())); |
602 generator_.reset(new ui::test::EventGenerator(root_window())); | 602 generator_.reset(new ui::test::EventGenerator(root_window())); |
603 } | 603 } |
604 | 604 |
605 virtual void TearDown() OVERRIDE { | 605 virtual void TearDown() override { |
606 root_window()->RemovePreTargetHandler(controller_.get()); | 606 root_window()->RemovePreTargetHandler(controller_.get()); |
607 aura::client::SetTooltipClient(root_window(), NULL); | 607 aura::client::SetTooltipClient(root_window(), NULL); |
608 controller_.reset(); | 608 controller_.reset(); |
609 generator_.reset(); | 609 generator_.reset(); |
610 helper_.reset(); | 610 helper_.reset(); |
611 aura::test::AuraTestBase::TearDown(); | 611 aura::test::AuraTestBase::TearDown(); |
612 wm_state_.reset(); | 612 wm_state_.reset(); |
613 } | 613 } |
614 | 614 |
615 protected: | 615 protected: |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 EXPECT_FALSE(helper_->IsTooltipVisible()); | 658 EXPECT_FALSE(helper_->IsTooltipVisible()); |
659 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); | 659 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); |
660 } | 660 } |
661 | 661 |
662 // Use for tests that need both views and a TestTooltip. | 662 // Use for tests that need both views and a TestTooltip. |
663 class TooltipControllerTest3 : public aura::test::AuraTestBase { | 663 class TooltipControllerTest3 : public aura::test::AuraTestBase { |
664 public: | 664 public: |
665 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} | 665 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} |
666 virtual ~TooltipControllerTest3() {} | 666 virtual ~TooltipControllerTest3() {} |
667 | 667 |
668 virtual void SetUp() OVERRIDE { | 668 virtual void SetUp() override { |
669 wm_state_.reset(new wm::WMState); | 669 wm_state_.reset(new wm::WMState); |
670 aura::test::AuraTestBase::SetUp(); | 670 aura::test::AuraTestBase::SetUp(); |
671 new wm::DefaultActivationClient(root_window()); | 671 new wm::DefaultActivationClient(root_window()); |
672 | 672 |
673 widget_.reset(CreateWidget(root_window())); | 673 widget_.reset(CreateWidget(root_window())); |
674 widget_->SetContentsView(new View); | 674 widget_->SetContentsView(new View); |
675 view_ = new TooltipTestView; | 675 view_ = new TooltipTestView; |
676 widget_->GetContentsView()->AddChildView(view_); | 676 widget_->GetContentsView()->AddChildView(view_); |
677 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 677 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
678 | 678 |
679 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 679 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
680 controller_.reset(new TooltipController( | 680 controller_.reset(new TooltipController( |
681 scoped_ptr<views::corewm::Tooltip>(test_tooltip_))); | 681 scoped_ptr<views::corewm::Tooltip>(test_tooltip_))); |
682 GetRootWindow()->RemovePreTargetHandler( | 682 GetRootWindow()->RemovePreTargetHandler( |
683 static_cast<TooltipController*>(aura::client::GetTooltipClient( | 683 static_cast<TooltipController*>(aura::client::GetTooltipClient( |
684 widget_->GetNativeWindow()->GetRootWindow()))); | 684 widget_->GetNativeWindow()->GetRootWindow()))); |
685 GetRootWindow()->AddPreTargetHandler(controller_.get()); | 685 GetRootWindow()->AddPreTargetHandler(controller_.get()); |
686 helper_.reset(new TooltipControllerTestHelper(controller_.get())); | 686 helper_.reset(new TooltipControllerTestHelper(controller_.get())); |
687 SetTooltipClient(GetRootWindow(), controller_.get()); | 687 SetTooltipClient(GetRootWindow(), controller_.get()); |
688 } | 688 } |
689 | 689 |
690 virtual void TearDown() OVERRIDE { | 690 virtual void TearDown() override { |
691 GetRootWindow()->RemovePreTargetHandler(controller_.get()); | 691 GetRootWindow()->RemovePreTargetHandler(controller_.get()); |
692 aura::client::SetTooltipClient(GetRootWindow(), NULL); | 692 aura::client::SetTooltipClient(GetRootWindow(), NULL); |
693 | 693 |
694 controller_.reset(); | 694 controller_.reset(); |
695 generator_.reset(); | 695 generator_.reset(); |
696 helper_.reset(); | 696 helper_.reset(); |
697 widget_.reset(); | 697 widget_.reset(); |
698 aura::test::AuraTestBase::TearDown(); | 698 aura::test::AuraTestBase::TearDown(); |
699 wm_state_.reset(); | 699 wm_state_.reset(); |
700 } | 700 } |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 helper_->FireTooltipTimer(); | 823 helper_->FireTooltipTimer(); |
824 tooltip_bounds1 = test_tooltip_->location(); | 824 tooltip_bounds1 = test_tooltip_->location(); |
825 | 825 |
826 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); | 826 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); |
827 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 827 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
828 } | 828 } |
829 | 829 |
830 } // namespace test | 830 } // namespace test |
831 } // namespace corewm | 831 } // namespace corewm |
832 } // namespace views | 832 } // namespace views |
OLD | NEW |