summaryrefslogtreecommitdiffstats
path: root/ash/wm/power_button_controller.cc
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 07:04:18 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-09 07:04:18 +0000
commitbb0c80765c0d4285b2a80bf54d5ed2e6d2f1570a (patch)
tree7f8b1377720bcd62c20efca757edc0343b2e8b37 /ash/wm/power_button_controller.cc
parent2ca5b5a1c132b34ee8ae90f708e5dee933a03180 (diff)
downloadchromium_src-bb0c80765c0d4285b2a80bf54d5ed2e6d2f1570a.zip
chromium_src-bb0c80765c0d4285b2a80bf54d5ed2e6d2f1570a.tar.gz
chromium_src-bb0c80765c0d4285b2a80bf54d5ed2e6d2f1570a.tar.bz2
Decouple EventClientImpl and root window. Check containers on the same root window as focused window when testing if the focused window can receive events. This was causing lock screen to lose focus when mouse is clicked on another root window.
This Cl also adds a debug build/linux desktop only shortcut (F11) to lock/shutdown. BUG=152982 TEST=covered by test. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=160696 Review URL: https://codereview.chromium.org/11047030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160804 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm/power_button_controller.cc')
-rw-r--r--ash/wm/power_button_controller.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/ash/wm/power_button_controller.cc b/ash/wm/power_button_controller.cc
index bd9bb91..4f05f1b 100644
--- a/ash/wm/power_button_controller.cc
+++ b/ash/wm/power_button_controller.cc
@@ -13,6 +13,10 @@
#include "ui/aura/root_window.h"
#include "ui/aura/shared/compound_event_filter.h"
+#if defined(OS_CHROMEOS)
+#include "base/chromeos/chromeos_version.h"
+#endif
+
namespace ash {
namespace {
@@ -307,6 +311,13 @@ void PowerButtonController::OnShutdownTimeout() {
void PowerButtonController::OnRealShutdownTimeout() {
DCHECK(shutting_down_);
+#if defined(OS_CHROMEOS)
+ if (!base::chromeos::IsRunningOnChromeOS()) {
+ ShellDelegate* delegate = Shell::GetInstance()->delegate();
+ if (delegate)
+ delegate->Exit();
+ }
+#endif
delegate_->RequestShutdown();
}