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

Side by Side Diff: chrome/browser/resources/media_router/elements/media_router_container/media_router_container.js

Issue 1415533019: [Media Router] Use common media-router-header for MR UI. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per imcheng@'s comments. Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This Polymer element contains the entire media router interface. It handles 5 // This Polymer element contains the entire media router interface. It handles
6 // hiding and showing specific components. 6 // hiding and showing specific components.
7 Polymer({ 7 Polymer({
8 is: 'media-router-container', 8 is: 'media-router-container',
9 9
10 properties: { 10 properties: {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 value: '', 93 value: '',
94 }, 94 },
95 95
96 /** 96 /**
97 * The issue to show. 97 * The issue to show.
98 * @type {?media_router.Issue} 98 * @type {?media_router.Issue}
99 */ 99 */
100 issue: { 100 issue: {
101 type: Object, 101 type: Object,
102 value: null, 102 value: null,
103 observer: 'maybeShowIssueView_',
103 }, 104 },
104 105
105 /** 106 /**
107 * The header text.
108 * @private {string}
109 */
110 issueHeaderText_: {
111 type: String,
112 readOnly: true,
113 value: loadTimeData.getString('issueHeader'),
114 },
115
116 /**
106 * Whether the MR UI was just opened. 117 * Whether the MR UI was just opened.
107 * @private {boolean} 118 * @private {boolean}
108 */ 119 */
109 justOpened_: { 120 justOpened_: {
110 type: Boolean, 121 type: Boolean,
111 value: true, 122 value: true,
112 observer: 'computeSpinnerHidden_', 123 observer: 'computeSpinnerHidden_',
113 }, 124 },
114 125
115 /** 126 /**
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 }, 305 },
295 306
296 /** 307 /**
297 * @param {media_router.MediaRouterView} view The current view. 308 * @param {media_router.MediaRouterView} view The current view.
298 * @param {string} headerText The header text for the sink list. 309 * @param {string} headerText The header text for the sink list.
299 * @return {string} The text for the header. 310 * @return {string} The text for the header.
300 * @private 311 * @private
301 */ 312 */
302 computeHeaderText_: function(view, headerText) { 313 computeHeaderText_: function(view, headerText) {
303 switch (view) { 314 switch (view) {
315 case media_router.MediaRouterView.CAST_MODE_LIST:
316 return this.selectCastModeHeaderText_;
317 case media_router.MediaRouterView.ISSUE:
318 return this.issueHeaderText_;
319 case media_router.MediaRouterView.ROUTE_DETAILS:
320 return this.currentRoute_ ?
321 this.sinkMap_[this.currentRoute_.sinkId].name : '';
304 case media_router.MediaRouterView.SINK_LIST: 322 case media_router.MediaRouterView.SINK_LIST:
305 return this.headerText; 323 return this.headerText;
306 case media_router.MediaRouterView.CAST_MODE_LIST:
307 return this.selectCastModeHeaderText_;
308 default: 324 default:
309 return ''; 325 return '';
310 } 326 }
311 }, 327 },
312 328
313 /** 329 /**
314 * @param {media_router.MediaRouterView} view The current view. 330 * @param {media_router.MediaRouterView} view The current view.
315 * @param {string} headerTooltip The tooltip for the header for the sink 331 * @param {string} headerTooltip The tooltip for the header for the sink
316 * list. 332 * list.
317 * @return {string} The tooltip for the header. 333 * @return {string} The tooltip for the header.
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 * @param {!Array<!media_router.CastMode>} castModeList The current list of 414 * @param {!Array<!media_router.CastMode>} castModeList The current list of
399 * cast modes. 415 * cast modes.
400 * @return {boolean} Whether or not to hide the share screen subheading text. 416 * @return {boolean} Whether or not to hide the share screen subheading text.
401 * @private 417 * @private
402 */ 418 */
403 computeShareScreenSubheadingHidden_: function(castModeList) { 419 computeShareScreenSubheadingHidden_: function(castModeList) {
404 return this.computeNonDefaultCastModeList_(castModeList).length == 0; 420 return this.computeNonDefaultCastModeList_(castModeList).length == 0;
405 }, 421 },
406 422
407 /** 423 /**
408 * @param {?media_router.Route} route The current route.
409 * @return {?media_router.Sink} The sink associated with |route|.
410 * @private
411 */
412 computeSinkForCurrentRoute_: function(route) {
413 return route ? this.sinkMap_[route.sinkId] : null;
414 },
415
416 /**
417 * @param {!media_router.Sink} sink The sink to determine an icon for. 424 * @param {!media_router.Sink} sink The sink to determine an icon for.
418 * @return {string} The Polymer <iron-icon> icon to use. The format is 425 * @return {string} The Polymer <iron-icon> icon to use. The format is
419 * <iconset>:<icon>, where <iconset> is the set ID and <icon> is the name 426 * <iconset>:<icon>, where <iconset> is the set ID and <icon> is the name
420 * of the icon. <iconset>: may be ommitted if <icon> is from the default 427 * of the icon. <iconset>: may be ommitted if <icon> is from the default
421 * set. 428 * set.
422 * @private 429 * @private
423 */ 430 */
424 computeSinkIcon_: function(sink) { 431 computeSinkIcon_: function(sink) {
425 switch (sink.iconType) { 432 switch (sink.iconType) {
426 case media_router.SinkIconType.CAST: 433 case media_router.SinkIconType.CAST:
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 * 532 *
526 * @param {?media_router.Route} route A local route. 533 * @param {?media_router.Route} route A local route.
527 * @private 534 * @private
528 */ 535 */
529 maybeShowRouteDetailsOnOpen_: function(route) { 536 maybeShowRouteDetailsOnOpen_: function(route) {
530 if (this.localRouteCount_ == 1 && this.justOpened_ && route) 537 if (this.localRouteCount_ == 1 && this.justOpened_ && route)
531 this.showRouteDetails_(route); 538 this.showRouteDetails_(route);
532 }, 539 },
533 540
534 /** 541 /**
542 * Updates |currentView_| if there is a new blocking issue.
543 *
544 * @param {?media_router.Issue} issue The new issue.
545 * @private
546 */
547 maybeShowIssueView_: function(issue) {
548 if (!!issue && issue.isBlocking)
549 this.currentView_ = media_router.MediaRouterView.ISSUE;
550 },
551
552 /**
535 * Handles a cast mode selection. Updates |headerText|, |headerTextTooltip|, 553 * Handles a cast mode selection. Updates |headerText|, |headerTextTooltip|,
536 * and |selectedCastModeValue_|. 554 * and |selectedCastModeValue_|.
537 * 555 *
538 * @param {!Event} event The event object. 556 * @param {!Event} event The event object.
539 * @private 557 * @private
540 */ 558 */
541 onCastModeClick_: function(event) { 559 onCastModeClick_: function(event) {
542 // The clicked cast mode can come from one of two lists, 560 // The clicked cast mode can come from one of two lists,
543 // defaultCastModeList and nonDefaultCastModeList. 561 // defaultCastModeList and nonDefaultCastModeList.
544 var clickedMode = 562 var clickedMode =
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 * 804 *
787 * @private 805 * @private
788 */ 806 */
789 toggleCastModeHidden_: function() { 807 toggleCastModeHidden_: function() {
790 if (this.currentView_ == media_router.MediaRouterView.CAST_MODE_LIST) 808 if (this.currentView_ == media_router.MediaRouterView.CAST_MODE_LIST)
791 this.showSinkList_(); 809 this.showSinkList_();
792 else 810 else
793 this.showCastModeList_(); 811 this.showCastModeList_();
794 }, 812 },
795 }); 813 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698