Index: components/arc/arc_bridge_service_impl.h |
diff --git a/components/arc/arc_bridge_service_impl.h b/components/arc/arc_bridge_service_impl.h |
index d0de3e3a6343a2d56ea6409fdce7b75f335947ca..ea90b0872762f8dc56ae63988e0391b2a719f2c7 100644 |
--- a/components/arc/arc_bridge_service_impl.h |
+++ b/components/arc/arc_bridge_service_impl.h |
@@ -37,9 +37,7 @@ class ArcBridgeServiceImpl : public ArcBridgeService, |
private: |
friend class ArcBridgeTest; |
- FRIEND_TEST_ALL_PREFIXES(ArcBridgeTest, Basic); |
- FRIEND_TEST_ALL_PREFIXES(ArcBridgeTest, Prerequisites); |
- FRIEND_TEST_ALL_PREFIXES(ArcBridgeTest, ShutdownMidStartup); |
+ FRIEND_TEST_ALL_PREFIXES(ArcBridgeTest, Restart); |
// If all pre-requisites are true (ARC is available, it has been enabled, and |
// the session has started), and ARC is stopped, start ARC. If ARC is running |
@@ -56,6 +54,10 @@ class ArcBridgeServiceImpl : public ArcBridgeService, |
// DBus callbacks. |
void OnArcAvailable(bool available); |
+ // Called when the bridge channel is closed. This typically only happens when |
+ // the ARC instance crashes. This is not called during shutdown. |
+ void OnChannelClosed(); |
+ |
scoped_ptr<ArcBridgeBootstrap> bootstrap_; |
// Mojo endpoints. |
@@ -65,6 +67,10 @@ class ArcBridgeServiceImpl : public ArcBridgeService, |
// If the user's session has started. |
bool session_started_; |
+ // If the instance had already been started but the connection to it was |
+ // lost. This should make the instance restart. |
+ bool reconnect_ = false; |
+ |
// WeakPtrFactory to use callbacks. |
base::WeakPtrFactory<ArcBridgeServiceImpl> weak_factory_; |