[Media Router] Reconnect MediaRouteControllers after extension suspension
- Make MediaRouteController use EventPageRequestManager to queue calls to the extension MediaController when the extension is suspended
- Don't destroy MRController when it's disconnected from the extension controller
- Make MediaRouterDesktop reconnect MRControllers to extension controllers when the extension wakes up
Extension-side change: http://cl/163893310
Bug: 751269
Change-Id: I6acf38afe54df0389b024c9caee10cc3b34a8e16
Reviewed-on: https://chromium-review.googlesource.com/602709
Commit-Queue: Takumi Fujimoto <[email protected]>
Reviewed-by: Derek Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#494699}
diff --git a/chrome/browser/media/router/media_router_base.h b/chrome/browser/media/router/media_router_base.h
index 807ac26..ecbecf5 100644
--- a/chrome/browser/media/router/media_router_base.h
+++ b/chrome/browser/media/router/media_router_base.h
@@ -12,6 +12,7 @@
#include "base/callback_list.h"
#include "base/gtest_prod_util.h"
#include "base/macros.h"
+#include "build/build_config.h"
#include "chrome/browser/media/router/media_router.h"
#include "chrome/browser/media/router/media_routes_observer.h"
#include "chrome/common/media_router/media_route.h"
@@ -34,8 +35,10 @@
std::vector<MediaRoute> GetCurrentRoutes() const override;
+#if !defined(OS_ANDROID)
scoped_refptr<MediaRouteController> GetRouteController(
const MediaRoute::Id& route_id) override;
+#endif // !defined(OS_ANDROID)
void RegisterRemotingSource(int32_t tab_id,
CastRemotingConnector* remoting_source) override;
@@ -100,9 +103,11 @@
// KeyedService
void Shutdown() override;
+#if !defined(OS_ANDROID)
// MediaRouter
void DetachRouteController(const MediaRoute::Id& route_id,
MediaRouteController* controller) override;
+#endif // !defined(OS_ANDROID)
std::unique_ptr<InternalMediaRoutesObserver> internal_routes_observer_;
bool initialized_;