| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "ui/aura/client/focus_client.h" | 10 #include "ui/aura/client/focus_client.h" |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 focus_controller_.reset(); | 181 focus_controller_.reset(); |
| 182 aura_test_helper_->TearDown(); | 182 aura_test_helper_->TearDown(); |
| 183 ui::TerminateContextFactoryForTests(); | 183 ui::TerminateContextFactoryForTests(); |
| 184 } | 184 } |
| 185 | 185 |
| 186 aura::Window* root_window() { return aura_test_helper_->root_window(); } | 186 aura::Window* root_window() { return aura_test_helper_->root_window(); } |
| 187 KeyboardControllerProxy* proxy() { return proxy_; } | 187 KeyboardControllerProxy* proxy() { return proxy_; } |
| 188 KeyboardController* controller() { return controller_.get(); } | 188 KeyboardController* controller() { return controller_.get(); } |
| 189 | 189 |
| 190 void ShowKeyboard() { | 190 void ShowKeyboard() { |
| 191 ui::DummyTextInputClient test_text_input_client(ui::TEXT_INPUT_TYPE_TEXT); | 191 test_text_input_client_.reset( |
| 192 SetFocus(&test_text_input_client); | 192 new ui::DummyTextInputClient(ui::TEXT_INPUT_TYPE_TEXT)); |
| 193 SetFocus(test_text_input_client_.get()); |
| 193 } | 194 } |
| 194 | 195 |
| 195 protected: | 196 protected: |
| 196 void SetFocus(ui::TextInputClient* client) { | 197 void SetFocus(ui::TextInputClient* client) { |
| 197 ui::InputMethod* input_method = proxy()->GetInputMethod(); | 198 ui::InputMethod* input_method = proxy()->GetInputMethod(); |
| 198 input_method->SetFocusedTextInputClient(client); | 199 input_method->SetFocusedTextInputClient(client); |
| 199 if (client && client->GetTextInputType() != ui::TEXT_INPUT_TYPE_NONE) { | 200 if (client && client->GetTextInputType() != ui::TEXT_INPUT_TYPE_NONE) { |
| 200 input_method->ShowImeIfNeeded(); | 201 input_method->ShowImeIfNeeded(); |
| 201 if (proxy_->GetKeyboardWindow()->bounds().height() == 0) { | 202 if (proxy_->GetKeyboardWindow()->bounds().height() == 0) { |
| 202 // Set initial bounds for test keyboard window. | 203 // Set initial bounds for test keyboard window. |
| 203 proxy_->GetKeyboardWindow()->SetBounds( | 204 proxy_->GetKeyboardWindow()->SetBounds( |
| 204 KeyboardBoundsFromWindowBounds( | 205 KeyboardBoundsFromWindowBounds( |
| 205 controller()->GetContainerWindow()->bounds(), 100)); | 206 controller()->GetContainerWindow()->bounds(), 100)); |
| 206 } | 207 } |
| 207 } | 208 } |
| 208 } | 209 } |
| 209 | 210 |
| 210 bool WillHideKeyboard() { | 211 bool WillHideKeyboard() { |
| 211 return controller_->WillHideKeyboard(); | 212 return controller_->WillHideKeyboard(); |
| 212 } | 213 } |
| 213 | 214 |
| 214 base::MessageLoopForUI message_loop_; | 215 base::MessageLoopForUI message_loop_; |
| 215 scoped_ptr<aura::test::AuraTestHelper> aura_test_helper_; | 216 scoped_ptr<aura::test::AuraTestHelper> aura_test_helper_; |
| 216 scoped_ptr<TestFocusController> focus_controller_; | 217 scoped_ptr<TestFocusController> focus_controller_; |
| 217 | 218 |
| 218 private: | 219 private: |
| 219 KeyboardControllerProxy* proxy_; | 220 KeyboardControllerProxy* proxy_; |
| 220 scoped_ptr<KeyboardController> controller_; | 221 scoped_ptr<KeyboardController> controller_; |
| 221 | 222 scoped_ptr<ui::TextInputClient> test_text_input_client_; |
| 222 DISALLOW_COPY_AND_ASSIGN(KeyboardControllerTest); | 223 DISALLOW_COPY_AND_ASSIGN(KeyboardControllerTest); |
| 223 }; | 224 }; |
| 224 | 225 |
| 225 TEST_F(KeyboardControllerTest, KeyboardSize) { | 226 TEST_F(KeyboardControllerTest, KeyboardSize) { |
| 226 aura::Window* container(controller()->GetContainerWindow()); | 227 aura::Window* container(controller()->GetContainerWindow()); |
| 227 aura::Window* keyboard(proxy()->GetKeyboardWindow()); | 228 aura::Window* keyboard(proxy()->GetKeyboardWindow()); |
| 228 container->SetBounds(gfx::Rect(0, 0, 200, 100)); | 229 container->SetBounds(gfx::Rect(0, 0, 200, 100)); |
| 229 | 230 |
| 230 container->AddChild(keyboard); | 231 container->AddChild(keyboard); |
| 231 const gfx::Rect& before_bounds = keyboard->bounds(); | 232 const gfx::Rect& before_bounds = keyboard->bounds(); |
| (...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 550 SetFocus(&input_client); | 551 SetFocus(&input_client); |
| 551 EXPECT_TRUE(keyboard_container->IsVisible()); | 552 EXPECT_TRUE(keyboard_container->IsVisible()); |
| 552 | 553 |
| 553 SetFocus(&no_input_client); | 554 SetFocus(&no_input_client); |
| 554 // Keyboard should not hide itself after lost focus. | 555 // Keyboard should not hide itself after lost focus. |
| 555 EXPECT_TRUE(keyboard_container->IsVisible()); | 556 EXPECT_TRUE(keyboard_container->IsVisible()); |
| 556 EXPECT_FALSE(WillHideKeyboard()); | 557 EXPECT_FALSE(WillHideKeyboard()); |
| 557 } | 558 } |
| 558 | 559 |
| 559 } // namespace keyboard | 560 } // namespace keyboard |
| OLD | NEW |