diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-13 19:03:31 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-13 19:03:31 +0000 |
commit | 9a56a0d8a1304ce392580319a066c0c1857a210e (patch) | |
tree | 188158d67d2446f7969f2dff588a6cfa02968974 /views/focus/focus_manager_unittest.cc | |
parent | 1357ae79b9d474da177632a85227efb676c6d98e (diff) | |
download | chromium_src-9a56a0d8a1304ce392580319a066c0c1857a210e.zip chromium_src-9a56a0d8a1304ce392580319a066c0c1857a210e.tar.gz chromium_src-9a56a0d8a1304ce392580319a066c0c1857a210e.tar.bz2 |
Re-land:
Split the hierarchy.
Now with AutocompletePopup implementing SupportsWeakPtr as before. This fixes the Windows XP crashes in browser_tests.
BUG=72040
TEST=none
Review URL: http://codereview.chromium.org/7015051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85298 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/focus/focus_manager_unittest.cc')
-rw-r--r-- | views/focus/focus_manager_unittest.cc | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/views/focus/focus_manager_unittest.cc b/views/focus/focus_manager_unittest.cc index 2661e67..6f34241 100644 --- a/views/focus/focus_manager_unittest.cc +++ b/views/focus/focus_manager_unittest.cc @@ -130,20 +130,14 @@ class FocusManagerTest : public testing::Test, public WindowDelegate { virtual void TearDown() { if (focus_change_listener_) GetFocusManager()->RemoveFocusChangeListener(focus_change_listener_); - window_->CloseWindow(); + window_->Close(); // Flush the message loop to make Purify happy. message_loop()->RunAllPending(); } FocusManager* GetFocusManager() { -#if defined(OS_WIN) - return static_cast<WindowWin*>(window_)->GetFocusManager(); -#elif defined(OS_LINUX) - return static_cast<WindowGtk*>(window_)->GetFocusManager(); -#else - NOTIMPLEMENTED(); -#endif + return window_->GetFocusManager(); } void FocusNativeView(gfx::NativeView native_view) { @@ -290,7 +284,7 @@ class BorderView : public NativeViewHost { if (child == this && is_add) { if (!widget_) { - widget_ = Widget::CreateWidget(); + widget_ = new Widget; Widget::InitParams params(Widget::InitParams::TYPE_CONTROL); #if defined(OS_WIN) params.parent = parent->GetRootView()->GetWidget()->GetNativeView(); @@ -1602,7 +1596,7 @@ TEST_F(FocusManagerTest, CreationForNativeRoot) { ASSERT_TRUE(hwnd); // Create a view window parented to native dialog. - scoped_ptr<Widget> widget1(Widget::CreateWidget()); + scoped_ptr<Widget> widget1(new Widget); Widget::InitParams params(Widget::InitParams::TYPE_CONTROL); params.delete_on_destroy = false; params.parent = hwnd; @@ -1615,7 +1609,7 @@ TEST_F(FocusManagerTest, CreationForNativeRoot) { EXPECT_TRUE(focus_manager_member1); // Create another view window parented to the first view window. - scoped_ptr<Widget> widget2(Widget::CreateWidget()); + scoped_ptr<Widget> widget2(new Widget); params.parent = widget1->GetNativeView(); widget2->Init(params); @@ -1642,7 +1636,6 @@ TEST_F(FocusManagerTest, CreationForNativeRoot) { } #endif -#if defined(OS_CHROMEOS) class FocusManagerDtorTest : public FocusManagerTest { protected: typedef std::vector<std::string> DtorTrackVector; @@ -1675,20 +1668,19 @@ class FocusManagerDtorTest : public FocusManagerTest { DtorTrackVector* dtor_tracker_; }; - class WindowGtkDtorTracked : public WindowGtk { + class WindowDtorTracked : public Window { public: - WindowGtkDtorTracked(WindowDelegate* window_delegate, - DtorTrackVector* dtor_tracker) + WindowDtorTracked(WindowDelegate* window_delegate, + DtorTrackVector* dtor_tracker) : dtor_tracker_(dtor_tracker) { - tracked_focus_manager_ = new FocusManagerDtorTracked(this, - dtor_tracker_); + tracked_focus_manager_ = new FocusManagerDtorTracked(this, dtor_tracker_); Window::InitParams params(window_delegate); params.widget_init_params.bounds = gfx::Rect(0, 0, 100, 100); - GetWindow()->InitWindow(params); + InitWindow(params); ReplaceFocusManager(tracked_focus_manager_); } - virtual ~WindowGtkDtorTracked() { + virtual ~WindowDtorTracked() { dtor_tracker_->push_back("WindowGtkDtorTracked"); } @@ -1698,17 +1690,16 @@ class FocusManagerDtorTest : public FocusManagerTest { public: virtual void SetUp() { - // Create WindowGtkDtorTracked that uses FocusManagerDtorTracked. - window_ = new WindowGtkDtorTracked(this, &dtor_tracker_); - ASSERT_TRUE(GetFocusManager() == - static_cast<WindowGtkDtorTracked*>(window_)->tracked_focus_manager_); - - window_->Show(); + // Create WindowGtkDtorTracked that uses FocusManagerDtorTracked. + window_ = new WindowDtorTracked(this, &dtor_tracker_); + ASSERT_TRUE(GetFocusManager() == static_cast<WindowDtorTracked*>( + window_)->tracked_focus_manager_); + window_->Show(); } virtual void TearDown() { if (window_) { - window_->CloseWindow(); + window_->Close(); message_loop()->RunAllPending(); } } @@ -1726,7 +1717,7 @@ TEST_F(FocusManagerDtorTest, FocusManagerDestructedLast) { tabbed_pane->AddTab(L"Awesome tab", button); // Close the window. - window_->CloseWindow(); + window_->Close(); message_loop()->RunAllPending(); // Test window, button and focus manager should all be destructed. @@ -1739,6 +1730,5 @@ TEST_F(FocusManagerDtorTest, FocusManagerDestructedLast) { window_ = NULL; } -#endif // defined(OS_CHROMEOS) } // namespace views |