| 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 <set> | 6 #include <set> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "ui/views/test/test_widget_observer.h" | 27 #include "ui/views/test/test_widget_observer.h" |
| 28 #include "ui/views/test/widget_test.h" | 28 #include "ui/views/test/widget_test.h" |
| 29 #include "ui/views/views_delegate.h" | 29 #include "ui/views/views_delegate.h" |
| 30 #include "ui/views/widget/native_widget_delegate.h" | 30 #include "ui/views/widget/native_widget_delegate.h" |
| 31 #include "ui/views/widget/root_view.h" | 31 #include "ui/views/widget/root_view.h" |
| 32 #include "ui/views/widget/widget_deletion_observer.h" | 32 #include "ui/views/widget/widget_deletion_observer.h" |
| 33 #include "ui/views/window/dialog_delegate.h" | 33 #include "ui/views/window/dialog_delegate.h" |
| 34 #include "ui/views/window/native_frame_view.h" | 34 #include "ui/views/window/native_frame_view.h" |
| 35 | 35 |
| 36 #if defined(OS_WIN) | 36 #if defined(OS_WIN) |
| 37 #include "ui/aura/window.h" |
| 38 #include "ui/aura/window_tree_host.h" |
| 39 #include "ui/base/view_prop.h" |
| 40 #include "ui/base/win/window_event_target.h" |
| 37 #include "ui/views/win/hwnd_util.h" | 41 #include "ui/views/win/hwnd_util.h" |
| 38 #endif | 42 #endif |
| 39 | 43 |
| 40 #if defined(OS_MACOSX) | 44 #if defined(OS_MACOSX) |
| 41 #include "base/mac/mac_util.h" | 45 #include "base/mac/mac_util.h" |
| 42 #endif | 46 #endif |
| 43 | 47 |
| 44 namespace views { | 48 namespace views { |
| 45 namespace test { | 49 namespace test { |
| 46 | 50 |
| (...skipping 3330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3377 | 3381 |
| 3378 EXPECT_NE(test_rect.size(), widget->GetWindowBoundsInScreen().size()); | 3382 EXPECT_NE(test_rect.size(), widget->GetWindowBoundsInScreen().size()); |
| 3379 | 3383 |
| 3380 EXPECT_EQ(test_rect, root_view->bounds()); | 3384 EXPECT_EQ(test_rect, root_view->bounds()); |
| 3381 widget->ReorderNativeViews(); | 3385 widget->ReorderNativeViews(); |
| 3382 EXPECT_EQ(test_rect, root_view->bounds()); | 3386 EXPECT_EQ(test_rect, root_view->bounds()); |
| 3383 | 3387 |
| 3384 widget->CloseNow(); | 3388 widget->CloseNow(); |
| 3385 } | 3389 } |
| 3386 | 3390 |
| 3391 #if defined(OS_WIN) |
| 3392 // This test validates that sending WM_CHAR/WM_SYSCHAR/WM_SYSDEADCHAR |
| 3393 // messages via the WindowEventTarget interface implemented by the |
| 3394 // HWNDMessageHandler class does not cause a crash due to an unprocessed |
| 3395 // event |
| 3396 TEST_F(WidgetTest, CharMessagesAsKeyboardMessagesDoesNotCrash) { |
| 3397 Widget widget; |
| 3398 Widget::InitParams params = |
| 3399 CreateParams(Widget::InitParams::TYPE_WINDOW); |
| 3400 params.native_widget = new PlatformDesktopNativeWidget(&widget); |
| 3401 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 3402 widget.Init(params); |
| 3403 widget.Show(); |
| 3404 |
| 3405 ui::WindowEventTarget* target = |
| 3406 reinterpret_cast<ui::WindowEventTarget*>(ui::ViewProp::GetValue( |
| 3407 widget.GetNativeWindow()->GetHost()->GetAcceleratedWidget(), |
| 3408 ui::WindowEventTarget::kWin32InputEventTarget)); |
| 3409 EXPECT_NE(nullptr, target); |
| 3410 bool handled = false; |
| 3411 target->HandleKeyboardMessage(WM_CHAR, 0, 0, &handled); |
| 3412 target->HandleKeyboardMessage(WM_SYSCHAR, 0, 0, &handled); |
| 3413 target->HandleKeyboardMessage(WM_SYSDEADCHAR, 0, 0, &handled); |
| 3414 widget.CloseNow(); |
| 3415 } |
| 3416 #endif |
| 3417 |
| 3387 } // namespace test | 3418 } // namespace test |
| 3388 } // namespace views | 3419 } // namespace views |
| OLD | NEW |