| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/focus_cycler.h" | 5 #include "ash/focus_cycler.h" |
| 6 | 6 |
| 7 #include "ash/launcher/launcher.h" | 7 #include "ash/launcher/launcher.h" |
| 8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
| 9 #include "ash/shell_window_ids.h" | 9 #include "ash/shell_window_ids.h" |
| 10 #include "ash/system/status_area_widget.h" | 10 #include "ash/system/status_area_widget.h" |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 61 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 62 | 62 |
| 63 // Add the Status area | 63 // Add the Status area |
| 64 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 64 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 65 ASSERT_TRUE(tray->GetWidget()); | 65 ASSERT_TRUE(tray->GetWidget()); |
| 66 focus_cycler->AddWidget(tray->GetWidget()); | 66 focus_cycler->AddWidget(tray->GetWidget()); |
| 67 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 67 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 68 focus_cycler.get()); | 68 focus_cycler.get()); |
| 69 | 69 |
| 70 // Add the launcher | 70 // Add the launcher |
| 71 Launcher* launcher = Shell::GetInstance()->launcher(); | 71 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 72 ASSERT_TRUE(launcher); | 72 ASSERT_TRUE(launcher); |
| 73 views::Widget* launcher_widget = launcher->widget(); | 73 views::Widget* launcher_widget = launcher->widget(); |
| 74 ASSERT_TRUE(launcher_widget); | 74 ASSERT_TRUE(launcher_widget); |
| 75 launcher->SetFocusCycler(focus_cycler.get()); | 75 launcher->SetFocusCycler(focus_cycler.get()); |
| 76 | 76 |
| 77 // Create a single test window. | 77 // Create a single test window. |
| 78 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); | 78 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); |
| 79 wm::ActivateWindow(window0.get()); | 79 wm::ActivateWindow(window0.get()); |
| 80 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 80 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 81 | 81 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 96 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 96 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 97 | 97 |
| 98 // Add the Status area | 98 // Add the Status area |
| 99 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 99 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 100 ASSERT_TRUE(tray->GetWidget()); | 100 ASSERT_TRUE(tray->GetWidget()); |
| 101 focus_cycler->AddWidget(tray->GetWidget()); | 101 focus_cycler->AddWidget(tray->GetWidget()); |
| 102 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 102 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 103 focus_cycler.get()); | 103 focus_cycler.get()); |
| 104 | 104 |
| 105 // Add the launcher | 105 // Add the launcher |
| 106 Launcher* launcher = Shell::GetInstance()->launcher(); | 106 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 107 ASSERT_TRUE(launcher); | 107 ASSERT_TRUE(launcher); |
| 108 views::Widget* launcher_widget = launcher->widget(); | 108 views::Widget* launcher_widget = launcher->widget(); |
| 109 ASSERT_TRUE(launcher_widget); | 109 ASSERT_TRUE(launcher_widget); |
| 110 launcher->SetFocusCycler(focus_cycler.get()); | 110 launcher->SetFocusCycler(focus_cycler.get()); |
| 111 | 111 |
| 112 // Create a single test window. | 112 // Create a single test window. |
| 113 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); | 113 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); |
| 114 wm::ActivateWindow(window0.get()); | 114 wm::ActivateWindow(window0.get()); |
| 115 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 115 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 116 | 116 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 131 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 131 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 132 | 132 |
| 133 // Add the Status area | 133 // Add the Status area |
| 134 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 134 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 135 ASSERT_TRUE(tray->GetWidget()); | 135 ASSERT_TRUE(tray->GetWidget()); |
| 136 focus_cycler->AddWidget(tray->GetWidget()); | 136 focus_cycler->AddWidget(tray->GetWidget()); |
| 137 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 137 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 138 focus_cycler.get()); | 138 focus_cycler.get()); |
| 139 | 139 |
| 140 // Add the launcher | 140 // Add the launcher |
| 141 Launcher* launcher = Shell::GetInstance()->launcher(); | 141 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 142 ASSERT_TRUE(launcher); | 142 ASSERT_TRUE(launcher); |
| 143 views::Widget* launcher_widget = launcher->widget(); | 143 views::Widget* launcher_widget = launcher->widget(); |
| 144 ASSERT_TRUE(launcher_widget); | 144 ASSERT_TRUE(launcher_widget); |
| 145 launcher->SetFocusCycler(focus_cycler.get()); | 145 launcher->SetFocusCycler(focus_cycler.get()); |
| 146 | 146 |
| 147 // Create a single test window. | 147 // Create a single test window. |
| 148 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); | 148 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); |
| 149 wm::ActivateWindow(window0.get()); | 149 wm::ActivateWindow(window0.get()); |
| 150 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 150 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 151 | 151 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 178 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 178 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 179 | 179 |
| 180 // Add the Status area | 180 // Add the Status area |
| 181 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 181 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 182 ASSERT_TRUE(tray->GetWidget()); | 182 ASSERT_TRUE(tray->GetWidget()); |
| 183 focus_cycler->AddWidget(tray->GetWidget()); | 183 focus_cycler->AddWidget(tray->GetWidget()); |
| 184 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 184 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 185 focus_cycler.get()); | 185 focus_cycler.get()); |
| 186 | 186 |
| 187 // Add the launcher and focus it | 187 // Add the launcher and focus it |
| 188 Launcher* launcher = Shell::GetInstance()->launcher(); | 188 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 189 ASSERT_TRUE(launcher); | 189 ASSERT_TRUE(launcher); |
| 190 views::Widget* launcher_widget = launcher->widget(); | 190 views::Widget* launcher_widget = launcher->widget(); |
| 191 ASSERT_TRUE(launcher_widget); | 191 ASSERT_TRUE(launcher_widget); |
| 192 launcher->SetFocusCycler(focus_cycler.get()); | 192 launcher->SetFocusCycler(focus_cycler.get()); |
| 193 focus_cycler->FocusWidget(launcher_widget); | 193 focus_cycler->FocusWidget(launcher_widget); |
| 194 | 194 |
| 195 // Cycle focus to the status area | 195 // Cycle focus to the status area |
| 196 focus_cycler->RotateFocus(FocusCycler::FORWARD); | 196 focus_cycler->RotateFocus(FocusCycler::FORWARD); |
| 197 EXPECT_TRUE(tray->GetWidget()->IsActive()); | 197 EXPECT_TRUE(tray->GetWidget()->IsActive()); |
| 198 | 198 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 215 | 215 |
| 216 class FocusCyclerLauncherTest : public AshTestBase { | 216 class FocusCyclerLauncherTest : public AshTestBase { |
| 217 public: | 217 public: |
| 218 FocusCyclerLauncherTest() : AshTestBase() {} | 218 FocusCyclerLauncherTest() : AshTestBase() {} |
| 219 virtual ~FocusCyclerLauncherTest() {} | 219 virtual ~FocusCyclerLauncherTest() {} |
| 220 | 220 |
| 221 virtual void SetUp() OVERRIDE { | 221 virtual void SetUp() OVERRIDE { |
| 222 AshTestBase::SetUp(); | 222 AshTestBase::SetUp(); |
| 223 | 223 |
| 224 // Hide the launcher | 224 // Hide the launcher |
| 225 Launcher* launcher = Shell::GetInstance()->launcher(); | 225 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 226 ASSERT_TRUE(launcher); | 226 ASSERT_TRUE(launcher); |
| 227 views::Widget* launcher_widget = launcher->widget(); | 227 views::Widget* launcher_widget = launcher->widget(); |
| 228 ASSERT_TRUE(launcher_widget); | 228 ASSERT_TRUE(launcher_widget); |
| 229 launcher_widget->Hide(); | 229 launcher_widget->Hide(); |
| 230 } | 230 } |
| 231 | 231 |
| 232 virtual void TearDown() OVERRIDE { | 232 virtual void TearDown() OVERRIDE { |
| 233 // Show the launcher | 233 // Show the launcher |
| 234 Launcher* launcher = Shell::GetInstance()->launcher(); | 234 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 235 ASSERT_TRUE(launcher); | 235 ASSERT_TRUE(launcher); |
| 236 views::Widget* launcher_widget = launcher->widget(); | 236 views::Widget* launcher_widget = launcher->widget(); |
| 237 ASSERT_TRUE(launcher_widget); | 237 ASSERT_TRUE(launcher_widget); |
| 238 launcher_widget->Show(); | 238 launcher_widget->Show(); |
| 239 | 239 |
| 240 AshTestBase::TearDown(); | 240 AshTestBase::TearDown(); |
| 241 } | 241 } |
| 242 | 242 |
| 243 private: | 243 private: |
| 244 DISALLOW_COPY_AND_ASSIGN(FocusCyclerLauncherTest); | 244 DISALLOW_COPY_AND_ASSIGN(FocusCyclerLauncherTest); |
| 245 }; | 245 }; |
| 246 | 246 |
| 247 TEST_F(FocusCyclerLauncherTest, CycleFocusForwardInvisible) { | 247 TEST_F(FocusCyclerLauncherTest, CycleFocusForwardInvisible) { |
| 248 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 248 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 249 | 249 |
| 250 // Add the Status area | 250 // Add the Status area |
| 251 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 251 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 252 ASSERT_TRUE(tray->GetWidget()); | 252 ASSERT_TRUE(tray->GetWidget()); |
| 253 focus_cycler->AddWidget(tray->GetWidget()); | 253 focus_cycler->AddWidget(tray->GetWidget()); |
| 254 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 254 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 255 focus_cycler.get()); | 255 focus_cycler.get()); |
| 256 | 256 |
| 257 // Add the launcher | 257 // Add the launcher |
| 258 Launcher* launcher = Shell::GetInstance()->launcher(); | 258 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 259 ASSERT_TRUE(launcher); | 259 ASSERT_TRUE(launcher); |
| 260 views::Widget* launcher_widget = launcher->widget(); | 260 views::Widget* launcher_widget = launcher->widget(); |
| 261 ASSERT_TRUE(launcher_widget); | 261 ASSERT_TRUE(launcher_widget); |
| 262 launcher->SetFocusCycler(focus_cycler.get()); | 262 launcher->SetFocusCycler(focus_cycler.get()); |
| 263 | 263 |
| 264 // Create a single test window. | 264 // Create a single test window. |
| 265 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); | 265 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); |
| 266 wm::ActivateWindow(window0.get()); | 266 wm::ActivateWindow(window0.get()); |
| 267 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 267 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 268 | 268 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 279 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); | 279 scoped_ptr<FocusCycler> focus_cycler(new FocusCycler()); |
| 280 | 280 |
| 281 // Add the Status area | 281 // Add the Status area |
| 282 scoped_ptr<SystemTray> tray(CreateSystemTray()); | 282 scoped_ptr<SystemTray> tray(CreateSystemTray()); |
| 283 ASSERT_TRUE(tray->GetWidget()); | 283 ASSERT_TRUE(tray->GetWidget()); |
| 284 focus_cycler->AddWidget(tray->GetWidget()); | 284 focus_cycler->AddWidget(tray->GetWidget()); |
| 285 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( | 285 GetStatusAreaWidgetDelegate(tray->GetWidget())->SetFocusCyclerForTesting( |
| 286 focus_cycler.get()); | 286 focus_cycler.get()); |
| 287 | 287 |
| 288 // Add the launcher | 288 // Add the launcher |
| 289 Launcher* launcher = Shell::GetInstance()->launcher(); | 289 Launcher* launcher = Launcher::ForPrimaryDisplay(); |
| 290 ASSERT_TRUE(launcher); | 290 ASSERT_TRUE(launcher); |
| 291 views::Widget* launcher_widget = launcher->widget(); | 291 views::Widget* launcher_widget = launcher->widget(); |
| 292 ASSERT_TRUE(launcher_widget); | 292 ASSERT_TRUE(launcher_widget); |
| 293 launcher->SetFocusCycler(focus_cycler.get()); | 293 launcher->SetFocusCycler(focus_cycler.get()); |
| 294 | 294 |
| 295 // Create a single test window. | 295 // Create a single test window. |
| 296 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); | 296 scoped_ptr<Window> window0(CreateTestWindowWithId(0, NULL)); |
| 297 wm::ActivateWindow(window0.get()); | 297 wm::ActivateWindow(window0.get()); |
| 298 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 298 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 299 | 299 |
| 300 // Cycle focus to the status area | 300 // Cycle focus to the status area |
| 301 focus_cycler->RotateFocus(FocusCycler::BACKWARD); | 301 focus_cycler->RotateFocus(FocusCycler::BACKWARD); |
| 302 EXPECT_TRUE(tray->GetWidget()->IsActive()); | 302 EXPECT_TRUE(tray->GetWidget()->IsActive()); |
| 303 | 303 |
| 304 // Cycle focus to the browser | 304 // Cycle focus to the browser |
| 305 focus_cycler->RotateFocus(FocusCycler::BACKWARD); | 305 focus_cycler->RotateFocus(FocusCycler::BACKWARD); |
| 306 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); | 306 EXPECT_TRUE(wm::IsActiveWindow(window0.get())); |
| 307 } | 307 } |
| 308 | 308 |
| 309 } // namespace test | 309 } // namespace test |
| 310 } // namespace ash | 310 } // namespace ash |
| OLD | NEW |