diff options
author | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-20 09:02:22 +0000 |
---|---|---|
committer | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-20 09:02:22 +0000 |
commit | 82d3954ae9ccbd99fc48b99296e70f63dc883010 (patch) | |
tree | 48b84f38dfd00b55ab40b50019478648734784ae /ash/shell.cc | |
parent | f9aa768a89f738398412a7c420d6f6af35a1fe9e (diff) | |
download | chromium_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.cc | 14 |
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; |