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 c2ed9ea56456500d4e231f38c7ca935450fb0edf..747fefb559346fe41d6b5e5a4890802e03ecbc69 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) && defined(ENABLE_ARC) |
+#include "ash/shell_observer.h" |
+#endif |
+ |
class Browser; |
namespace ash { |
@@ -88,6 +92,21 @@ class ChromeShellDelegate : public ash::ShellDelegate, |
const content::NotificationDetails& details) override; |
private: |
+#if defined(OS_CHROMEOS) && defined(ENABLE_ARC) |
+ // 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); |
+ }; |
+#endif |
+ |
void PlatformInit(); |
static ChromeShellDelegate* instance_; |
@@ -107,6 +126,11 @@ class ChromeShellDelegate : public ash::ShellDelegate, |
display_configuration_observer_; |
#endif |
+#if defined(OS_CHROMEOS) && defined(ENABLE_ARC) |
+ // An Observer to track session state and start/stop ARC accordingly. |
+ scoped_ptr<ArcSessionObserver> arc_session_observer_; |
+#endif |
+ |
DISALLOW_COPY_AND_ASSIGN(ChromeShellDelegate); |
}; |