| Index: chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastMediaRouteProvider.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastMediaRouteProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastMediaRouteProvider.java
|
| index fc92cfd941a5bb07b5f7f97af7ce9f8044c96645..d387878a00de71b60049f7fea4959460608791f0 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastMediaRouteProvider.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/router/cast/CastMediaRouteProvider.java
|
| @@ -118,6 +118,7 @@ public class CastMediaRouteProvider implements MediaRouteProvider, DiscoveryDele
|
| if (mSession == null) return;
|
|
|
| if (mClientRecords.isEmpty()) {
|
| + for (String routeId : mRoutes.keySet()) mManager.onRouteClosed(routeId);
|
| mRoutes.clear();
|
| } else {
|
| mLastRemovedRouteRecord = mClientRecords.values().iterator().next();
|
| @@ -321,11 +322,11 @@ public class CastMediaRouteProvider implements MediaRouteProvider, DiscoveryDele
|
| @Override
|
| public void closeRoute(String routeId) {
|
| MediaRoute route = mRoutes.get(routeId);
|
| -
|
| if (route == null) return;
|
|
|
| if (mSession == null) {
|
| mRoutes.remove(routeId);
|
| + mManager.onRouteClosed(routeId);
|
| return;
|
| }
|
|
|
| @@ -511,7 +512,8 @@ public class CastMediaRouteProvider implements MediaRouteProvider, DiscoveryDele
|
| return null;
|
| }
|
|
|
| - private void addRoute(MediaRoute route, String origin, int tabId) {
|
| + @VisibleForTesting
|
| + void addRoute(MediaRoute route, String origin, int tabId) {
|
| mRoutes.put(route.id, route);
|
|
|
| MediaSource source = MediaSource.from(route.sourceId);
|
|
|