| 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 9e149ca7aadec32a7cad87d47b20e35c48e610cd..6580294638ba2f3ab524a089e1d75703735d21cc 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 | 
| @@ -1561,16 +1561,8 @@ Polymer({ | 
| if (!clickedMode) | 
| return; | 
|  | 
| -    this.userHasSelectedCastMode_ = true; | 
| +    this.selectCastMode(clickedMode.type); | 
| this.fire('cast-mode-selected', {castModeType: clickedMode.type}); | 
| - | 
| -    // The list of sinks to show will be the same if the shown cast mode did | 
| -    // not change, regardless of whether the user selected it explicitly. | 
| -    if (clickedMode.type != this.shownCastModeValue_) { | 
| -      this.setShownCastMode_(clickedMode); | 
| -      this.rebuildSinksToShow_(); | 
| -    } | 
| - | 
| this.showSinkList_(); | 
| this.maybeReportUserFirstAction( | 
| media_router.MediaRouterUserAction.CHANGE_MODE); | 
| @@ -2122,6 +2114,20 @@ Polymer({ | 
| }, | 
|  | 
| /** | 
| +   * Sets the selected cast mode to the one associated with |castModeType|, | 
| +   * and rebuilds sinks to reflect the change. | 
| +   * @param {number} castModeType The type of the selected cast mode. | 
| +   */ | 
| +  selectCastMode: function(castModeType) { | 
| +    var castMode = this.findCastModeByType_(castModeType); | 
| +    if (castMode && castModeType != this.shownCastModeValue_) { | 
| +      this.setShownCastMode_(castMode); | 
| +      this.userHasSelectedCastMode_ = true; | 
| +      this.rebuildSinksToShow_(); | 
| +    } | 
| +  }, | 
| + | 
| +  /** | 
| * Sets various focus and blur event handlers to handle showing search results | 
| * when the search input is focused. | 
| * @private | 
|  |