OLD | NEW |
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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 #include "ui/gfx/native_widget_types.h" | 9 #include "ui/gfx/native_widget_types.h" |
10 #include "ui/gfx/point.h" | 10 #include "ui/gfx/point.h" |
| 11 #include "ui/views/bubble/bubble_delegate.h" |
11 #include "ui/views/test/test_views_delegate.h" | 12 #include "ui/views/test/test_views_delegate.h" |
12 #include "ui/views/test/views_test_base.h" | 13 #include "ui/views/test/views_test_base.h" |
13 #include "ui/views/views_delegate.h" | 14 #include "ui/views/views_delegate.h" |
14 #include "ui/views/widget/native_widget_delegate.h" | 15 #include "ui/views/widget/native_widget_delegate.h" |
15 | 16 |
16 #if defined(USE_AURA) | 17 #if defined(USE_AURA) |
17 #include "ui/aura/window.h" | 18 #include "ui/aura/window.h" |
18 #include "ui/views/widget/native_widget_aura.h" | 19 #include "ui/views/widget/native_widget_aura.h" |
19 #elif defined(OS_WIN) | 20 #elif defined(OS_WIN) |
20 #include "ui/views/widget/native_widget_win.h" | 21 #include "ui/views/widget/native_widget_win.h" |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
731 | 732 |
732 child1->Show(); | 733 child1->Show(); |
733 EXPECT_EQ(child1, widget_shown()); | 734 EXPECT_EQ(child1, widget_shown()); |
734 | 735 |
735 child2->Show(); | 736 child2->Show(); |
736 EXPECT_EQ(child2, widget_shown()); | 737 EXPECT_EQ(child2, widget_shown()); |
737 | 738 |
738 toplevel->CloseNow(); | 739 toplevel->CloseNow(); |
739 } | 740 } |
740 | 741 |
| 742 TEST_F(WidgetObserverTest, DestroyBubble) { |
| 743 Widget* anchor = CreateTopLevelPlatformWidget(); |
| 744 View* view = new View; |
| 745 anchor->SetContentsView(view); |
| 746 anchor->Show(); |
| 747 |
| 748 BubbleDelegateView* bubble_delegate = |
| 749 new BubbleDelegateView(view, BubbleBorder::NONE); |
| 750 Widget* bubble_widget(BubbleDelegateView::CreateBubble(bubble_delegate)); |
| 751 bubble_widget->Show(); |
| 752 bubble_widget->CloseNow(); |
| 753 |
| 754 anchor->Hide(); |
| 755 anchor->CloseNow(); |
| 756 } |
| 757 |
741 #if !defined(USE_AURA) && defined(OS_WIN) | 758 #if !defined(USE_AURA) && defined(OS_WIN) |
742 // Aura needs shell to maximize/fullscreen window. | 759 // Aura needs shell to maximize/fullscreen window. |
743 // NativeWidgetGtk doesn't implement GetRestoredBounds. | 760 // NativeWidgetGtk doesn't implement GetRestoredBounds. |
744 TEST_F(WidgetTest, GetRestoredBounds) { | 761 TEST_F(WidgetTest, GetRestoredBounds) { |
745 Widget* toplevel = CreateTopLevelPlatformWidget(); | 762 Widget* toplevel = CreateTopLevelPlatformWidget(); |
746 EXPECT_EQ(toplevel->GetWindowScreenBounds().ToString(), | 763 EXPECT_EQ(toplevel->GetWindowScreenBounds().ToString(), |
747 toplevel->GetRestoredBounds().ToString()); | 764 toplevel->GetRestoredBounds().ToString()); |
748 toplevel->Show(); | 765 toplevel->Show(); |
749 toplevel->Maximize(); | 766 toplevel->Maximize(); |
750 RunPendingMessages(); | 767 RunPendingMessages(); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
802 // And it stays maximized after getting out of full screen. | 819 // And it stays maximized after getting out of full screen. |
803 EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, GetWidgetShowState(toplevel)); | 820 EXPECT_EQ(ui::SHOW_STATE_MAXIMIZED, GetWidgetShowState(toplevel)); |
804 | 821 |
805 // Clean up. | 822 // Clean up. |
806 toplevel->Close(); | 823 toplevel->Close(); |
807 RunPendingMessages(); | 824 RunPendingMessages(); |
808 } | 825 } |
809 | 826 |
810 } // namespace | 827 } // namespace |
811 } // namespace views | 828 } // namespace views |
OLD | NEW |