summaryrefslogtreecommitdiffstats
path: root/ash/accelerators
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 00:37:17 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 00:37:17 +0000
commit31583a9d7a477fed25687cef35f046eecf2b5055 (patch)
treee18d7e5e7678f2a251cf5a80147a4b4f2ddc9882 /ash/accelerators
parent3de9cc2fa2931a9d343f5bb09c74674967ef4c98 (diff)
downloadchromium_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.cc4
-rw-r--r--ash/accelerators/accelerator_table.cc5
-rw-r--r--ash/accelerators/accelerator_table.h1
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,