summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 09:02:22 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 09:02:22 +0000
commit82d3954ae9ccbd99fc48b99296e70f63dc883010 (patch)
tree48b84f38dfd00b55ab40b50019478648734784ae /ash/shell.cc
parentf9aa768a89f738398412a7c420d6f6af35a1fe9e (diff)
downloadchromium_src-82d3954ae9ccbd99fc48b99296e70f63dc883010.zip
chromium_src-82d3954ae9ccbd99fc48b99296e70f63dc883010.tar.gz
chromium_src-82d3954ae9ccbd99fc48b99296e70f63dc883010.tar.bz2
Cancel partial screenshot UI when lock happens.
BUG=122901 TEST=manually, aura_shell_unittests passed Review URL: https://chromiumcodereview.appspot.com/10008074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133164 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r--ash/shell.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/ash/shell.cc b/ash/shell.cc
index 3b0b0b8..8f4b072 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -657,6 +657,7 @@ void Shell::Init() {
DCHECK_EQ(1U, GetRootWindowEventFilterCount());
partial_screenshot_filter_.reset(new internal::PartialScreenshotEventFilter);
AddRootWindowEventFilter(partial_screenshot_filter_.get());
+ AddShellObserver(partial_screenshot_filter_.get());
// Then AcceleratorFilter and InputMethodEventFilter must be added (in this
// order) since they have the second highest priority.
@@ -772,6 +773,7 @@ void Shell::Init() {
drag_drop_controller_.reset(new internal::DragDropController);
power_button_controller_.reset(new PowerButtonController);
+ AddShellObserver(power_button_controller_.get());
video_detector_.reset(new VideoDetector);
window_cycle_controller_.reset(new WindowCycleController);
monitor_controller_.reset(new internal::MonitorController);
@@ -860,6 +862,18 @@ void Shell::SetMonitorWorkAreaInsets(Window* contains,
OnMonitorWorkAreaInsetsChanged());
}
+void Shell::OnLoginStateChanged(user::LoginStatus status) {
+ FOR_EACH_OBSERVER(ShellObserver, observers_, OnLoginStateChanged(status));
+}
+
+void Shell::OnAppTerminating() {
+ FOR_EACH_OBSERVER(ShellObserver, observers_, OnAppTerminating());
+}
+
+void Shell::OnLockStateChanged(bool locked) {
+ FOR_EACH_OBSERVER(ShellObserver, observers_, OnLockStateChanged(locked));
+}
+
void Shell::CreateLauncher() {
if (launcher_.get())
return;