Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4641)

Unified Diff: chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js

Issue 1218213007: Media Router: Update routes in sink list when routes are updated. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per kmarshall@'s comments. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/media_router/elements/media_router_container/media_router_container.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
},
/**
« no previous file with comments | « chrome/browser/resources/media_router/elements/media_router_container/media_router_container.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698