The following ShellObserver methods: OnLoginStateChanged OnLockStateChanged OnAppTeriminating are (or will be) part of SessionStateObserver. The existing ShellObservers of these could observe SessionController directly.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9050000beedc3a221a40b266d7578f925da537e1 commit 9050000beedc3a221a40b266d7578f925da537e1 Author: Xiyuan Xia <xiyuan@chromium.org> Date: Mon Apr 17 17:49:34 2017 cros: Remove OnLoginStateChanged from RootWindowController RootWindowController implements OnLoginStateChanged to notify |wm_shelf_| -> ShelfLayoutManager about login status change. ShelfLayoutManager already observes SessionController and could get that directly. BUG= 711740 Change-Id: I2fb6dcc0b7505f621dadc28074889ffda5289810 Reviewed-on: https://chromium-review.googlesource.com/478054 Commit-Queue: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#464950} [modify] https://crrev.com/9050000beedc3a221a40b266d7578f925da537e1/ash/root_window_controller.cc [modify] https://crrev.com/9050000beedc3a221a40b266d7578f925da537e1/ash/root_window_controller.h [modify] https://crrev.com/9050000beedc3a221a40b266d7578f925da537e1/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/9050000beedc3a221a40b266d7578f925da537e1/ash/shelf/shelf_layout_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/22b1a6c7072edd302152cf05a2526030aea4ff6d commit 22b1a6c7072edd302152cf05a2526030aea4ff6d Author: Xiyuan Xia <xiyuan@chromium.org> Date: Tue Apr 18 23:02:19 2017 cros: Migrate session related ShellObserver Migrate session related Shellobserver to SessionStateObserver. BUG= 711740 Change-Id: If26c469a02639ba56448586fcf7a29882a0a49ad Reviewed-on: https://chromium-review.googlesource.com/478455 Commit-Queue: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#465411} [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/BUILD.gn [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/display/shutdown_observer_chromeos.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/display/shutdown_observer_chromeos.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/session/session_controller.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/session/session_controller.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/session/session_controller_unittest.cc [add] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/session/session_observer.cc [rename] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/session/session_observer.h [delete] https://crrev.com/bc7e2f84f28afd7fc567685df21b3f7e43fe80d3/ash/session/session_state_observer.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shelf/shelf_locking_manager.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shelf/shelf_locking_manager.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shell.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shell.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/shell_observer.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/overview/overview_button_tray.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/overview/overview_button_tray.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/palette/palette_tray.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/palette/palette_tray.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/power/tablet_power_button_controller_unittest.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/power/video_activity_notifier.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/power/video_activity_notifier.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/session/logout_confirmation_controller.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/session/logout_confirmation_controller.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/tray/system_tray_delegate.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/system/user/tray_user.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wallpaper/wallpaper_controller.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wallpaper/wallpaper_controller.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/lock_state_controller.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/lock_state_controller.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/lock_state_controller_unittest.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/maximize_mode/maximize_mode_controller.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/maximize_mode/maximize_mode_controller.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/overlay_event_filter.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/overlay_event_filter.h [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/video_detector.cc [modify] https://crrev.com/22b1a6c7072edd302152cf05a2526030aea4ff6d/ash/wm/video_detector.h
Comment 1 by bugdroid1@chromium.org
, Apr 17 2017