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

Side by Side Diff: ash/wm/always_on_top_controller_unittest.cc

Issue 2861243003: chromeos: Converts WorkspaceLayoutManager to aura::LayoutManager (Closed)
Patch Set: feedback Created 3 years, 7 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
« no previous file with comments | « ash/wm/always_on_top_controller.cc ('k') | ash/wm/fullscreen_window_finder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ash/wm/always_on_top_controller.h" 5 #include "ash/wm/always_on_top_controller.h"
6 6
7 #include "ash/public/cpp/shell_window_ids.h" 7 #include "ash/public/cpp/shell_window_ids.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 19 matching lines...) Expand all
30 keyboard::switches::kEnableVirtualKeyboard); 30 keyboard::switches::kEnableVirtualKeyboard);
31 test::AshTestBase::SetUp(); 31 test::AshTestBase::SetUp();
32 } 32 }
33 33
34 private: 34 private:
35 DISALLOW_COPY_AND_ASSIGN(VirtualKeyboardAlwaysOnTopControllerTest); 35 DISALLOW_COPY_AND_ASSIGN(VirtualKeyboardAlwaysOnTopControllerTest);
36 }; 36 };
37 37
38 class TestLayoutManager : public WorkspaceLayoutManager { 38 class TestLayoutManager : public WorkspaceLayoutManager {
39 public: 39 public:
40 explicit TestLayoutManager(WmWindow* window) 40 explicit TestLayoutManager(aura::Window* window)
41 : WorkspaceLayoutManager(window), keyboard_bounds_changed_(false) {} 41 : WorkspaceLayoutManager(window), keyboard_bounds_changed_(false) {}
42 42
43 ~TestLayoutManager() override {} 43 ~TestLayoutManager() override {}
44 44
45 void OnKeyboardBoundsChanging(const gfx::Rect& bounds) override { 45 void OnKeyboardBoundsChanging(const gfx::Rect& bounds) override {
46 keyboard_bounds_changed_ = true; 46 keyboard_bounds_changed_ = true;
47 WorkspaceLayoutManager::OnKeyboardBoundsChanging(bounds); 47 WorkspaceLayoutManager::OnKeyboardBoundsChanging(bounds);
48 } 48 }
49 49
50 bool keyboard_bounds_changed() const { return keyboard_bounds_changed_; } 50 bool keyboard_bounds_changed() const { return keyboard_bounds_changed_; }
51 51
52 private: 52 private:
53 bool keyboard_bounds_changed_; 53 bool keyboard_bounds_changed_;
54 DISALLOW_COPY_AND_ASSIGN(TestLayoutManager); 54 DISALLOW_COPY_AND_ASSIGN(TestLayoutManager);
55 }; 55 };
56 56
57 // Verifies that the always on top controller is notified of keyboard bounds 57 // Verifies that the always on top controller is notified of keyboard bounds
58 // changing events. 58 // changing events.
59 TEST_F(VirtualKeyboardAlwaysOnTopControllerTest, NotifyKeyboardBoundsChanged) { 59 TEST_F(VirtualKeyboardAlwaysOnTopControllerTest, NotifyKeyboardBoundsChanged) {
60 keyboard::KeyboardController* keyboard_controller = 60 keyboard::KeyboardController* keyboard_controller =
61 keyboard::KeyboardController::GetInstance(); 61 keyboard::KeyboardController::GetInstance();
62 aura::Window* root_window = Shell::GetPrimaryRootWindow(); 62 aura::Window* root_window = Shell::GetPrimaryRootWindow();
63 aura::Window* always_on_top_container = 63 aura::Window* always_on_top_container =
64 Shell::GetContainer(root_window, kShellWindowId_AlwaysOnTopContainer); 64 Shell::GetContainer(root_window, kShellWindowId_AlwaysOnTopContainer);
65 // Install test layout manager. 65 // Install test layout manager.
66 TestLayoutManager* manager = 66 TestLayoutManager* manager = new TestLayoutManager(always_on_top_container);
67 new TestLayoutManager(WmWindow::Get(always_on_top_container));
68 RootWindowController* controller = Shell::GetPrimaryRootWindowController(); 67 RootWindowController* controller = Shell::GetPrimaryRootWindowController();
69 // Deactivates keyboard to unregister existing listeners. 68 // Deactivates keyboard to unregister existing listeners.
70 controller->DeactivateKeyboard(keyboard_controller); 69 controller->DeactivateKeyboard(keyboard_controller);
71 AlwaysOnTopController* always_on_top_controller = 70 AlwaysOnTopController* always_on_top_controller =
72 controller->always_on_top_controller(); 71 controller->always_on_top_controller();
73 always_on_top_controller->SetLayoutManagerForTest(base::WrapUnique(manager)); 72 always_on_top_controller->SetLayoutManagerForTest(base::WrapUnique(manager));
74 // Activate keyboard. This triggers keyboard listeners to be registered. 73 // Activate keyboard. This triggers keyboard listeners to be registered.
75 controller->ActivateKeyboard(keyboard_controller); 74 controller->ActivateKeyboard(keyboard_controller);
76 75
77 // Mock a keyboard appearing. 76 // Mock a keyboard appearing.
(...skipping 10 matching lines...) Expand all
88 root_window->bounds(), kKeyboardHeight); 87 root_window->bounds(), kKeyboardHeight);
89 keyboard_window->SetBounds(keyboard_bounds); 88 keyboard_window->SetBounds(keyboard_bounds);
90 keyboard_window->Show(); 89 keyboard_window->Show();
91 keyboard_controller->NotifyKeyboardBoundsChanging(keyboard_bounds); 90 keyboard_controller->NotifyKeyboardBoundsChanging(keyboard_bounds);
92 // Verify that test manager was notified of bounds change. 91 // Verify that test manager was notified of bounds change.
93 ASSERT_TRUE(manager->keyboard_bounds_changed()); 92 ASSERT_TRUE(manager->keyboard_bounds_changed());
94 } 93 }
95 94
96 } // namespace test 95 } // namespace test
97 } // namespace ash 96 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/always_on_top_controller.cc ('k') | ash/wm/fullscreen_window_finder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698