| 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/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
| 10 #include "ui/aura/client/cursor_client.h" | 10 #include "ui/aura/client/cursor_client.h" |
| 11 #include "ui/aura/client/screen_position_client.h" | 11 #include "ui/aura/client/screen_position_client.h" |
| 12 #include "ui/aura/env.h" | 12 #include "ui/aura/env.h" |
| 13 #include "ui/aura/test/aura_test_base.h" | 13 #include "ui/aura/test/aura_test_base.h" |
| 14 #include "ui/aura/test/test_screen.h" | 14 #include "ui/aura/test/test_screen.h" |
| 15 #include "ui/aura/test/test_window_delegate.h" | 15 #include "ui/aura/test/test_window_delegate.h" |
| 16 #include "ui/aura/window.h" | 16 #include "ui/aura/window.h" |
| 17 #include "ui/aura/window_event_dispatcher.h" | 17 #include "ui/aura/window_event_dispatcher.h" |
| 18 #include "ui/display/screen.h" | 18 #include "ui/display/screen.h" |
| 19 #include "ui/events/test/event_generator.h" | 19 #include "ui/events/test/event_generator.h" |
| 20 #include "ui/gfx/font.h" | 20 #include "ui/gfx/font.h" |
| 21 #include "ui/gfx/geometry/point.h" | 21 #include "ui/gfx/geometry/point.h" |
| 22 #include "ui/gfx/text_elider.h" | 22 #include "ui/gfx/text_elider.h" |
| 23 #include "ui/views/corewm/tooltip_aura.h" | 23 #include "ui/views/corewm/tooltip_aura.h" |
| 24 #include "ui/views/corewm/tooltip_controller_test_helper.h" | 24 #include "ui/views/corewm/tooltip_controller_test_helper.h" |
| 25 #include "ui/views/test/desktop_test_views_delegate.h" | 25 #include "ui/views/test/desktop_test_views_delegate.h" |
| 26 #include "ui/views/test/native_widget_factory.h" |
| 26 #include "ui/views/test/test_views_delegate.h" | 27 #include "ui/views/test/test_views_delegate.h" |
| 28 #include "ui/views/test/views_test_base.h" |
| 27 #include "ui/views/view.h" | 29 #include "ui/views/view.h" |
| 28 #include "ui/views/widget/tooltip_manager.h" | 30 #include "ui/views/widget/tooltip_manager.h" |
| 29 #include "ui/views/widget/widget.h" | 31 #include "ui/views/widget/widget.h" |
| 30 #include "ui/wm/core/default_activation_client.h" | 32 #include "ui/wm/core/default_activation_client.h" |
| 31 #include "ui/wm/core/default_screen_position_client.h" | 33 #include "ui/wm/core/default_screen_position_client.h" |
| 32 #include "ui/wm/core/wm_state.h" | 34 #include "ui/wm/core/wm_state.h" |
| 33 #include "ui/wm/public/tooltip_client.h" | 35 #include "ui/wm/public/tooltip_client.h" |
| 34 #include "ui/wm/public/window_types.h" | 36 #include "ui/wm/public/window_types.h" |
| 35 | 37 |
| 36 #if defined(OS_WIN) | 38 #if defined(OS_WIN) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 51 | 53 |
| 52 views::Widget* CreateWidget(aura::Window* root) { | 54 views::Widget* CreateWidget(aura::Window* root) { |
| 53 views::Widget* widget = new views::Widget; | 55 views::Widget* widget = new views::Widget; |
| 54 views::Widget::InitParams params; | 56 views::Widget::InitParams params; |
| 55 params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS; | 57 params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS; |
| 56 params.accept_events = true; | 58 params.accept_events = true; |
| 57 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 59 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 58 #if defined(OS_CHROMEOS) | 60 #if defined(OS_CHROMEOS) |
| 59 params.parent = root; | 61 params.parent = root; |
| 60 #else | 62 #else |
| 61 params.native_widget = new DesktopNativeWidgetAura(widget); | 63 params.native_widget = ::views::test::CreatePlatformDesktopNativeWidgetImpl( |
| 64 params, widget, nullptr); |
| 62 #endif | 65 #endif |
| 63 params.bounds = gfx::Rect(0, 0, 200, 100); | 66 params.bounds = gfx::Rect(0, 0, 200, 100); |
| 64 widget->Init(params); | 67 widget->Init(params); |
| 65 widget->Show(); | 68 widget->Show(); |
| 66 return widget; | 69 return widget; |
| 67 } | 70 } |
| 68 | 71 |
| 69 TooltipController* GetController(Widget* widget) { | 72 TooltipController* GetController(Widget* widget) { |
| 70 return static_cast<TooltipController*>( | 73 return static_cast<TooltipController*>( |
| 71 aura::client::GetTooltipClient( | 74 aura::client::GetTooltipClient( |
| 72 widget->GetNativeWindow()->GetRootWindow())); | 75 widget->GetNativeWindow()->GetRootWindow())); |
| 73 } | 76 } |
| 74 | 77 |
| 75 } // namespace | 78 } // namespace |
| 76 | 79 |
| 77 class TooltipControllerTest : public aura::test::AuraTestBase { | 80 class TooltipControllerTest : public ViewsTestBase { |
| 78 public: | 81 public: |
| 79 TooltipControllerTest() : view_(NULL) {} | 82 TooltipControllerTest() : view_(NULL) {} |
| 80 ~TooltipControllerTest() override {} | 83 ~TooltipControllerTest() override {} |
| 81 | 84 |
| 82 void SetUp() override { | 85 void SetUp() override { |
| 83 #if defined(OS_CHROMEOS) | 86 ViewsTestBase::SetUp(); |
| 84 views_delegate_.reset(new TestViewsDelegate); | |
| 85 #else | |
| 86 views_delegate_.reset(new DesktopTestViewsDelegate); | |
| 87 #endif | |
| 88 | 87 |
| 89 aura::test::AuraTestBase::SetUp(); | 88 aura::Window* root_window = GetContext(); |
| 90 new wm::DefaultActivationClient(root_window()); | 89 |
| 90 new wm::DefaultActivationClient(root_window); |
| 91 #if defined(OS_CHROMEOS) | 91 #if defined(OS_CHROMEOS) |
| 92 controller_.reset( | 92 controller_.reset( |
| 93 new TooltipController(std::unique_ptr<views::corewm::Tooltip>( | 93 new TooltipController(std::unique_ptr<views::corewm::Tooltip>( |
| 94 new views::corewm::TooltipAura))); | 94 new views::corewm::TooltipAura))); |
| 95 root_window()->AddPreTargetHandler(controller_.get()); | 95 root_window->AddPreTargetHandler(controller_.get()); |
| 96 SetTooltipClient(root_window(), controller_.get()); | 96 SetTooltipClient(root_window, controller_.get()); |
| 97 #endif | 97 #endif |
| 98 widget_.reset(CreateWidget(root_window())); | 98 widget_.reset(CreateWidget(root_window)); |
| 99 widget_->SetContentsView(new View); | 99 widget_->SetContentsView(new View); |
| 100 view_ = new TooltipTestView; | 100 view_ = new TooltipTestView; |
| 101 widget_->GetContentsView()->AddChildView(view_); | 101 widget_->GetContentsView()->AddChildView(view_); |
| 102 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 102 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
| 103 helper_.reset(new TooltipControllerTestHelper( | 103 helper_.reset(new TooltipControllerTestHelper( |
| 104 GetController(widget_.get()))); | 104 GetController(widget_.get()))); |
| 105 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 105 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
| 106 } | 106 } |
| 107 | 107 |
| 108 void TearDown() override { | 108 void TearDown() override { |
| 109 #if defined(OS_CHROMEOS) | 109 #if defined(OS_CHROMEOS) |
| 110 root_window()->RemovePreTargetHandler(controller_.get()); | 110 aura::Window* root_window = GetContext(); |
| 111 aura::client::SetTooltipClient(root_window(), NULL); | 111 root_window->RemovePreTargetHandler(controller_.get()); |
| 112 aura::client::SetTooltipClient(root_window, NULL); |
| 112 controller_.reset(); | 113 controller_.reset(); |
| 113 #endif | 114 #endif |
| 114 generator_.reset(); | 115 generator_.reset(); |
| 115 helper_.reset(); | 116 helper_.reset(); |
| 116 widget_.reset(); | 117 widget_.reset(); |
| 117 aura::test::AuraTestBase::TearDown(); | 118 ViewsTestBase::TearDown(); |
| 118 views_delegate_.reset(); | |
| 119 } | 119 } |
| 120 | 120 |
| 121 protected: | 121 protected: |
| 122 aura::Window* GetWindow() { | 122 aura::Window* GetWindow() { |
| 123 return widget_->GetNativeWindow(); | 123 return widget_->GetNativeWindow(); |
| 124 } | 124 } |
| 125 | 125 |
| 126 aura::Window* GetRootWindow() { | 126 aura::Window* GetRootWindow() { |
| 127 return GetWindow()->GetRootWindow(); | 127 return GetWindow()->GetRootWindow(); |
| 128 } | 128 } |
| 129 | 129 |
| 130 aura::Window* CreateNormalWindow(int id, |
| 131 aura::Window* parent, |
| 132 aura::WindowDelegate* delegate) { |
| 133 aura::Window* window = new aura::Window( |
| 134 delegate |
| 135 ? delegate |
| 136 : aura::test::TestWindowDelegate::CreateSelfDestroyingDelegate()); |
| 137 window->set_id(id); |
| 138 window->Init(ui::LAYER_TEXTURED); |
| 139 parent->AddChild(window); |
| 140 window->SetBounds(gfx::Rect(0, 0, 100, 100)); |
| 141 window->Show(); |
| 142 return window; |
| 143 } |
| 144 |
| 130 TooltipTestView* PrepareSecondView() { | 145 TooltipTestView* PrepareSecondView() { |
| 131 TooltipTestView* view2 = new TooltipTestView; | 146 TooltipTestView* view2 = new TooltipTestView; |
| 132 widget_->GetContentsView()->AddChildView(view2); | 147 widget_->GetContentsView()->AddChildView(view2); |
| 133 view_->SetBounds(0, 0, 100, 100); | 148 view_->SetBounds(0, 0, 100, 100); |
| 134 view2->SetBounds(100, 0, 100, 100); | 149 view2->SetBounds(100, 0, 100, 100); |
| 135 return view2; | 150 return view2; |
| 136 } | 151 } |
| 137 | 152 |
| 138 std::unique_ptr<views::Widget> widget_; | 153 std::unique_ptr<views::Widget> widget_; |
| 139 TooltipTestView* view_; | 154 TooltipTestView* view_; |
| 140 std::unique_ptr<TooltipControllerTestHelper> helper_; | 155 std::unique_ptr<TooltipControllerTestHelper> helper_; |
| 141 std::unique_ptr<ui::test::EventGenerator> generator_; | 156 std::unique_ptr<ui::test::EventGenerator> generator_; |
| 142 | 157 |
| 143 private: | 158 private: |
| 144 std::unique_ptr<TooltipController> controller_; | 159 std::unique_ptr<TooltipController> controller_; |
| 145 | 160 |
| 146 std::unique_ptr<views::TestViewsDelegate> views_delegate_; | |
| 147 | |
| 148 #if defined(OS_WIN) | 161 #if defined(OS_WIN) |
| 149 ui::ScopedOleInitializer ole_initializer_; | 162 ui::ScopedOleInitializer ole_initializer_; |
| 150 #endif | 163 #endif |
| 151 | 164 |
| 152 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest); | 165 DISALLOW_COPY_AND_ASSIGN(TooltipControllerTest); |
| 153 }; | 166 }; |
| 154 | 167 |
| 155 TEST_F(TooltipControllerTest, ViewTooltip) { | 168 TEST_F(TooltipControllerTest, ViewTooltip) { |
| 156 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 169 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 157 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 170 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 430 |
| 418 class TooltipControllerCaptureTest : public TooltipControllerTest { | 431 class TooltipControllerCaptureTest : public TooltipControllerTest { |
| 419 public: | 432 public: |
| 420 TooltipControllerCaptureTest() {} | 433 TooltipControllerCaptureTest() {} |
| 421 ~TooltipControllerCaptureTest() override {} | 434 ~TooltipControllerCaptureTest() override {} |
| 422 | 435 |
| 423 void SetUp() override { | 436 void SetUp() override { |
| 424 TooltipControllerTest::SetUp(); | 437 TooltipControllerTest::SetUp(); |
| 425 aura::client::SetScreenPositionClient(GetRootWindow(), | 438 aura::client::SetScreenPositionClient(GetRootWindow(), |
| 426 &screen_position_client_); | 439 &screen_position_client_); |
| 427 #if !defined(OS_CHROMEOS) | |
| 428 desktop_screen_.reset(CreateDesktopScreen()); | |
| 429 display::Screen::SetScreenInstance(desktop_screen_.get()); | |
| 430 #endif | |
| 431 } | 440 } |
| 432 | 441 |
| 433 void TearDown() override { | 442 void TearDown() override { |
| 434 #if !defined(OS_CHROMEOS) | |
| 435 display::Screen::SetScreenInstance(test_screen()); | |
| 436 desktop_screen_.reset(); | |
| 437 #endif | |
| 438 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); | 443 aura::client::SetScreenPositionClient(GetRootWindow(), NULL); |
| 439 TooltipControllerTest::TearDown(); | 444 TooltipControllerTest::TearDown(); |
| 440 } | 445 } |
| 441 | 446 |
| 442 private: | 447 private: |
| 443 wm::DefaultScreenPositionClient screen_position_client_; | 448 wm::DefaultScreenPositionClient screen_position_client_; |
| 444 std::unique_ptr<display::Screen> desktop_screen_; | 449 std::unique_ptr<display::Screen> desktop_screen_; |
| 445 | 450 |
| 446 DISALLOW_COPY_AND_ASSIGN(TooltipControllerCaptureTest); | 451 DISALLOW_COPY_AND_ASSIGN(TooltipControllerCaptureTest); |
| 447 }; | 452 }; |
| 448 | 453 |
| 449 // Verifies when capture is released the TooltipController resets state. | 454 // Verifies when capture is released the TooltipController resets state. |
| 450 // Flaky on all builders. http://crbug.com/388268 | 455 // Flaky on all builders. http://crbug.com/388268 |
| 451 TEST_F(TooltipControllerCaptureTest, DISABLED_CloseOnCaptureLost) { | 456 TEST_F(TooltipControllerCaptureTest, DISABLED_CloseOnCaptureLost) { |
| 452 view_->GetWidget()->SetCapture(view_); | 457 view_->GetWidget()->SetCapture(view_); |
| 453 RunAllPendingInMessageLoop(); | 458 RunPendingMessages(); |
| 454 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); | 459 view_->set_tooltip_text(ASCIIToUTF16("Tooltip Text")); |
| 455 generator_->MoveMouseToCenterOf(GetWindow()); | 460 generator_->MoveMouseToCenterOf(GetWindow()); |
| 456 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); | 461 base::string16 expected_tooltip = ASCIIToUTF16("Tooltip Text"); |
| 457 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); | 462 EXPECT_EQ(expected_tooltip, aura::client::GetTooltipText(GetWindow())); |
| 458 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); | 463 EXPECT_EQ(base::string16(), helper_->GetTooltipText()); |
| 459 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); | 464 EXPECT_EQ(GetWindow(), helper_->GetTooltipWindow()); |
| 460 | 465 |
| 461 // Fire tooltip timer so tooltip becomes visible. | 466 // Fire tooltip timer so tooltip becomes visible. |
| 462 helper_->FireTooltipTimer(); | 467 helper_->FireTooltipTimer(); |
| 463 | 468 |
| 464 EXPECT_TRUE(helper_->IsTooltipVisible()); | 469 EXPECT_TRUE(helper_->IsTooltipVisible()); |
| 465 view_->GetWidget()->ReleaseCapture(); | 470 view_->GetWidget()->ReleaseCapture(); |
| 466 EXPECT_FALSE(helper_->IsTooltipVisible()); | 471 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 467 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); | 472 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); |
| 468 } | 473 } |
| 469 | 474 |
| 470 // Disabled on linux as DesktopScreenX11::GetWindowAtScreenPoint() doesn't | 475 // Disabled on linux as DesktopScreenX11::GetWindowAtScreenPoint() doesn't |
| 471 // consider z-order. | 476 // consider z-order. |
| 472 // Disabled on Windows due to failing bots. http://crbug.com/604479 | 477 // Disabled on Windows due to failing bots. http://crbug.com/604479 |
| 473 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) | 478 #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) |
| 474 #define MAYBE_Capture DISABLED_Capture | 479 #define MAYBE_Capture DISABLED_Capture |
| 475 #else | 480 #else |
| 476 #define MAYBE_Capture Capture | 481 #define MAYBE_Capture Capture |
| 477 #endif | 482 #endif |
| 478 // Verifies the correct window is found for tooltips when there is a capture. | 483 // Verifies the correct window is found for tooltips when there is a capture. |
| 479 TEST_F(TooltipControllerCaptureTest, MAYBE_Capture) { | 484 TEST_F(TooltipControllerCaptureTest, MAYBE_Capture) { |
| 485 // Currently, capture in one test affects capture in other tests. |
| 486 if (IsMus()) |
| 487 return; |
| 488 |
| 480 const base::string16 tooltip_text(ASCIIToUTF16("1")); | 489 const base::string16 tooltip_text(ASCIIToUTF16("1")); |
| 481 const base::string16 tooltip_text2(ASCIIToUTF16("2")); | 490 const base::string16 tooltip_text2(ASCIIToUTF16("2")); |
| 482 | 491 |
| 483 widget_->SetBounds(gfx::Rect(0, 0, 200, 200)); | 492 widget_->SetBounds(gfx::Rect(0, 0, 200, 200)); |
| 484 view_->set_tooltip_text(tooltip_text); | 493 view_->set_tooltip_text(tooltip_text); |
| 485 | 494 |
| 486 std::unique_ptr<views::Widget> widget2(CreateWidget(root_window())); | 495 std::unique_ptr<views::Widget> widget2(CreateWidget(GetContext())); |
| 487 widget2->SetContentsView(new View); | 496 widget2->SetContentsView(new View); |
| 488 TooltipTestView* view2 = new TooltipTestView; | 497 TooltipTestView* view2 = new TooltipTestView; |
| 489 widget2->GetContentsView()->AddChildView(view2); | 498 widget2->GetContentsView()->AddChildView(view2); |
| 490 view2->set_tooltip_text(tooltip_text2); | 499 view2->set_tooltip_text(tooltip_text2); |
| 491 widget2->SetBounds(gfx::Rect(0, 0, 200, 200)); | 500 widget2->SetBounds(gfx::Rect(0, 0, 200, 200)); |
| 492 view2->SetBoundsRect(widget2->GetContentsView()->GetLocalBounds()); | 501 view2->SetBoundsRect(widget2->GetContentsView()->GetLocalBounds()); |
| 493 | 502 |
| 494 widget_->SetCapture(view_); | 503 widget_->SetCapture(view_); |
| 495 EXPECT_TRUE(widget_->HasCapture()); | 504 EXPECT_TRUE(widget_->HasCapture()); |
| 496 widget2->Show(); | 505 widget2->Show(); |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 | 635 |
| 627 // Send OnCancelMode event and verify that tooltip becomes invisible and | 636 // Send OnCancelMode event and verify that tooltip becomes invisible and |
| 628 // the tooltip window is closed. | 637 // the tooltip window is closed. |
| 629 ui::CancelModeEvent event; | 638 ui::CancelModeEvent event; |
| 630 helper_->controller()->OnCancelMode(&event); | 639 helper_->controller()->OnCancelMode(&event); |
| 631 EXPECT_FALSE(helper_->IsTooltipVisible()); | 640 EXPECT_FALSE(helper_->IsTooltipVisible()); |
| 632 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); | 641 EXPECT_TRUE(helper_->GetTooltipWindow() == NULL); |
| 633 } | 642 } |
| 634 | 643 |
| 635 // Use for tests that need both views and a TestTooltip. | 644 // Use for tests that need both views and a TestTooltip. |
| 636 class TooltipControllerTest3 : public aura::test::AuraTestBase { | 645 class TooltipControllerTest3 : public ViewsTestBase { |
| 637 public: | 646 public: |
| 638 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} | 647 TooltipControllerTest3() : test_tooltip_(new TestTooltip) {} |
| 639 ~TooltipControllerTest3() override {} | 648 ~TooltipControllerTest3() override {} |
| 640 | 649 |
| 641 void SetUp() override { | 650 void SetUp() override { |
| 642 wm_state_.reset(new wm::WMState); | 651 wm_state_.reset(new wm::WMState); |
| 643 aura::test::AuraTestBase::SetUp(); | 652 ViewsTestBase::SetUp(); |
| 644 new wm::DefaultActivationClient(root_window()); | |
| 645 | 653 |
| 646 widget_.reset(CreateWidget(root_window())); | 654 aura::Window* root_window = GetContext(); |
| 655 new wm::DefaultActivationClient(root_window); |
| 656 |
| 657 widget_.reset(CreateWidget(root_window)); |
| 647 widget_->SetContentsView(new View); | 658 widget_->SetContentsView(new View); |
| 648 view_ = new TooltipTestView; | 659 view_ = new TooltipTestView; |
| 649 widget_->GetContentsView()->AddChildView(view_); | 660 widget_->GetContentsView()->AddChildView(view_); |
| 650 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); | 661 view_->SetBoundsRect(widget_->GetContentsView()->GetLocalBounds()); |
| 651 | 662 |
| 652 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); | 663 generator_.reset(new ui::test::EventGenerator(GetRootWindow())); |
| 653 controller_.reset(new TooltipController( | 664 controller_.reset(new TooltipController( |
| 654 std::unique_ptr<views::corewm::Tooltip>(test_tooltip_))); | 665 std::unique_ptr<views::corewm::Tooltip>(test_tooltip_))); |
| 655 GetRootWindow()->RemovePreTargetHandler( | 666 GetRootWindow()->RemovePreTargetHandler( |
| 656 static_cast<TooltipController*>(aura::client::GetTooltipClient( | 667 static_cast<TooltipController*>(aura::client::GetTooltipClient( |
| 657 widget_->GetNativeWindow()->GetRootWindow()))); | 668 widget_->GetNativeWindow()->GetRootWindow()))); |
| 658 GetRootWindow()->AddPreTargetHandler(controller_.get()); | 669 GetRootWindow()->AddPreTargetHandler(controller_.get()); |
| 659 helper_.reset(new TooltipControllerTestHelper(controller_.get())); | 670 helper_.reset(new TooltipControllerTestHelper(controller_.get())); |
| 660 SetTooltipClient(GetRootWindow(), controller_.get()); | 671 SetTooltipClient(GetRootWindow(), controller_.get()); |
| 661 } | 672 } |
| 662 | 673 |
| 663 void TearDown() override { | 674 void TearDown() override { |
| 664 GetRootWindow()->RemovePreTargetHandler(controller_.get()); | 675 GetRootWindow()->RemovePreTargetHandler(controller_.get()); |
| 665 aura::client::SetTooltipClient(GetRootWindow(), NULL); | 676 aura::client::SetTooltipClient(GetRootWindow(), NULL); |
| 666 | 677 |
| 667 controller_.reset(); | 678 controller_.reset(); |
| 668 generator_.reset(); | 679 generator_.reset(); |
| 669 helper_.reset(); | 680 helper_.reset(); |
| 670 widget_.reset(); | 681 widget_.reset(); |
| 671 aura::test::AuraTestBase::TearDown(); | 682 ViewsTestBase::TearDown(); |
| 672 wm_state_.reset(); | 683 wm_state_.reset(); |
| 673 } | 684 } |
| 674 | 685 |
| 675 aura::Window* GetWindow() { return widget_->GetNativeWindow(); } | 686 aura::Window* GetWindow() { return widget_->GetNativeWindow(); } |
| 676 | 687 |
| 677 protected: | 688 protected: |
| 678 // Owned by |controller_|. | 689 // Owned by |controller_|. |
| 679 TestTooltip* test_tooltip_; | 690 TestTooltip* test_tooltip_; |
| 680 std::unique_ptr<TooltipControllerTestHelper> helper_; | 691 std::unique_ptr<TooltipControllerTestHelper> helper_; |
| 681 std::unique_ptr<ui::test::EventGenerator> generator_; | 692 std::unique_ptr<ui::test::EventGenerator> generator_; |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 796 helper_->FireTooltipTimer(); | 807 helper_->FireTooltipTimer(); |
| 797 tooltip_bounds1 = test_tooltip_->location(); | 808 tooltip_bounds1 = test_tooltip_->location(); |
| 798 | 809 |
| 799 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); | 810 EXPECT_NE(tooltip_bounds1_1, tooltip_bounds1); |
| 800 EXPECT_EQ(reference_string, helper_->GetTooltipText()); | 811 EXPECT_EQ(reference_string, helper_->GetTooltipText()); |
| 801 } | 812 } |
| 802 | 813 |
| 803 } // namespace test | 814 } // namespace test |
| 804 } // namespace corewm | 815 } // namespace corewm |
| 805 } // namespace views | 816 } // namespace views |
| OLD | NEW |