Index: ui/keyboard/keyboard_controller_unittest.cc |
diff --git a/ui/keyboard/keyboard_controller_unittest.cc b/ui/keyboard/keyboard_controller_unittest.cc |
index 9b8f8b7822f83982d9ee7f7f7876909be533e540..4f00f2fbdded85cc23014d5dbf670bfe28db6caa 100644 |
--- a/ui/keyboard/keyboard_controller_unittest.cc |
+++ b/ui/keyboard/keyboard_controller_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/command_line.h" |
#include "base/macros.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/run_loop.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/aura/client/focus_client.h" |
#include "ui/aura/layout_manager.h" |
@@ -146,7 +147,9 @@ class EventObserver : public ui::EventHandler { |
class KeyboardContainerObserver : public aura::WindowObserver { |
public: |
- explicit KeyboardContainerObserver(aura::Window* window) : window_(window) { |
+ explicit KeyboardContainerObserver(aura::Window* window, |
+ base::RunLoop* run_loop) |
+ : window_(window), run_loop_(run_loop) { |
window_->AddObserver(this); |
} |
~KeyboardContainerObserver() override { window_->RemoveObserver(this); } |
@@ -154,10 +157,11 @@ class KeyboardContainerObserver : public aura::WindowObserver { |
private: |
void OnWindowVisibilityChanged(aura::Window* window, bool visible) override { |
if (!visible) |
- base::MessageLoop::current()->QuitWhenIdle(); |
+ run_loop_->QuitWhenIdle(); |
} |
aura::Window* window_; |
+ base::RunLoop* const run_loop_; |
DISALLOW_COPY_AND_ASSIGN(KeyboardContainerObserver); |
}; |
@@ -364,9 +368,10 @@ TEST_F(KeyboardControllerTest, VisibilityChangeWithTextInputTypeChange) { |
ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE); |
ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE); |
+ base::RunLoop run_loop; |
aura::Window* keyboard_container(controller()->GetContainerWindow()); |
std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer( |
- new KeyboardContainerObserver(keyboard_container)); |
+ new KeyboardContainerObserver(keyboard_container, &run_loop)); |
root_window()->AddChild(keyboard_container); |
SetFocus(&input_client_0); |
@@ -379,7 +384,7 @@ TEST_F(KeyboardControllerTest, VisibilityChangeWithTextInputTypeChange) { |
EXPECT_TRUE(keyboard_container->IsVisible()); |
EXPECT_TRUE(WillHideKeyboard()); |
// Wait for hide keyboard to finish. |
- base::MessageLoop::current()->Run(); |
+ run_loop.Run(); |
EXPECT_FALSE(keyboard_container->IsVisible()); |
SetFocus(&input_client_1); |
@@ -427,10 +432,11 @@ TEST_F(KeyboardControllerTest, FloatingKeyboardDontOverscrollOrResize) { |
ui::DummyTextInputClient input_client(ui::TEXT_INPUT_TYPE_TEXT); |
ui::DummyTextInputClient no_input_client(ui::TEXT_INPUT_TYPE_NONE); |
+ base::RunLoop run_loop; |
aura::Window* container(controller()->GetContainerWindow()); |
root_window()->AddChild(container); |
std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer( |
- new KeyboardContainerObserver(container)); |
+ new KeyboardContainerObserver(container, &run_loop)); |
gfx::Rect screen_bounds = root_window()->bounds(); |
keyboard::SetTouchKeyboardEnabled(true); |
@@ -447,7 +453,7 @@ TEST_F(KeyboardControllerTest, FloatingKeyboardDontOverscrollOrResize) { |
EXPECT_EQ(gfx::Rect(), notified_bounds()); |
EXPECT_EQ(2, number_of_calls()); |
SetFocus(&no_input_client); |
- base::MessageLoop::current()->Run(); |
+ run_loop.Run(); |
EXPECT_EQ(gfx::Rect(), notified_bounds()); |
EXPECT_EQ(3, number_of_calls()); |
SetFocus(&input_client); |
@@ -487,9 +493,10 @@ TEST_F(KeyboardControllerTest, AlwaysVisibleWhenLocked) { |
ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE); |
ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE); |
+ base::RunLoop run_loop; |
aura::Window* keyboard_container(controller()->GetContainerWindow()); |
std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer( |
- new KeyboardContainerObserver(keyboard_container)); |
+ new KeyboardContainerObserver(keyboard_container, &run_loop)); |
root_window()->AddChild(keyboard_container); |
SetFocus(&input_client_0); |
@@ -515,7 +522,7 @@ TEST_F(KeyboardControllerTest, AlwaysVisibleWhenLocked) { |
EXPECT_TRUE(WillHideKeyboard()); |
// Wait for hide keyboard to finish. |
- base::MessageLoop::current()->Run(); |
+ run_loop.Run(); |
EXPECT_FALSE(keyboard_container->IsVisible()); |
keyboard::SetAccessibilityKeyboardEnabled(false); |
} |