OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ui/aura/client/aura_constants.h" | 5 #include "ui/aura/client/aura_constants.h" |
6 #include "ui/aura/window.h" | 6 #include "ui/aura/window.h" |
7 #include "ui/base/ime/dummy_input_method_delegate.h" | 7 #include "ui/base/ime/dummy_input_method_delegate.h" |
8 #include "ui/base/ime/input_method_minimal.h" | 8 #include "ui/base/ime/input_method_minimal.h" |
9 #include "ui/base/ime/text_input_client.h" | 9 #include "ui/base/ime/text_input_client.h" |
10 #include "ui/views/ime/input_method.h" | 10 #include "ui/views/ime/input_method.h" |
11 #include "ui/views/test/views_test_base.h" | 11 #include "ui/views/test/views_test_base.h" |
12 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" | 12 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" |
13 #include "ui/views/widget/native_widget_aura.h" | 13 #include "ui/views/widget/native_widget_aura.h" |
14 #include "ui/views/widget/widget.h" | 14 #include "ui/views/widget/widget.h" |
15 | 15 |
16 namespace views { | 16 namespace views { |
17 | 17 |
18 typedef ViewsTestBase InputMethodBridgeTest; | 18 typedef ViewsTestBase InputMethodBridgeTest; |
19 | 19 |
20 TEST_F(InputMethodBridgeTest, DestructTest) { | 20 TEST_F(InputMethodBridgeTest, DestructTest) { |
21 ui::internal::DummyInputMethodDelegate input_method_delegate; | 21 ui::internal::DummyInputMethodDelegate input_method_delegate; |
22 ui::InputMethodMinimal input_method(&input_method_delegate); | 22 ui::InputMethodMinimal input_method(&input_method_delegate); |
23 | 23 |
24 GetContext()->SetProperty(aura::client::kRootWindowInputMethodKey, | |
25 static_cast<ui::InputMethod*>(&input_method)); | |
26 | |
27 Widget* toplevel = new Widget; | 24 Widget* toplevel = new Widget; |
28 Widget::InitParams toplevel_params = | 25 Widget::InitParams toplevel_params = |
29 CreateParams(Widget::InitParams::TYPE_WINDOW); | 26 CreateParams(Widget::InitParams::TYPE_WINDOW); |
30 // |child| owns |native_widget|. | 27 // |child| owns |native_widget|. |
31 toplevel_params.native_widget = new DesktopNativeWidgetAura(toplevel); | 28 toplevel_params.native_widget = new DesktopNativeWidgetAura(toplevel); |
32 toplevel->Init(toplevel_params); | 29 toplevel->Init(toplevel_params); |
33 | 30 |
34 Widget* child = new Widget; | 31 Widget* child = new Widget; |
35 Widget::InitParams child_params = | 32 Widget::InitParams child_params = |
36 CreateParams(Widget::InitParams::TYPE_POPUP); | 33 CreateParams(Widget::InitParams::TYPE_POPUP); |
37 child_params.parent = toplevel->GetNativeView(); | 34 child_params.parent = toplevel->GetNativeView(); |
38 // |child| owns |native_widget|. | 35 // |child| owns |native_widget|. |
39 child_params.native_widget = new NativeWidgetAura(child); | 36 child_params.native_widget = new NativeWidgetAura(child); |
40 child->Init(child_params); | 37 child->Init(child_params); |
41 | 38 |
42 child->GetInputMethod()->OnFocus(); | 39 child->GetInputMethod()->OnFocus(); |
43 | 40 |
44 toplevel->CloseNow(); | 41 toplevel->CloseNow(); |
45 | |
46 GetContext()->SetProperty(aura::client::kRootWindowInputMethodKey, | |
47 static_cast<ui::InputMethod*>(NULL)); | |
48 } | 42 } |
49 | 43 |
50 } // namespace views | 44 } // namespace views |
OLD | NEW |