| 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 "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "ui/gfx/native_widget_types.h" | 10 #include "ui/gfx/native_widget_types.h" |
| (...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 718 // | 718 // |
| 719 | 719 |
| 720 class WidgetObserverTest : public WidgetTest, | 720 class WidgetObserverTest : public WidgetTest, |
| 721 public WidgetObserver { | 721 public WidgetObserver { |
| 722 public: | 722 public: |
| 723 WidgetObserverTest() | 723 WidgetObserverTest() |
| 724 : active_(NULL), | 724 : active_(NULL), |
| 725 widget_closed_(NULL), | 725 widget_closed_(NULL), |
| 726 widget_activated_(NULL), | 726 widget_activated_(NULL), |
| 727 widget_shown_(NULL), | 727 widget_shown_(NULL), |
| 728 widget_hidden_(NULL) { | 728 widget_hidden_(NULL), |
| 729 widget_bounds_changed_(NULL) { |
| 729 } | 730 } |
| 730 | 731 |
| 731 virtual ~WidgetObserverTest() {} | 732 virtual ~WidgetObserverTest() {} |
| 732 | 733 |
| 733 // Overridden from WidgetObserver: | 734 // Overridden from WidgetObserver: |
| 734 virtual void OnWidgetClosing(Widget* widget) OVERRIDE { | 735 virtual void OnWidgetClosing(Widget* widget) OVERRIDE { |
| 735 if (active_ == widget) | 736 if (active_ == widget) |
| 736 active_ = NULL; | 737 active_ = NULL; |
| 737 widget_closed_ = widget; | 738 widget_closed_ = widget; |
| 738 } | 739 } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 752 } | 753 } |
| 753 | 754 |
| 754 virtual void OnWidgetVisibilityChanged(Widget* widget, | 755 virtual void OnWidgetVisibilityChanged(Widget* widget, |
| 755 bool visible) OVERRIDE { | 756 bool visible) OVERRIDE { |
| 756 if (visible) | 757 if (visible) |
| 757 widget_shown_ = widget; | 758 widget_shown_ = widget; |
| 758 else | 759 else |
| 759 widget_hidden_ = widget; | 760 widget_hidden_ = widget; |
| 760 } | 761 } |
| 761 | 762 |
| 763 virtual void OnWidgetBoundsChanged(Widget* widget, |
| 764 const gfx::Rect& new_bounds) OVERRIDE { |
| 765 widget_bounds_changed_ = widget; |
| 766 } |
| 767 |
| 762 void reset() { | 768 void reset() { |
| 763 active_ = NULL; | 769 active_ = NULL; |
| 764 widget_closed_ = NULL; | 770 widget_closed_ = NULL; |
| 765 widget_activated_ = NULL; | 771 widget_activated_ = NULL; |
| 766 widget_deactivated_ = NULL; | 772 widget_deactivated_ = NULL; |
| 767 widget_shown_ = NULL; | 773 widget_shown_ = NULL; |
| 768 widget_hidden_ = NULL; | 774 widget_hidden_ = NULL; |
| 775 widget_bounds_changed_ = NULL; |
| 769 } | 776 } |
| 770 | 777 |
| 771 Widget* NewWidget() { | 778 Widget* NewWidget() { |
| 772 Widget* widget = CreateTopLevelNativeWidget(); | 779 Widget* widget = CreateTopLevelNativeWidget(); |
| 773 widget->AddObserver(this); | 780 widget->AddObserver(this); |
| 774 return widget; | 781 return widget; |
| 775 } | 782 } |
| 776 | 783 |
| 777 const Widget* active() const { return active_; } | 784 const Widget* active() const { return active_; } |
| 778 const Widget* widget_closed() const { return widget_closed_; } | 785 const Widget* widget_closed() const { return widget_closed_; } |
| 779 const Widget* widget_activated() const { return widget_activated_; } | 786 const Widget* widget_activated() const { return widget_activated_; } |
| 780 const Widget* widget_deactivated() const { return widget_deactivated_; } | 787 const Widget* widget_deactivated() const { return widget_deactivated_; } |
| 781 const Widget* widget_shown() const { return widget_shown_; } | 788 const Widget* widget_shown() const { return widget_shown_; } |
| 782 const Widget* widget_hidden() const { return widget_hidden_; } | 789 const Widget* widget_hidden() const { return widget_hidden_; } |
| 790 const Widget* widget_bounds_changed() const { return widget_bounds_changed_; } |
| 783 | 791 |
| 784 private: | 792 private: |
| 785 | 793 |
| 786 Widget* active_; | 794 Widget* active_; |
| 787 | 795 |
| 788 Widget* widget_closed_; | 796 Widget* widget_closed_; |
| 789 Widget* widget_activated_; | 797 Widget* widget_activated_; |
| 790 Widget* widget_deactivated_; | 798 Widget* widget_deactivated_; |
| 791 Widget* widget_shown_; | 799 Widget* widget_shown_; |
| 792 Widget* widget_hidden_; | 800 Widget* widget_hidden_; |
| 801 Widget* widget_bounds_changed_; |
| 793 }; | 802 }; |
| 794 | 803 |
| 795 TEST_F(WidgetObserverTest, DISABLED_ActivationChange) { | 804 TEST_F(WidgetObserverTest, DISABLED_ActivationChange) { |
| 796 Widget* toplevel = CreateTopLevelPlatformWidget(); | 805 Widget* toplevel = CreateTopLevelPlatformWidget(); |
| 797 | 806 |
| 798 Widget* toplevel1 = NewWidget(); | 807 Widget* toplevel1 = NewWidget(); |
| 799 Widget* toplevel2 = NewWidget(); | 808 Widget* toplevel2 = NewWidget(); |
| 800 | 809 |
| 801 toplevel1->Show(); | 810 toplevel1->Show(); |
| 802 toplevel2->Show(); | 811 toplevel2->Show(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 BubbleDelegateView* bubble_delegate = | 862 BubbleDelegateView* bubble_delegate = |
| 854 new BubbleDelegateView(view, BubbleBorder::NONE); | 863 new BubbleDelegateView(view, BubbleBorder::NONE); |
| 855 Widget* bubble_widget(BubbleDelegateView::CreateBubble(bubble_delegate)); | 864 Widget* bubble_widget(BubbleDelegateView::CreateBubble(bubble_delegate)); |
| 856 bubble_widget->Show(); | 865 bubble_widget->Show(); |
| 857 bubble_widget->CloseNow(); | 866 bubble_widget->CloseNow(); |
| 858 | 867 |
| 859 anchor->Hide(); | 868 anchor->Hide(); |
| 860 anchor->CloseNow(); | 869 anchor->CloseNow(); |
| 861 } | 870 } |
| 862 | 871 |
| 872 TEST_F(WidgetObserverTest, WidgetBoundsChanged) { |
| 873 Widget* child1 = NewWidget(); |
| 874 Widget* child2 = NewWidget(); |
| 875 |
| 876 child1->OnNativeWidgetMove(); |
| 877 EXPECT_EQ(child1, widget_bounds_changed()); |
| 878 |
| 879 child2->OnNativeWidgetMove(); |
| 880 EXPECT_EQ(child2, widget_bounds_changed()); |
| 881 |
| 882 child1->OnNativeWidgetSizeChanged(gfx::Size()); |
| 883 EXPECT_EQ(child1, widget_bounds_changed()); |
| 884 |
| 885 child2->OnNativeWidgetSizeChanged(gfx::Size()); |
| 886 EXPECT_EQ(child2, widget_bounds_changed()); |
| 887 } |
| 888 |
| 863 #if !defined(USE_AURA) && defined(OS_WIN) | 889 #if !defined(USE_AURA) && defined(OS_WIN) |
| 864 // Aura needs shell to maximize/fullscreen window. | 890 // Aura needs shell to maximize/fullscreen window. |
| 865 // NativeWidgetGtk doesn't implement GetRestoredBounds. | 891 // NativeWidgetGtk doesn't implement GetRestoredBounds. |
| 866 TEST_F(WidgetTest, GetRestoredBounds) { | 892 TEST_F(WidgetTest, GetRestoredBounds) { |
| 867 Widget* toplevel = CreateTopLevelPlatformWidget(); | 893 Widget* toplevel = CreateTopLevelPlatformWidget(); |
| 868 EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), | 894 EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), |
| 869 toplevel->GetRestoredBounds().ToString()); | 895 toplevel->GetRestoredBounds().ToString()); |
| 870 toplevel->Show(); | 896 toplevel->Show(); |
| 871 toplevel->Maximize(); | 897 toplevel->Maximize(); |
| 872 RunPendingMessages(); | 898 RunPendingMessages(); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 997 EXPECT_TRUE(toplevel->OnKeyEvent(backspace_p)); | 1023 EXPECT_TRUE(toplevel->OnKeyEvent(backspace_p)); |
| 998 ui::KeyEvent backspace_r(ui::ET_KEY_RELEASED, ui::VKEY_DELETE, 0, false); | 1024 ui::KeyEvent backspace_r(ui::ET_KEY_RELEASED, ui::VKEY_DELETE, 0, false); |
| 999 EXPECT_FALSE(toplevel->OnKeyEvent(backspace_r)); | 1025 EXPECT_FALSE(toplevel->OnKeyEvent(backspace_r)); |
| 1000 | 1026 |
| 1001 toplevel->Close(); | 1027 toplevel->Close(); |
| 1002 } | 1028 } |
| 1003 #endif // defined(USE_AURA) | 1029 #endif // defined(USE_AURA) |
| 1004 | 1030 |
| 1005 } // namespace | 1031 } // namespace |
| 1006 } // namespace views | 1032 } // namespace views |
| OLD | NEW |