Index: chrome/browser/ui/ash/chrome_shell_delegate.h |
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.h b/chrome/browser/ui/ash/chrome_shell_delegate.h |
index e069b716c781e133de0fe778e1012b8bc8453b99..fdb281b3917ba9eb30f4ffa61d8dcfd89d5bf578 100644 |
--- a/chrome/browser/ui/ash/chrome_shell_delegate.h |
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.h |
@@ -17,6 +17,10 @@ |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
+#if defined(OS_CHROMEOS) |
+#include "ash/shell_observer.h" |
+#endif |
+ |
class Browser; |
namespace ash { |
@@ -103,6 +107,22 @@ class ChromeShellDelegate : public ash::ShellDelegate, |
#if defined(OS_CHROMEOS) |
scoped_ptr<chromeos::DisplayConfigurationObserver> |
display_configuration_observer_; |
+ |
+ // An Observer to track session state and start/stop ARC accordingly. |
+ class ArcSessionObserver : public ash::ShellObserver { |
+ public: |
+ ArcSessionObserver(); |
+ ~ArcSessionObserver() override; |
+ |
+ // ash::ShellObserver overrides: |
+ void OnLoginStateChanged(ash::user::LoginStatus status) override; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ArcSessionObserver); |
+ }; |
+ |
+ // An Observer to track session state and start/stop ARC accordingly. |
+ scoped_ptr<ArcSessionObserver> arc_session_observer_; |
#endif |
DISALLOW_COPY_AND_ASSIGN(ChromeShellDelegate); |