Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Side by Side Diff: ui/keyboard/keyboard_controller_unittest.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "ui/keyboard/keyboard_controller.h" 5 #include "ui/keyboard/keyboard_controller.h"
6 6
7 #include <memory>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/command_line.h" 10 #include "base/command_line.h"
9 #include "base/macros.h" 11 #include "base/macros.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 #include "ui/aura/client/focus_client.h" 14 #include "ui/aura/client/focus_client.h"
14 #include "ui/aura/layout_manager.h" 15 #include "ui/aura/layout_manager.h"
15 #include "ui/aura/test/aura_test_helper.h" 16 #include "ui/aura/test/aura_test_helper.h"
16 #include "ui/aura/test/test_window_delegate.h" 17 #include "ui/aura/test/test_window_delegate.h"
17 #include "ui/aura/window.h" 18 #include "ui/aura/window.h"
18 #include "ui/aura/window_event_dispatcher.h" 19 #include "ui/aura/window_event_dispatcher.h"
19 #include "ui/base/ime/dummy_text_input_client.h" 20 #include "ui/base/ime/dummy_text_input_client.h"
20 #include "ui/base/ime/input_method.h" 21 #include "ui/base/ime/input_method.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 109 }
109 return window_.get(); 110 return window_.get();
110 } 111 }
111 ui::InputMethod* GetInputMethod() override { return input_method_; } 112 ui::InputMethod* GetInputMethod() override { return input_method_; }
112 void SetUpdateInputType(ui::TextInputType type) override {} 113 void SetUpdateInputType(ui::TextInputType type) override {}
113 void ReloadKeyboardIfNeeded() override {}; 114 void ReloadKeyboardIfNeeded() override {};
114 void InitInsets(const gfx::Rect& keyboard_bounds) override {} 115 void InitInsets(const gfx::Rect& keyboard_bounds) override {}
115 void ResetInsets() override {} 116 void ResetInsets() override {}
116 117
117 private: 118 private:
118 scoped_ptr<aura::Window> window_; 119 std::unique_ptr<aura::Window> window_;
119 aura::test::TestWindowDelegate delegate_; 120 aura::test::TestWindowDelegate delegate_;
120 ui::InputMethod* input_method_; 121 ui::InputMethod* input_method_;
121 122
122 DISALLOW_COPY_AND_ASSIGN(TestKeyboardUI); 123 DISALLOW_COPY_AND_ASSIGN(TestKeyboardUI);
123 }; 124 };
124 125
125 // Keeps a count of all the events a window receives. 126 // Keeps a count of all the events a window receives.
126 class EventObserver : public ui::EventHandler { 127 class EventObserver : public ui::EventHandler {
127 public: 128 public:
128 EventObserver() {} 129 EventObserver() {}
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 244
244 bool ShouldEnableInsets(aura::Window* window) { 245 bool ShouldEnableInsets(aura::Window* window) {
245 aura::Window* keyboard_window = ui_->GetKeyboardWindow(); 246 aura::Window* keyboard_window = ui_->GetKeyboardWindow();
246 return (keyboard_window->GetRootWindow() == window->GetRootWindow() && 247 return (keyboard_window->GetRootWindow() == window->GetRootWindow() &&
247 keyboard::IsKeyboardOverscrollEnabled() && 248 keyboard::IsKeyboardOverscrollEnabled() &&
248 keyboard_window->IsVisible() && 249 keyboard_window->IsVisible() &&
249 controller_->keyboard_visible()); 250 controller_->keyboard_visible());
250 } 251 }
251 252
252 base::MessageLoopForUI message_loop_; 253 base::MessageLoopForUI message_loop_;
253 scoped_ptr<aura::test::AuraTestHelper> aura_test_helper_; 254 std::unique_ptr<aura::test::AuraTestHelper> aura_test_helper_;
254 scoped_ptr<TestFocusController> focus_controller_; 255 std::unique_ptr<TestFocusController> focus_controller_;
255 256
256 private: 257 private:
257 int number_of_calls_; 258 int number_of_calls_;
258 gfx::Rect notified_bounds_; 259 gfx::Rect notified_bounds_;
259 KeyboardUI* ui_; 260 KeyboardUI* ui_;
260 scoped_ptr<KeyboardController> controller_; 261 std::unique_ptr<KeyboardController> controller_;
261 scoped_ptr<ui::TextInputClient> test_text_input_client_; 262 std::unique_ptr<ui::TextInputClient> test_text_input_client_;
262 DISALLOW_COPY_AND_ASSIGN(KeyboardControllerTest); 263 DISALLOW_COPY_AND_ASSIGN(KeyboardControllerTest);
263 }; 264 };
264 265
265 TEST_F(KeyboardControllerTest, KeyboardSize) { 266 TEST_F(KeyboardControllerTest, KeyboardSize) {
266 aura::Window* container(controller()->GetContainerWindow()); 267 aura::Window* container(controller()->GetContainerWindow());
267 aura::Window* keyboard(ui()->GetKeyboardWindow()); 268 aura::Window* keyboard(ui()->GetKeyboardWindow());
268 gfx::Rect screen_bounds = root_window()->bounds(); 269 gfx::Rect screen_bounds = root_window()->bounds();
269 root_window()->AddChild(container); 270 root_window()->AddChild(container);
270 container->AddChild(keyboard); 271 container->AddChild(keyboard);
271 const gfx::Rect& initial_bounds = container->bounds(); 272 const gfx::Rect& initial_bounds = container->bounds();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 keyboard->SetBounds(new_bounds); 313 keyboard->SetBounds(new_bounds);
313 ASSERT_EQ(new_bounds, container->bounds()); 314 ASSERT_EQ(new_bounds, container->bounds());
314 VerifyKeyboardWindowSize(container, keyboard); 315 VerifyKeyboardWindowSize(container, keyboard);
315 } 316 }
316 317
317 // Tests that tapping/clicking inside the keyboard does not give it focus. 318 // Tests that tapping/clicking inside the keyboard does not give it focus.
318 TEST_F(KeyboardControllerTest, ClickDoesNotFocusKeyboard) { 319 TEST_F(KeyboardControllerTest, ClickDoesNotFocusKeyboard) {
319 keyboard::SetAccessibilityKeyboardEnabled(true); 320 keyboard::SetAccessibilityKeyboardEnabled(true);
320 const gfx::Rect& root_bounds = root_window()->bounds(); 321 const gfx::Rect& root_bounds = root_window()->bounds();
321 aura::test::EventCountDelegate delegate; 322 aura::test::EventCountDelegate delegate;
322 scoped_ptr<aura::Window> window(new aura::Window(&delegate)); 323 std::unique_ptr<aura::Window> window(new aura::Window(&delegate));
323 window->Init(ui::LAYER_NOT_DRAWN); 324 window->Init(ui::LAYER_NOT_DRAWN);
324 window->SetBounds(root_bounds); 325 window->SetBounds(root_bounds);
325 root_window()->AddChild(window.get()); 326 root_window()->AddChild(window.get());
326 window->Show(); 327 window->Show();
327 window->Focus(); 328 window->Focus();
328 329
329 aura::Window* keyboard_container(controller()->GetContainerWindow()); 330 aura::Window* keyboard_container(controller()->GetContainerWindow());
330 331
331 root_window()->AddChild(keyboard_container); 332 root_window()->AddChild(keyboard_container);
332 keyboard_container->Show(); 333 keyboard_container->Show();
(...skipping 29 matching lines...) Expand all
362 363
363 TEST_F(KeyboardControllerTest, VisibilityChangeWithTextInputTypeChange) { 364 TEST_F(KeyboardControllerTest, VisibilityChangeWithTextInputTypeChange) {
364 keyboard::SetAccessibilityKeyboardEnabled(true); 365 keyboard::SetAccessibilityKeyboardEnabled(true);
365 ui::DummyTextInputClient input_client_0(ui::TEXT_INPUT_TYPE_TEXT); 366 ui::DummyTextInputClient input_client_0(ui::TEXT_INPUT_TYPE_TEXT);
366 ui::DummyTextInputClient input_client_1(ui::TEXT_INPUT_TYPE_TEXT); 367 ui::DummyTextInputClient input_client_1(ui::TEXT_INPUT_TYPE_TEXT);
367 ui::DummyTextInputClient input_client_2(ui::TEXT_INPUT_TYPE_TEXT); 368 ui::DummyTextInputClient input_client_2(ui::TEXT_INPUT_TYPE_TEXT);
368 ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE); 369 ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE);
369 ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE); 370 ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE);
370 371
371 aura::Window* keyboard_container(controller()->GetContainerWindow()); 372 aura::Window* keyboard_container(controller()->GetContainerWindow());
372 scoped_ptr<KeyboardContainerObserver> keyboard_container_observer( 373 std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer(
373 new KeyboardContainerObserver(keyboard_container)); 374 new KeyboardContainerObserver(keyboard_container));
374 root_window()->AddChild(keyboard_container); 375 root_window()->AddChild(keyboard_container);
375 376
376 SetFocus(&input_client_0); 377 SetFocus(&input_client_0);
377 378
378 EXPECT_TRUE(keyboard_container->IsVisible()); 379 EXPECT_TRUE(keyboard_container->IsVisible());
379 380
380 SetFocus(&no_input_client_0); 381 SetFocus(&no_input_client_0);
381 // Keyboard should not immediately hide itself. It is delayed to avoid layout 382 // Keyboard should not immediately hide itself. It is delayed to avoid layout
382 // flicker when the focus of input field quickly change. 383 // flicker when the focus of input field quickly change.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 427
427 // Verify switch to FLOATING mode will reset the overscroll or resize and when 428 // Verify switch to FLOATING mode will reset the overscroll or resize and when
428 // in FLOATING mode, overscroll or resize wont be triggered. 429 // in FLOATING mode, overscroll or resize wont be triggered.
429 TEST_F(KeyboardControllerTest, FloatingKeyboardDontOverscrollOrResize) { 430 TEST_F(KeyboardControllerTest, FloatingKeyboardDontOverscrollOrResize) {
430 keyboard::SetAccessibilityKeyboardEnabled(true); 431 keyboard::SetAccessibilityKeyboardEnabled(true);
431 ui::DummyTextInputClient input_client(ui::TEXT_INPUT_TYPE_TEXT); 432 ui::DummyTextInputClient input_client(ui::TEXT_INPUT_TYPE_TEXT);
432 ui::DummyTextInputClient no_input_client(ui::TEXT_INPUT_TYPE_NONE); 433 ui::DummyTextInputClient no_input_client(ui::TEXT_INPUT_TYPE_NONE);
433 434
434 aura::Window* container(controller()->GetContainerWindow()); 435 aura::Window* container(controller()->GetContainerWindow());
435 root_window()->AddChild(container); 436 root_window()->AddChild(container);
436 scoped_ptr<KeyboardContainerObserver> keyboard_container_observer( 437 std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer(
437 new KeyboardContainerObserver(container)); 438 new KeyboardContainerObserver(container));
438 gfx::Rect screen_bounds = root_window()->bounds(); 439 gfx::Rect screen_bounds = root_window()->bounds();
439 keyboard::SetTouchKeyboardEnabled(true); 440 keyboard::SetTouchKeyboardEnabled(true);
440 441
441 SetFocus(&input_client); 442 SetFocus(&input_client);
442 gfx::Rect expected_bounds( 443 gfx::Rect expected_bounds(
443 0, screen_bounds.height() - kDefaultVirtualKeyboardHeight, 444 0, screen_bounds.height() - kDefaultVirtualKeyboardHeight,
444 screen_bounds.width(), kDefaultVirtualKeyboardHeight); 445 screen_bounds.width(), kDefaultVirtualKeyboardHeight);
445 // Verify overscroll or resize is in effect. 446 // Verify overscroll or resize is in effect.
446 EXPECT_EQ(expected_bounds, notified_bounds()); 447 EXPECT_EQ(expected_bounds, notified_bounds());
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 } 486 }
486 487
487 TEST_F(KeyboardControllerTest, AlwaysVisibleWhenLocked) { 488 TEST_F(KeyboardControllerTest, AlwaysVisibleWhenLocked) {
488 keyboard::SetAccessibilityKeyboardEnabled(true); 489 keyboard::SetAccessibilityKeyboardEnabled(true);
489 ui::DummyTextInputClient input_client_0(ui::TEXT_INPUT_TYPE_TEXT); 490 ui::DummyTextInputClient input_client_0(ui::TEXT_INPUT_TYPE_TEXT);
490 ui::DummyTextInputClient input_client_1(ui::TEXT_INPUT_TYPE_TEXT); 491 ui::DummyTextInputClient input_client_1(ui::TEXT_INPUT_TYPE_TEXT);
491 ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE); 492 ui::DummyTextInputClient no_input_client_0(ui::TEXT_INPUT_TYPE_NONE);
492 ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE); 493 ui::DummyTextInputClient no_input_client_1(ui::TEXT_INPUT_TYPE_NONE);
493 494
494 aura::Window* keyboard_container(controller()->GetContainerWindow()); 495 aura::Window* keyboard_container(controller()->GetContainerWindow());
495 scoped_ptr<KeyboardContainerObserver> keyboard_container_observer( 496 std::unique_ptr<KeyboardContainerObserver> keyboard_container_observer(
496 new KeyboardContainerObserver(keyboard_container)); 497 new KeyboardContainerObserver(keyboard_container));
497 root_window()->AddChild(keyboard_container); 498 root_window()->AddChild(keyboard_container);
498 499
499 SetFocus(&input_client_0); 500 SetFocus(&input_client_0);
500 501
501 EXPECT_TRUE(keyboard_container->IsVisible()); 502 EXPECT_TRUE(keyboard_container->IsVisible());
502 503
503 // Lock keyboard. 504 // Lock keyboard.
504 controller()->set_lock_keyboard(true); 505 controller()->set_lock_keyboard(true);
505 506
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 // Mock set keyboard size from javascript side. In floating mode, virtual 638 // Mock set keyboard size from javascript side. In floating mode, virtual
638 // keyboard's size is decided by client. 639 // keyboard's size is decided by client.
639 gfx::Rect new_bounds(0, 50, 50, 50); 640 gfx::Rect new_bounds(0, 50, 50, 50);
640 keyboard->SetBounds(new_bounds); 641 keyboard->SetBounds(new_bounds);
641 ASSERT_EQ(new_bounds, container->bounds()); 642 ASSERT_EQ(new_bounds, container->bounds());
642 EXPECT_TRUE(keyboard->IsVisible()); 643 EXPECT_TRUE(keyboard->IsVisible());
643 EXPECT_TRUE(container->IsVisible()); 644 EXPECT_TRUE(container->IsVisible());
644 } 645 }
645 646
646 } // namespace keyboard 647 } // namespace keyboard
OLDNEW
« no previous file with comments | « ui/keyboard/keyboard_controller.h ('k') | ui/message_center/cocoa/notification_controller_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698