diff options
Diffstat (limited to 'chromium/chrome/browser/resources/media_router/media_router_data.js')
-rw-r--r-- | chromium/chrome/browser/resources/media_router/media_router_data.js | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/chromium/chrome/browser/resources/media_router/media_router_data.js b/chromium/chrome/browser/resources/media_router/media_router_data.js new file mode 100644 index 00000000000..1cc6562fad2 --- /dev/null +++ b/chromium/chrome/browser/resources/media_router/media_router_data.js @@ -0,0 +1,164 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Any strings used here will already be localized. Values such as +// CastMode.type or IDs will be defined elsewhere and determined later. +cr.define('media_router', function() { + 'use strict'; + + /** + * @enum {string} + */ + var SinkStatus = { + IDLE: 'idle', + ACTIVE: 'active', + REQUEST_PENDING: 'request_pending' + }; + + + /** + * @param {number} type The type of cast mode. This corresponds to the + * C++ MediaCastMode. + * @param {string} title The title of the cast mode. + * @param {string} description The description of the cast mode. + * @constructor + * @struct + */ + var CastMode = function(type, title, description) { + /** @type {number} */ + this.type = type; + + /** @type {string} */ + this.title = title; + + /** @type {string} */ + this.description = description; + }; + + + /** + * @param {string} id The ID of this issue. + * @param {string} title The issue title. + * @param {string} message The issue message. + * @param {string} defaultActionText The button text of default action. + * @param {number} defaultActionType The type of default action. + * @param {?string} secondaryActionText The button text of optional action. + * @param {?number} secondaryActionType The type of optional action. + * @param {?string} mediaRouteId The route ID to which this issue + * pertains. If not set, this is a global issue. + * @param {boolean} isBlocking True if this issue blocks other UI. + * @param {?string} helpURL The URL to be opened if learn more is clicked. + * @constructor + * @struct + */ + var Issue = function(id, title, message, defaultActionText, + defaultActionType, secondaryActionText, + secondaryActionType, mediaRouteId, isBlocking, + helpURL) { + /** @type {string} */ + this.id = id; + + /** @type {string} */ + this.title = title; + + /** @type {string} */ + this.message = message; + + /** @type {string} */ + this.defaultActionText = defaultActionText; + + /** @type {number} */ + this.defaultActionType = defaultActionType; + + /** @type {?string} */ + this.secondaryActionText = secondaryActionText; + + /** @type {?number} */ + this.secondaryActionType = secondaryActionType; + + /** @type {?string} */ + this.mediaRouteId = mediaRouteId; + + /** @type {boolean} */ + this.isBlocking = isBlocking; + + /** @type {?string} */ + this.helpURL = helpURL; + }; + + + /** + * @param {string} id The media route ID. + * @param {string} sinkId The ID of the media sink running this route. + * @param {string} title The short description of this route. + * @param {?number} tabId The ID of the tab in which web app is running and + * accessing the route. + * @param {boolean} isLocal True if this is a locally created route. + * @constructor + * @struct + */ + var Route = function(id, sinkId, title, tabId, isLocal) { + /** @type {string} */ + this.id = id; + + /** @type {string} */ + this.sinkId = sinkId; + + /** @type {string} */ + this.title = title; + + /** @type {?number} */ + this.tabId = tabId; + + /** @type {boolean} */ + this.isLocal = isLocal; + }; + + + /** + * @param {string} id The ID of the media sink. + * @param {string} name The name of the sink. + * @param {media_router.SinkStatus} status The readiness state of the sink. + * @param {!Array<number>} castModes Cast modes compatible with the sink. + * @constructor + * @struct + */ + var Sink = function(id, name, status) { + /** @type {string} */ + this.id = id; + + /** @type {string} */ + this.name = name; + + /** @type {media_router.SinkStatus} */ + this.status = status; + + /** @type {!Array<number>} */ + this.castModes = castModes; + }; + + + /** + * @param {number} tabId The current tab ID. + * @param {string} domain The domain of the current tab. + * @constructor + * @struct + */ + var TabInfo = function(tabId, domain) { + /** @type {number} */ + this.tabId = tabId; + + /** @type {string} */ + this.domain = domain; + }; + + return { + SinkStatus: SinkStatus, + CastMode: CastMode, + Issue: Issue, + Route: Route, + Sink: Sink, + TabInfo: TabInfo, + }; +}); |