| 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 |