Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / resources / media_router / media_router.js
blob4773a16d3101867158506cc563fcfb569eca4667
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
3 // found in the LICENSE file.
5 <include src="media_router_data.js">
6 <include src="media_router_ui_interface.js">
8 // Handles user events for the Media Router UI.
9 cr.define('media_router', function() {
10   'use strict';
12   // The media-router-container element. Initialized after polymer is ready.
13   var container = null;
15   /**
16    * Initializes the Media Router WebUI and requests initial media
17    * router content, such as the media sink and media route lists.
18    */
19   function initialize() {
20     media_router.browserApi.requestInitialData();
22     container = $('media-router-container');
23     media_router.ui.setContainer(container);
25     container.addEventListener('close-button-click', onCloseDialogClick);
26     container.addEventListener('close-route-click', onCloseRouteClick);
27     container.addEventListener('create-route', onCreateRoute);
28     container.addEventListener('issue-action-click', onIssueActionClick);
29   }
31   /**
32    * Closes the dialog.
33    * Called when the user clicks the close button on the dialog.
34    */
35   function onCloseDialogClick() {
36     media_router.browserApi.closeDialog();
37   }
39   /**
40    * Acts on an issue and dismisses it from the UI.
41    * Called when the user performs an action on an issue.
42    *
43    * @param {{detail: {id: string, actionType: number, helpPageId: number}}}
44    *     data
45    * Parameters in |data|.detail:
46    *   id - issue ID.
47    *   actionType - type of action performed by the user.
48    *   helpPageId - the numeric help center ID.
49    */
50   function onIssueActionClick(data) {
51     media_router.browserApi.actOnIssue(data.detail.id,
52                                        data.detail.actionType,
53                                        data.detail.helpPageId);
54     container.issue = null;
55   }
57   /**
58    * Creates a media route.
59    * Called when the user requests to create a media route.
60    *
61    * @param {{detail: {sinkId: string, selectedCastModeValue: number}}} data
62    * Parameters in |data|.detail:
63    *   sinkId - sink ID selected by the user.
64    *   selectedCastModeValue - cast mode selected by the user.
65    */
66   function onCreateRoute(data) {
67     media_router.browserApi.requestRoute(data.detail.sinkId,
68                                          data.detail.selectedCastModeValue);
69   }
71   /**
72    * Stops a route.
73    * Called when the user requests to stop a media route.
74    *
75    * @param {{detail: {route: string}}} data
76    * Parameters in |data|.detail:
77    *   route - route ID.
78    */
79   function onCloseRouteClick(data) {
80     media_router.browserApi.closeRoute(data.detail.route);
81   }
83   return {
84     initialize: initialize,
85   };
86 });
88 window.addEventListener('load', media_router.initialize);