| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <memory> | 6 #include <memory> |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 1750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1761 EXPECT_EQ(1, event_count_view->GetEventCount(ui::ET_MOUSE_RELEASED)); | 1761 EXPECT_EQ(1, event_count_view->GetEventCount(ui::ET_MOUSE_RELEASED)); |
| 1762 | 1762 |
| 1763 // For mus it's important we destroy the widget before the EventGenerator. | 1763 // For mus it's important we destroy the widget before the EventGenerator. |
| 1764 widget->CloseNow(); | 1764 widget->CloseNow(); |
| 1765 } | 1765 } |
| 1766 | 1766 |
| 1767 #endif // !defined(OS_MACOSX) || defined(USE_AURA) | 1767 #endif // !defined(OS_MACOSX) || defined(USE_AURA) |
| 1768 | 1768 |
| 1769 // Tests that when there is no active capture, that a mouse press causes capture | 1769 // Tests that when there is no active capture, that a mouse press causes capture |
| 1770 // to be set. | 1770 // to be set. |
| 1771 TEST_F(WidgetTest, MousePressCausesCapture) { | 1771 // Disabled on Mac (GetGlobalCapture() not yet implemented). |
| 1772 // http://crbug.com//622979. |
| 1773 #if defined(OS_MACOSX) |
| 1774 #define MAYBE_MousePressCausesCapture DISABLED_MousePressCausesCapture |
| 1775 #else |
| 1776 #define MAYBE_MousePressCausesCapture MousePressCausesCapture |
| 1777 #endif |
| 1778 TEST_F(WidgetTest, MAYBE_MousePressCausesCapture) { |
| 1772 Widget* widget = CreateTopLevelNativeWidget(); | 1779 Widget* widget = CreateTopLevelNativeWidget(); |
| 1773 widget->Show(); | 1780 widget->Show(); |
| 1774 widget->SetSize(gfx::Size(300, 300)); | 1781 widget->SetSize(gfx::Size(300, 300)); |
| 1775 | 1782 |
| 1776 EventCountView* event_count_view = new EventCountView(); | 1783 EventCountView* event_count_view = new EventCountView(); |
| 1777 event_count_view->SetBounds(0, 0, 300, 300); | 1784 event_count_view->SetBounds(0, 0, 300, 300); |
| 1778 widget->GetRootView()->AddChildView(event_count_view); | 1785 widget->GetRootView()->AddChildView(event_count_view); |
| 1779 | 1786 |
| 1780 // No capture has been set. | 1787 // No capture has been set. |
| 1781 EXPECT_EQ(nullptr, internal::NativeWidgetPrivate::GetGlobalCapture( | 1788 EXPECT_EQ(nullptr, internal::NativeWidgetPrivate::GetGlobalCapture( |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1824 | 1831 |
| 1825 EventCountView* event_count_view_; | 1832 EventCountView* event_count_view_; |
| 1826 Widget* widget_; | 1833 Widget* widget_; |
| 1827 DISALLOW_COPY_AND_ASSIGN(CaptureEventConsumer); | 1834 DISALLOW_COPY_AND_ASSIGN(CaptureEventConsumer); |
| 1828 }; | 1835 }; |
| 1829 | 1836 |
| 1830 } // namespace | 1837 } // namespace |
| 1831 | 1838 |
| 1832 // Tests that if explicit capture occurs during a mouse press, that implicit | 1839 // Tests that if explicit capture occurs during a mouse press, that implicit |
| 1833 // capture is not applied. | 1840 // capture is not applied. |
| 1834 TEST_F(WidgetTest, CaptureDuringMousePressNotOverridden) { | 1841 // Disabled on Mac (GetGlobalCapture() not yet implemented). |
| 1842 // http://crbug.com//622979. |
| 1843 #if defined(OS_MACOSX) |
| 1844 #define MAYBE_CaptureDuringMousePressNotOverridden \ |
| 1845 DISABLED_CaptureDuringMousePressNotOverridden |
| 1846 #else |
| 1847 #define MAYBE_CaptureDuringMousePressNotOverridden \ |
| 1848 CaptureDuringMousePressNotOverridden |
| 1849 #endif |
| 1850 TEST_F(WidgetTest, MAYBE_CaptureDuringMousePressNotOverridden) { |
| 1835 Widget* widget = CreateTopLevelNativeWidget(); | 1851 Widget* widget = CreateTopLevelNativeWidget(); |
| 1836 widget->Show(); | 1852 widget->Show(); |
| 1837 widget->SetSize(gfx::Size(300, 300)); | 1853 widget->SetSize(gfx::Size(300, 300)); |
| 1838 | 1854 |
| 1839 EventCountView* event_count_view = new EventCountView(); | 1855 EventCountView* event_count_view = new EventCountView(); |
| 1840 event_count_view->SetBounds(0, 0, 300, 300); | 1856 event_count_view->SetBounds(0, 0, 300, 300); |
| 1841 widget->GetRootView()->AddChildView(event_count_view); | 1857 widget->GetRootView()->AddChildView(event_count_view); |
| 1842 | 1858 |
| 1843 EXPECT_EQ(nullptr, internal::NativeWidgetPrivate::GetGlobalCapture( | 1859 EXPECT_EQ(nullptr, internal::NativeWidgetPrivate::GetGlobalCapture( |
| 1844 widget->GetNativeView())); | 1860 widget->GetNativeView())); |
| (...skipping 1315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3160 views::Widget* widget_; | 3176 views::Widget* widget_; |
| 3161 bool fullscreen_layout_called_; | 3177 bool fullscreen_layout_called_; |
| 3162 | 3178 |
| 3163 DISALLOW_COPY_AND_ASSIGN(FullscreenAwareFrame); | 3179 DISALLOW_COPY_AND_ASSIGN(FullscreenAwareFrame); |
| 3164 }; | 3180 }; |
| 3165 | 3181 |
| 3166 } // namespace | 3182 } // namespace |
| 3167 | 3183 |
| 3168 // Tests that frame Layout is called when a widget goes fullscreen without | 3184 // Tests that frame Layout is called when a widget goes fullscreen without |
| 3169 // changing its size or title. | 3185 // changing its size or title. |
| 3170 TEST_F(WidgetTest, FullscreenFrameLayout) { | 3186 // Fails on Mac, but only on bots. http://crbug.com/607403. |
| 3187 #if defined(OS_MACOSX) |
| 3188 #define MAYBE_FullscreenFrameLayout DISABLED_FullscreenFrameLayout |
| 3189 #else |
| 3190 #define MAYBE_FullscreenFrameLayout FullscreenFrameLayout |
| 3191 #endif |
| 3192 TEST_F(WidgetTest, MAYBE_FullscreenFrameLayout) { |
| 3171 WidgetAutoclosePtr widget(CreateTopLevelPlatformWidget()); | 3193 WidgetAutoclosePtr widget(CreateTopLevelPlatformWidget()); |
| 3172 FullscreenAwareFrame* frame = new FullscreenAwareFrame(widget.get()); | 3194 FullscreenAwareFrame* frame = new FullscreenAwareFrame(widget.get()); |
| 3173 widget->non_client_view()->SetFrameView(frame); // Owns |frame|. | 3195 widget->non_client_view()->SetFrameView(frame); // Owns |frame|. |
| 3174 | 3196 |
| 3175 widget->Maximize(); | 3197 widget->Maximize(); |
| 3176 RunPendingMessages(); | 3198 RunPendingMessages(); |
| 3177 | 3199 |
| 3178 EXPECT_FALSE(frame->fullscreen_layout_called()); | 3200 EXPECT_FALSE(frame->fullscreen_layout_called()); |
| 3179 widget->SetFullscreen(true); | 3201 widget->SetFullscreen(true); |
| 3180 widget->Show(); | 3202 widget->Show(); |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3774 | 3796 |
| 3775 TEST_F(WidgetTest, Transparency_DesktopWidgetOpaque) { | 3797 TEST_F(WidgetTest, Transparency_DesktopWidgetOpaque) { |
| 3776 Widget widget; | 3798 Widget widget; |
| 3777 InitializeWidgetForOpacity(widget, | 3799 InitializeWidgetForOpacity(widget, |
| 3778 CreateParams(Widget::InitParams::TYPE_WINDOW), | 3800 CreateParams(Widget::InitParams::TYPE_WINDOW), |
| 3779 Widget::InitParams::OPAQUE_WINDOW); | 3801 Widget::InitParams::OPAQUE_WINDOW); |
| 3780 EXPECT_EQ(IsNativeWindowTransparent(widget.GetNativeWindow()), | 3802 EXPECT_EQ(IsNativeWindowTransparent(widget.GetNativeWindow()), |
| 3781 widget.ShouldWindowContentsBeTransparent()); | 3803 widget.ShouldWindowContentsBeTransparent()); |
| 3782 } | 3804 } |
| 3783 | 3805 |
| 3784 TEST_F(WidgetTest, Transparency_DesktopWidgetTranslucent) { | 3806 // Failing on Mac. http://cbrug.com/623421 |
| 3807 #if defined(OS_MACOSX) |
| 3808 #define MAYBE_Transparency_DesktopWidgetTranslucent \ |
| 3809 DISABLED_Transparency_DesktopWidgetTranslucent |
| 3810 #else |
| 3811 #define MAYBE_Transparency_DesktopWidgetTranslucent \ |
| 3812 Transparency_DesktopWidgetTranslucent |
| 3813 #endif |
| 3814 TEST_F(WidgetTest, MAYBE_Transparency_DesktopWidgetTranslucent) { |
| 3785 Widget widget; | 3815 Widget widget; |
| 3786 InitializeWidgetForOpacity(widget, | 3816 InitializeWidgetForOpacity(widget, |
| 3787 CreateParams(Widget::InitParams::TYPE_WINDOW), | 3817 CreateParams(Widget::InitParams::TYPE_WINDOW), |
| 3788 Widget::InitParams::TRANSLUCENT_WINDOW); | 3818 Widget::InitParams::TRANSLUCENT_WINDOW); |
| 3789 EXPECT_EQ(IsNativeWindowTransparent(widget.GetNativeWindow()), | 3819 EXPECT_EQ(IsNativeWindowTransparent(widget.GetNativeWindow()), |
| 3790 widget.ShouldWindowContentsBeTransparent()); | 3820 widget.ShouldWindowContentsBeTransparent()); |
| 3791 } | 3821 } |
| 3792 | 3822 |
| 3793 #endif // !defined(OS_CHROMEOS) | 3823 #endif // !defined(OS_CHROMEOS) |
| 3794 | 3824 |
| 3795 } // namespace test | 3825 } // namespace test |
| 3796 } // namespace views | 3826 } // namespace views |
| OLD | NEW |