summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/widget/widget_unittest.cc')
-rw-r--r--views/widget/widget_unittest.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/views/widget/widget_unittest.cc b/views/widget/widget_unittest.cc
index 3833975..c9bfbee 100644
--- a/views/widget/widget_unittest.cc
+++ b/views/widget/widget_unittest.cc
@@ -271,6 +271,34 @@ TEST_F(WidgetTest, GrabUngrab) {
toplevel->CloseNow();
}
+// Test if a focus manager and an inputmethod work without CHECK failure
+// when window activation changes.
+TEST_F(WidgetTest, ChangeActivation) {
+ Widget* top1 = CreateTopLevelPlatformWidget();
+ // CreateInputMethod before activated
+ top1->GetInputMethod();
+ top1->Show();
+ RunPendingMessages();
+
+ Widget* top2 = CreateTopLevelPlatformWidget();
+ top2->Show();
+ RunPendingMessages();
+
+ top1->Activate();
+ RunPendingMessages();
+
+ // Create InputMethod after deactivated.
+ top2->GetInputMethod();
+ top2->Activate();
+ RunPendingMessages();
+
+ top1->Activate();
+ RunPendingMessages();
+
+ top1->CloseNow();
+ top2->CloseNow();
+}
+
////////////////////////////////////////////////////////////////////////////////
// Widget ownership tests.
//