| Index: ash/shell.cc
|
| diff --git a/ash/shell.cc b/ash/shell.cc
|
| index d3b19197b4b57628c162577e6925f8346705f154..3df2aae03d2cacfc73db4a02074d3e0ebbfb2625 100644
|
| --- a/ash/shell.cc
|
| +++ b/ash/shell.cc
|
| @@ -655,6 +655,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.
|
| @@ -770,6 +771,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);
|
| @@ -858,6 +860,19 @@ void Shell::SetMonitorWorkAreaInsets(Window* contains,
|
| OnMonitorWorkAreaInsetsChanged());
|
| }
|
|
|
| +void Shell::OnLoginStateChange(bool logged_in, bool is_guest) {
|
| + FOR_EACH_OBSERVER(ShellObserver, observers_,
|
| + OnLoginStateChange(logged_in, is_guest));
|
| +}
|
| +
|
| +void Shell::OnExit() {
|
| + FOR_EACH_OBSERVER(ShellObserver, observers_, OnExit());
|
| +}
|
| +
|
| +void Shell::OnLockStateChange(bool locked) {
|
| + FOR_EACH_OBSERVER(ShellObserver, observers_, OnLockStateChange(locked));
|
| +}
|
| +
|
| void Shell::CreateLauncher() {
|
| if (launcher_.get())
|
| return;
|
|
|