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

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

Issue 2002293003: [Media Router] Allow casting new media to sink with existing route. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase for imcheng@'s off-the-record change Created 4 years, 7 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
Index: chrome/browser/resources/media_router/elements/route_details/route_details.js
diff --git a/chrome/browser/resources/media_router/elements/route_details/route_details.js b/chrome/browser/resources/media_router/elements/route_details/route_details.js
index e92779eee7949053436953d8fa989f07541b8738..dc8bd4d8e1ee30625f9e90a812c4ea3173ecb125 100644
--- a/chrome/browser/resources/media_router/elements/route_details/route_details.js
+++ b/chrome/browser/resources/media_router/elements/route_details/route_details.js
@@ -17,6 +17,16 @@ Polymer({
},
/**
+ * Bitmask of available cast modes compatible with the sink of the current
+ * route.
+ * @type {number}
+ */
+ availableCastModes: {
+ type: Number,
+ value: 0,
+ },
+
+ /**
* The route to show.
* @type {?media_router.Route|undefined}
*/
@@ -42,23 +52,39 @@ Polymer({
],
/**
- * Fires a close-route-click event. This is called when the button to close
+ * Fires a close-route event. This is called when the button to close
* the current route is clicked.
*
* @private
*/
closeRoute_: function() {
- this.fire('close-route-click', {route: this.route});
+ this.fire('close-route', {route: this.route});
},
/**
- * Fires a start-casting-to-route-click event. This is called when the button
- * to start casting to the current route is clicked.
+ * @param {?media_router.Route|undefined} route
+ * @param {number} availableCastModes
+ * @return {boolean} Whether to show the button that allows casting to the
+ * current route or the current route's sink.
+ */
+ computeCastButtonHidden_: function(route, availableCastModes) {
+ return !(route && route.canJoin) && !availableCastModes;
mark a. foltz 2016/05/31 22:30:06 Can you use || here instead?
btolsch 2016/06/01 01:58:16 Maybe I'm misunderstanding the suggestion but sayi
+ },
+
+ /**
+ * Fires a join-route-click event if the current route is joinable, otherwise
+ * it fires a cast-new-media-click event, which stops the current route and
+ * immediately launches a new route to the same sink. This is called when the
+ * button to start casting to the current route is clicked.
*
* @private
*/
startCastingToRoute_: function() {
- this.fire('start-casting-to-route-click', {route: this.route});
+ if (this.route.canJoin) {
+ this.fire('join-route-click', {route: this.route});
+ } else {
+ this.fire('cast-new-media-click', {route: this.route});
mark a. foltz 2016/05/31 22:30:06 Slight preference for replace-route-click, but I d
btolsch 2016/06/01 01:58:16 Done.
+ }
},
/**

Powered by Google App Engine
This is Rietveld 408576698