| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/accelerators/accelerator_controller_delegate_aura.h" | 5 #include "ash/accelerators/accelerator_controller_delegate_aura.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 std::unique_ptr<ScreenshotDelegate> screenshot_delegate) { | 267 std::unique_ptr<ScreenshotDelegate> screenshot_delegate) { |
| 268 screenshot_delegate_ = std::move(screenshot_delegate); | 268 screenshot_delegate_ = std::move(screenshot_delegate); |
| 269 } | 269 } |
| 270 | 270 |
| 271 bool AcceleratorControllerDelegateAura::HandlesAction( | 271 bool AcceleratorControllerDelegateAura::HandlesAction( |
| 272 AcceleratorAction action) { | 272 AcceleratorAction action) { |
| 273 // NOTE: When adding a new accelerator that only depends on //ash/common code, | 273 // NOTE: When adding a new accelerator that only depends on //ash/common code, |
| 274 // add it to accelerator_controller.cc instead. See class comment. | 274 // add it to accelerator_controller.cc instead. See class comment. |
| 275 switch (action) { | 275 switch (action) { |
| 276 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: | 276 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: |
| 277 case DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN: | |
| 278 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: | 277 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: |
| 279 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: | 278 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: |
| 280 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: | 279 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: |
| 280 case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN: |
| 281 case MAGNIFY_SCREEN_ZOOM_IN: | 281 case MAGNIFY_SCREEN_ZOOM_IN: |
| 282 case MAGNIFY_SCREEN_ZOOM_OUT: | 282 case MAGNIFY_SCREEN_ZOOM_OUT: |
| 283 case ROTATE_SCREEN: | 283 case ROTATE_SCREEN: |
| 284 case ROTATE_WINDOW: | 284 case ROTATE_WINDOW: |
| 285 case SCALE_UI_DOWN: | 285 case SCALE_UI_DOWN: |
| 286 case SCALE_UI_RESET: | 286 case SCALE_UI_RESET: |
| 287 case SCALE_UI_UP: | 287 case SCALE_UI_UP: |
| 288 case SHOW_MESSAGE_CENTER_BUBBLE: | 288 case SHOW_MESSAGE_CENTER_BUBBLE: |
| 289 case SHOW_SYSTEM_TRAY_BUBBLE: | 289 case SHOW_SYSTEM_TRAY_BUBBLE: |
| 290 case TAKE_PARTIAL_SCREENSHOT: | 290 case TAKE_PARTIAL_SCREENSHOT: |
| 291 case TAKE_SCREENSHOT: | 291 case TAKE_SCREENSHOT: |
| 292 case TAKE_WINDOW_SCREENSHOT: | 292 case TAKE_WINDOW_SCREENSHOT: |
| 293 case UNPIN: | 293 case UNPIN: |
| 294 return true; | 294 return true; |
| 295 | 295 |
| 296 #if defined(OS_CHROMEOS) | 296 #if defined(OS_CHROMEOS) |
| 297 case DEBUG_ADD_REMOVE_DISPLAY: | 297 case DEV_ADD_REMOVE_DISPLAY: |
| 298 case DEBUG_TOGGLE_UNIFIED_DESKTOP: | 298 case DEV_TOGGLE_UNIFIED_DESKTOP: |
| 299 case DISABLE_GPU_WATCHDOG: | 299 case DISABLE_GPU_WATCHDOG: |
| 300 case LOCK_PRESSED: | 300 case LOCK_PRESSED: |
| 301 case LOCK_RELEASED: | 301 case LOCK_RELEASED: |
| 302 case POWER_PRESSED: | 302 case POWER_PRESSED: |
| 303 case POWER_RELEASED: | 303 case POWER_RELEASED: |
| 304 case SWAP_PRIMARY_DISPLAY: | 304 case SWAP_PRIMARY_DISPLAY: |
| 305 case TOGGLE_MIRROR_MODE: | 305 case TOGGLE_MIRROR_MODE: |
| 306 case TOUCH_HUD_CLEAR: | 306 case TOUCH_HUD_CLEAR: |
| 307 case TOUCH_HUD_MODE_CHANGE: | 307 case TOUCH_HUD_MODE_CHANGE: |
| 308 case TOUCH_HUD_PROJECTION_TOGGLE: | 308 case TOUCH_HUD_PROJECTION_TOGGLE: |
| 309 return true; | 309 return true; |
| 310 #endif | 310 #endif |
| 311 | 311 |
| 312 default: | 312 default: |
| 313 break; | 313 break; |
| 314 } | 314 } |
| 315 return false; | 315 return false; |
| 316 } | 316 } |
| 317 | 317 |
| 318 bool AcceleratorControllerDelegateAura::CanPerformAction( | 318 bool AcceleratorControllerDelegateAura::CanPerformAction( |
| 319 AcceleratorAction action, | 319 AcceleratorAction action, |
| 320 const ui::Accelerator& accelerator, | 320 const ui::Accelerator& accelerator, |
| 321 const ui::Accelerator& previous_accelerator) { | 321 const ui::Accelerator& previous_accelerator) { |
| 322 switch (action) { | 322 switch (action) { |
| 323 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: | 323 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: |
| 324 case DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN: | |
| 325 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: | 324 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: |
| 326 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: | 325 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: |
| 327 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: | 326 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: |
| 328 return debug::DebugAcceleratorsEnabled(); | 327 return debug::DebugAcceleratorsEnabled(); |
| 328 case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN: |
| 329 return debug::DeveloperAcceleratorsEnabled(); |
| 329 case MAGNIFY_SCREEN_ZOOM_IN: | 330 case MAGNIFY_SCREEN_ZOOM_IN: |
| 330 case MAGNIFY_SCREEN_ZOOM_OUT: | 331 case MAGNIFY_SCREEN_ZOOM_OUT: |
| 331 return CanHandleMagnifyScreen(); | 332 return CanHandleMagnifyScreen(); |
| 332 case SCALE_UI_DOWN: | 333 case SCALE_UI_DOWN: |
| 333 case SCALE_UI_RESET: | 334 case SCALE_UI_RESET: |
| 334 case SCALE_UI_UP: | 335 case SCALE_UI_UP: |
| 335 return accelerators::IsInternalDisplayZoomEnabled(); | 336 return accelerators::IsInternalDisplayZoomEnabled(); |
| 336 case UNPIN: | 337 case UNPIN: |
| 337 return CanHandleUnpin(); | 338 return CanHandleUnpin(); |
| 338 | 339 |
| 339 // Following are always enabled: | 340 // Following are always enabled: |
| 340 case ROTATE_SCREEN: | 341 case ROTATE_SCREEN: |
| 341 case ROTATE_WINDOW: | 342 case ROTATE_WINDOW: |
| 342 case SHOW_SYSTEM_TRAY_BUBBLE: | 343 case SHOW_SYSTEM_TRAY_BUBBLE: |
| 343 case TAKE_PARTIAL_SCREENSHOT: | 344 case TAKE_PARTIAL_SCREENSHOT: |
| 344 case TAKE_SCREENSHOT: | 345 case TAKE_SCREENSHOT: |
| 345 case TAKE_WINDOW_SCREENSHOT: | 346 case TAKE_WINDOW_SCREENSHOT: |
| 346 return true; | 347 return true; |
| 347 | 348 |
| 348 #if defined(OS_CHROMEOS) | 349 #if defined(OS_CHROMEOS) |
| 349 case DEBUG_ADD_REMOVE_DISPLAY: | 350 case DEV_ADD_REMOVE_DISPLAY: |
| 350 case DEBUG_TOGGLE_UNIFIED_DESKTOP: | 351 case DEV_TOGGLE_UNIFIED_DESKTOP: |
| 351 return debug::DebugAcceleratorsEnabled(); | 352 case TOGGLE_MIRROR_MODE: |
| 353 return debug::DeveloperAcceleratorsEnabled(); |
| 352 | 354 |
| 353 case SWAP_PRIMARY_DISPLAY: | 355 case SWAP_PRIMARY_DISPLAY: |
| 354 return display::Screen::GetScreen()->GetNumDisplays() > 1; | 356 return display::Screen::GetScreen()->GetNumDisplays() > 1; |
| 355 case TOUCH_HUD_CLEAR: | 357 case TOUCH_HUD_CLEAR: |
| 356 case TOUCH_HUD_MODE_CHANGE: | 358 case TOUCH_HUD_MODE_CHANGE: |
| 357 return CanHandleTouchHud(); | 359 return CanHandleTouchHud(); |
| 358 | 360 |
| 359 // Following are always enabled. | 361 // Following are always enabled. |
| 360 case DISABLE_GPU_WATCHDOG: | 362 case DISABLE_GPU_WATCHDOG: |
| 361 case LOCK_PRESSED: | 363 case LOCK_PRESSED: |
| 362 case LOCK_RELEASED: | 364 case LOCK_RELEASED: |
| 363 case POWER_PRESSED: | 365 case POWER_PRESSED: |
| 364 case POWER_RELEASED: | 366 case POWER_RELEASED: |
| 365 case TOGGLE_MIRROR_MODE: | |
| 366 case TOUCH_HUD_PROJECTION_TOGGLE: | 367 case TOUCH_HUD_PROJECTION_TOGGLE: |
| 367 return true; | 368 return true; |
| 368 #endif | 369 #endif |
| 369 | 370 |
| 370 default: | 371 default: |
| 371 NOTREACHED(); | 372 NOTREACHED(); |
| 372 break; | 373 break; |
| 373 } | 374 } |
| 374 return false; | 375 return false; |
| 375 } | 376 } |
| 376 | 377 |
| 377 void AcceleratorControllerDelegateAura::PerformAction( | 378 void AcceleratorControllerDelegateAura::PerformAction( |
| 378 AcceleratorAction action, | 379 AcceleratorAction action, |
| 379 const ui::Accelerator& accelerator) { | 380 const ui::Accelerator& accelerator) { |
| 380 switch (action) { | 381 switch (action) { |
| 381 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: | 382 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: |
| 382 Shell::GetInstance()->display_manager()->ToggleDisplayScaleFactor(); | 383 Shell::GetInstance()->display_manager()->ToggleDisplayScaleFactor(); |
| 383 break; | 384 break; |
| 384 case DEBUG_TOGGLE_ROOT_WINDOW_FULL_SCREEN: | |
| 385 Shell::GetPrimaryRootWindowController()->ash_host()->ToggleFullScreen(); | |
| 386 break; | |
| 387 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: | 385 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: |
| 388 debug::ToggleShowDebugBorders(); | 386 debug::ToggleShowDebugBorders(); |
| 389 break; | 387 break; |
| 390 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: | 388 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: |
| 391 debug::ToggleShowFpsCounter(); | 389 debug::ToggleShowFpsCounter(); |
| 392 break; | 390 break; |
| 393 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: | 391 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: |
| 394 debug::ToggleShowPaintRects(); | 392 debug::ToggleShowPaintRects(); |
| 395 break; | 393 break; |
| 394 case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN: |
| 395 Shell::GetPrimaryRootWindowController()->ash_host()->ToggleFullScreen(); |
| 396 break; |
| 396 case MAGNIFY_SCREEN_ZOOM_IN: | 397 case MAGNIFY_SCREEN_ZOOM_IN: |
| 397 HandleMagnifyScreen(1); | 398 HandleMagnifyScreen(1); |
| 398 break; | 399 break; |
| 399 case MAGNIFY_SCREEN_ZOOM_OUT: | 400 case MAGNIFY_SCREEN_ZOOM_OUT: |
| 400 HandleMagnifyScreen(-1); | 401 HandleMagnifyScreen(-1); |
| 401 break; | 402 break; |
| 402 case ROTATE_SCREEN: | 403 case ROTATE_SCREEN: |
| 403 HandleRotateScreen(); | 404 HandleRotateScreen(); |
| 404 break; | 405 break; |
| 405 case ROTATE_WINDOW: | 406 case ROTATE_WINDOW: |
| (...skipping 17 matching lines...) Expand all Loading... |
| 423 case TAKE_SCREENSHOT: | 424 case TAKE_SCREENSHOT: |
| 424 HandleTakeScreenshot(screenshot_delegate_.get()); | 425 HandleTakeScreenshot(screenshot_delegate_.get()); |
| 425 break; | 426 break; |
| 426 case TAKE_WINDOW_SCREENSHOT: | 427 case TAKE_WINDOW_SCREENSHOT: |
| 427 HandleTakeWindowScreenshot(screenshot_delegate_.get()); | 428 HandleTakeWindowScreenshot(screenshot_delegate_.get()); |
| 428 break; | 429 break; |
| 429 case UNPIN: | 430 case UNPIN: |
| 430 accelerators::Unpin(); | 431 accelerators::Unpin(); |
| 431 break; | 432 break; |
| 432 #if defined(OS_CHROMEOS) | 433 #if defined(OS_CHROMEOS) |
| 433 case DEBUG_ADD_REMOVE_DISPLAY: | 434 case DEV_ADD_REMOVE_DISPLAY: |
| 434 Shell::GetInstance()->display_manager()->AddRemoveDisplay(); | 435 Shell::GetInstance()->display_manager()->AddRemoveDisplay(); |
| 435 break; | 436 break; |
| 436 case DEBUG_TOGGLE_UNIFIED_DESKTOP: | 437 case DEV_TOGGLE_UNIFIED_DESKTOP: |
| 437 Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled( | 438 Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled( |
| 438 !Shell::GetInstance()->display_manager()->unified_desktop_enabled()); | 439 !Shell::GetInstance()->display_manager()->unified_desktop_enabled()); |
| 439 break; | 440 break; |
| 440 case DISABLE_GPU_WATCHDOG: | 441 case DISABLE_GPU_WATCHDOG: |
| 441 Shell::GetInstance()->gpu_support()->DisableGpuWatchdog(); | 442 Shell::GetInstance()->gpu_support()->DisableGpuWatchdog(); |
| 442 break; | 443 break; |
| 443 case LOCK_PRESSED: | 444 case LOCK_PRESSED: |
| 444 case LOCK_RELEASED: | 445 case LOCK_RELEASED: |
| 445 Shell::GetInstance()->power_button_controller()->OnLockButtonEvent( | 446 Shell::GetInstance()->power_button_controller()->OnLockButtonEvent( |
| 446 action == LOCK_PRESSED, base::TimeTicks()); | 447 action == LOCK_PRESSED, base::TimeTicks()); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 message_center::NotifierId( | 496 message_center::NotifierId( |
| 496 message_center::NotifierId::SYSTEM_COMPONENT, | 497 message_center::NotifierId::SYSTEM_COMPONENT, |
| 497 system_notifier::kNotifierDeprecatedAccelerator), | 498 system_notifier::kNotifierDeprecatedAccelerator), |
| 498 message_center::RichNotificationData(), | 499 message_center::RichNotificationData(), |
| 499 new DeprecatedAcceleratorNotificationDelegate)); | 500 new DeprecatedAcceleratorNotificationDelegate)); |
| 500 message_center::MessageCenter::Get()->AddNotification( | 501 message_center::MessageCenter::Get()->AddNotification( |
| 501 std::move(notification)); | 502 std::move(notification)); |
| 502 } | 503 } |
| 503 | 504 |
| 504 } // namespace ash | 505 } // namespace ash |
| OLD | NEW |