| Index: chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js
|
| diff --git a/chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js b/chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js
|
| index d6f6090d26f112c85feaa28896a54932612b0245..4020e723640b92adc26354af2ad99e12772eb67e 100644
|
| --- a/chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js
|
| +++ b/chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js
|
| @@ -156,6 +156,10 @@ Polymer({
|
| },
|
| },
|
|
|
| + ready: function() {
|
| + this.addEventListener('close-route-click', this.removeRoute);
|
| + },
|
| +
|
| /**
|
| * Adds |route| to |routeList|.
|
| *
|
| @@ -231,8 +235,8 @@ Polymer({
|
| * that is associated with |sinkId|.
|
| * @private
|
| */
|
| - computeRouteInSinkListHidden_: function(sinkId) {
|
| - return !this.sinkToRouteMap_[sinkId];
|
| + computeRouteInSinkListHidden_: function(sinkId, sinkToRouteMap) {
|
| + return !sinkToRouteMap[sinkId];
|
| },
|
|
|
| /**
|
| @@ -240,9 +244,9 @@ Polymer({
|
| * @return {string} The title value of the route associated with |sinkId|.
|
| * @private
|
| */
|
| - computeRouteInSinkListValue_: function(sinkId) {
|
| - var route = this.sinkToRouteMap_[sinkId];
|
| - return route ? this.sinkToRouteMap_[sinkId].title : '';
|
| + computeRouteInSinkListValue_: function(sinkId, sinkToRouteMap) {
|
| + var route = sinkToRouteMap[sinkId];
|
| + return route ? route.title : '';
|
| },
|
|
|
| /**
|
| @@ -346,12 +350,16 @@ Polymer({
|
| */
|
| rebuildRouteMaps_: function() {
|
| this.routeMap_ = {};
|
| - this.sinkToRouteMap_ = {};
|
| + // Rebuild |sinkToRouteMap_| with a temporary map to avoid firing the
|
| + // computed functions prematurely.
|
| + var tempSinkToRouteMap = {};
|
|
|
| this.routeList.forEach(function(route) {
|
| this.routeMap_[route.id] = route;
|
| - this.sinkToRouteMap_[route.sinkId] = route;
|
| + tempSinkToRouteMap[route.sinkId] = route;
|
| }, this);
|
| +
|
| + this.sinkToRouteMap_ = tempSinkToRouteMap;
|
| },
|
|
|
| /**
|
|
|