diff options
author | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 00:37:17 +0000 |
---|---|---|
committer | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 00:37:17 +0000 |
commit | 31583a9d7a477fed25687cef35f046eecf2b5055 (patch) | |
tree | e18d7e5e7678f2a251cf5a80147a4b4f2ddc9882 /ash/accelerators | |
parent | 3de9cc2fa2931a9d343f5bb09c74674967ef4c98 (diff) | |
download | chromium_src-31583a9d7a477fed25687cef35f046eecf2b5055.zip chromium_src-31583a9d7a477fed25687cef35f046eecf2b5055.tar.gz chromium_src-31583a9d7a477fed25687cef35f046eecf2b5055.tar.bz2 |
CrOS: Add hotkey for disabling the GPU watchdog timer.
This works around the fact that switching to VT1 on CrOS prevents swaps from clearing, which hangs the GPU process, which causes the GPU process to get killed. Sometimes in order to diagnose a problem, we want to switch to VT1. This hotkey allows a developer to do that.
TEST=by hand; Ctrl-Shift-Alt-G; then go about://gpuhang; UI should freeze and not unstick after 10 seconds
BUG=chromium-os:28253
Review URL: https://chromiumcodereview.appspot.com/11348099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170309 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/accelerators')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 4 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.cc | 5 | ||||
-rw-r--r-- | ash/accelerators/accelerator_table.h | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 9341a066..4dabcf7 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -43,6 +43,7 @@ #include "ash/wm/workspace/snap_sizer.h" #include "base/bind.h" #include "base/command_line.h" +#include "content/public/browser/gpu_data_manager.h" #include "ui/aura/env.h" #include "ui/aura/root_window.h" #include "ui/base/accelerators/accelerator.h" @@ -496,6 +497,9 @@ bool AcceleratorController::PerformAction(int action, case TOGGLE_WIFI: Shell::GetInstance()->tray_delegate()->ToggleWifi(); return true; + case DISABLE_GPU_WATCHDOG: + content::GpuDataManager::GetInstance()->DisableGpuWatchdog(); + return true; #endif case OPEN_FEEDBACK_PAGE: ash::Shell::GetInstance()->delegate()->OpenFeedbackPage(); diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc index caed475..c4ec5cf 100644 --- a/ash/accelerators/accelerator_table.cc +++ b/ash/accelerators/accelerator_table.cc @@ -86,7 +86,9 @@ const AcceleratorData kAcceleratorData[] = { { true, ui::VKEY_O, ui::EF_CONTROL_DOWN, OPEN_FILE_MANAGER_DIALOG }, { true, ui::VKEY_M, ui::EF_CONTROL_DOWN, OPEN_FILE_MANAGER_TAB }, { true, ui::VKEY_T, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, OPEN_CROSH }, -#endif // !defined(OS_CHROMEOS) + { true, ui::VKEY_G, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, + DISABLE_GPU_WATCHDOG }, +#endif // defined(OS_CHROMEOS) { true, ui::VKEY_I, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, OPEN_FEEDBACK_PAGE }, { true, ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, EXIT }, { true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, @@ -201,6 +203,7 @@ const AcceleratorAction kActionsAllowedAtLoginOrLockScreen[] = { BRIGHTNESS_UP, #if defined(OS_CHROMEOS) CYCLE_DISPLAY_MODE, + DISABLE_GPU_WATCHDOG, #endif // defined(OS_CHROMEOS) DISABLE_CAPS_LOCK, KEYBOARD_BRIGHTNESS_DOWN, diff --git a/ash/accelerators/accelerator_table.h b/ash/accelerators/accelerator_table.h index b147127..53492e9 100644 --- a/ash/accelerators/accelerator_table.h +++ b/ash/accelerators/accelerator_table.h @@ -85,6 +85,7 @@ enum AcceleratorAction { OPEN_CROSH, OPEN_FILE_MANAGER_DIALOG, OPEN_FILE_MANAGER_TAB, + DISABLE_GPU_WATCHDOG, #endif #if !defined(NDEBUG) PRINT_LAYER_HIERARCHY, |