Merge pull request #21669 from niikoo/chrome-updates

@types/Chrome - chrome.system.display updates
This commit is contained in:
Mine Starks
2017-12-14 08:37:54 -08:00
committed by GitHub
6 changed files with 1411 additions and 906 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.AutoJoinPolicy
*/
interface AutoJoinPolicy {
export interface AutoJoinPolicy {
TAB_AND_ORIGIN_SCOPED: string;
ORIGIN_SCOPED: string;
PAGE_SCOPED: string;
@@ -22,7 +22,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.DefaultActionPolicy
*/
interface DefaultActionPolicy {
export interface DefaultActionPolicy {
CREATE_SESSION: string;
CAST_THIS_TAB: string;
}
@@ -31,7 +31,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Capability
*/
interface Capability {
export interface Capability {
VIDEO_OUT: string;
AUDIO_OUT: string;
VIDEO_IN: string;
@@ -42,7 +42,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ErrorCode
*/
interface ErrorCode {
export interface ErrorCode {
CANCEL: string;
TIMEOUT: string;
API_NOT_INITIALIZED: string;
@@ -59,7 +59,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAvailability
*/
interface ReceiverAvailability {
export interface ReceiverAvailability {
AVAILABLE: string;
UNAVAILABLE: string;
}
@@ -68,7 +68,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderPlatform
*/
interface SenderPlatform {
export interface SenderPlatform {
CHROME: string;
IOS: string;
ANDROID: string;
@@ -78,7 +78,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverType
*/
interface ReceiverType {
export interface ReceiverType {
CAST: string;
HANGOUT: string;
CUSTOM: string;
@@ -88,7 +88,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAction
*/
interface ReceiverAction {
export interface ReceiverAction {
CAST: string;
STOP: string;
}
@@ -99,7 +99,7 @@ declare namespace chrome.cast {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionStatus
*/
interface SessionStatus {
export interface SessionStatus {
CONNECTED: string;
DISCONNECTED: string;
STOPPED: string;
@@ -109,13 +109,13 @@ declare namespace chrome.cast {
* @const {!Array<number>}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.VERSION
*/
var VERSION: Array<number>;
export var VERSION: Array<number>;
/**
* @type {boolean}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.isAvailable
*/
var isAvailable: boolean;
export var isAvailable: boolean;
/**
* @param {!chrome.cast.ApiConfig} apiConfig
@@ -191,7 +191,7 @@ declare namespace chrome.cast {
errorCallback: (error: chrome.cast.Error) => void
): void
interface ApiConfig {
export interface ApiConfig {
/**
* @param {!chrome.cast.SessionRequest} sessionRequest
* @param {function(!chrome.cast.Session)} sessionListener
@@ -217,7 +217,7 @@ declare namespace chrome.cast {
defaultActionPolicy: chrome.cast.DefaultActionPolicy;
}
interface Error {
export interface Error {
/**
* @param {!chrome.cast.ErrorCode} code
* @param {string=} opt_description
@@ -237,7 +237,7 @@ declare namespace chrome.cast {
}
interface Image {
export interface Image {
/**
* @param {string} url
* @constructor
@@ -252,7 +252,7 @@ declare namespace chrome.cast {
width?: number;
}
interface SenderApplication {
export interface SenderApplication {
/**
* @param {!chrome.cast.SenderPlatform} platform
* @constructor
@@ -267,7 +267,7 @@ declare namespace chrome.cast {
packageId?: string;
}
interface SessionRequest {
export interface SessionRequest {
/**
* @param {string} appId
* @param {!Array<chrome.cast.Capability>=} opt_capabilities
@@ -287,7 +287,7 @@ declare namespace chrome.cast {
language?: string;
}
interface Session {
export interface Session {
/**
* @param {string} sessionId
* @param {string} appId
@@ -437,7 +437,7 @@ declare namespace chrome.cast {
):void
}
interface Receiver {
export interface Receiver {
/**
* @param {string} label
* @param {string} friendlyName
@@ -461,7 +461,7 @@ declare namespace chrome.cast {
displayStatus: chrome.cast.ReceiverDisplayStatus;
}
interface ReceiverDisplayStatus {
export interface ReceiverDisplayStatus {
/**
* @param {string} statusText
* @param {!Array<chrome.cast.Image>} appImages
@@ -477,7 +477,7 @@ declare namespace chrome.cast {
appImages: Array<chrome.cast.Image>;
}
interface Volume {
export interface Volume {
/**
* @param {?number=} opt_level
* @param {?boolean=} opt_muted
@@ -496,13 +496,13 @@ declare namespace chrome.cast {
declare namespace chrome.cast.media {
var DEFAULT_MEDIA_RECEIVER_APP_ID: string;
export var DEFAULT_MEDIA_RECEIVER_APP_ID: string;
/**
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaCommand
*/
interface MediaCommand {
export interface MediaCommand {
PAUSE: string;
SEEK: string;
STREAM_VOLUME: string;
@@ -513,7 +513,7 @@ declare namespace chrome.cast.media {
* @enum {number}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MetadataType
*/
interface MetadataType {
export interface MetadataType {
GENERIC: number;
TV_SHOW: number;
MOVIE: number;
@@ -525,7 +525,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayerState
*/
interface PlayerState {
export interface PlayerState {
IDLE: string;
PLAYING: string;
PAUSED: string;
@@ -536,7 +536,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.ResumeState
*/
interface ResumeState {
export interface ResumeState {
PLAYBACK_START: string;
PLAYBACK_PAUSE: string;
}
@@ -545,7 +545,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StreamType
*/
interface StreamType {
export interface StreamType {
BUFFERED: string;
LIVE: string;
OTHER: string;
@@ -555,7 +555,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.IdleReason
*/
interface IdleReason {
export interface IdleReason {
CANCELLED: string;
INTERRUPTED: string;
FINISHED: string;
@@ -566,14 +566,14 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.RepeatMode
*/
interface RepeatMode {
export interface RepeatMode {
OFF:string;
ALL:string;
SINGLE:string;
ALL_AND_SHUFFLE:string;
}
interface QueueItem {
export interface QueueItem {
/**
* @param {!chrome.cast.media.MediaInfo} mediaInfo
* @constructor
@@ -592,7 +592,7 @@ declare namespace chrome.cast.media {
startTime: number;
}
interface QueueLoadRequest {
export interface QueueLoadRequest {
/**
* @param {!Array<chrome.cast.media.QueueItem>} items
* @constructor
@@ -608,7 +608,7 @@ declare namespace chrome.cast.media {
startIndex: number;
}
interface QueueInsertItemsRequest {
export interface QueueInsertItemsRequest {
/**
* @param {!Array<chrome.cast.media.QueueItem>}
* @constructor
@@ -623,7 +623,7 @@ declare namespace chrome.cast.media {
items: Array<chrome.cast.media.QueueItem>;
}
interface QueueRemoveItemsRequest {
export interface QueueRemoveItemsRequest {
/**
* @param {!Array<number>}
* @constructor
@@ -637,7 +637,7 @@ declare namespace chrome.cast.media {
itemIds: Array<number>;
}
interface QueueReorderItemsRequest {
export interface QueueReorderItemsRequest {
/**
* @param {!Array<number>}
* @constructor
@@ -652,7 +652,7 @@ declare namespace chrome.cast.media {
itemIds: Array<number>;
}
interface QueueUpdateItemsRequest {
export interface QueueUpdateItemsRequest {
/**
* @param {!Array<chrome.cast.media.QueueItem>}
* @constructor
@@ -670,7 +670,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TrackType
*/
interface TrackType {
export interface TrackType {
TEXT: string;
AUDIO: string;
VIDEO: string;
@@ -680,7 +680,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackType
*/
interface TextTrackType {
export interface TextTrackType {
SUBTITLES: string;
CAPTIONS: string;
DESCRIPTIONS: string;
@@ -692,7 +692,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackEdgeType
*/
interface TextTrackEdgeType {
export interface TextTrackEdgeType {
NONE: string;
OUTLINE: string;
DROP_SHADOW: string;
@@ -704,7 +704,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackWindowType
*/
interface TextTrackWindowType {
export interface TextTrackWindowType {
NONE: string;
NORMAL: string;
ROUNDED_CORNERS: string;
@@ -714,7 +714,7 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontGenericFamily
*/
interface TextTrackFontGenericFamily {
export interface TextTrackFontGenericFamily {
SANS_SERIF: string;
MONOSPACED_SANS_SERIF: string;
SERIF: string;
@@ -728,14 +728,14 @@ declare namespace chrome.cast.media {
* @enum {string}
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontStyle
*/
interface TextTrackFontStyle {
export interface TextTrackFontStyle {
NORMAL: string;
BOLD: string;
BOLD_ITALIC: string;
ITALIC: string;
}
interface GetStatusRequest {
export interface GetStatusRequest {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GetStatusRequest
@@ -745,7 +745,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface PauseRequest {
export interface PauseRequest {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PauseRequest
@@ -755,7 +755,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface PlayRequest {
export interface PlayRequest {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayRequest
@@ -765,7 +765,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface SeekRequest {
export interface SeekRequest {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.SeekRequest
@@ -777,7 +777,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface StopRequest {
export interface StopRequest {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StopRequest
@@ -787,7 +787,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface VolumeRequest {
export interface VolumeRequest {
/**
* @param {!chrome.cast.Volume} volume
* @constructor
@@ -801,7 +801,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface LoadRequest {
export interface LoadRequest {
/**
* @param {!chrome.cast.media.MediaInfo} mediaInfo
* @constructor
@@ -818,7 +818,7 @@ declare namespace chrome.cast.media {
media: chrome.cast.media.MediaInfo;
}
interface EditTracksInfoRequest {
export interface EditTracksInfoRequest {
/**
* @param {Array<number>=} opt_activeTrackIds
* @param {chrome.cast.media.TextTrackStyle=} opt_textTrackStyle
@@ -834,7 +834,7 @@ declare namespace chrome.cast.media {
textTrackStyle: chrome.cast.media.TextTrackStyle;
}
interface GenericMediaMetadata {
export interface GenericMediaMetadata {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GenericMediaMetadata
@@ -852,7 +852,7 @@ declare namespace chrome.cast.media {
type: chrome.cast.media.MetadataType;
}
interface MovieMediaMetadata {
export interface MovieMediaMetadata {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MovieMediaMetadata
@@ -871,7 +871,7 @@ declare namespace chrome.cast.media {
type: chrome.cast.media.MetadataType;
}
interface TvShowMediaMetadata {
export interface TvShowMediaMetadata {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TvShowMediaMetadata
@@ -898,7 +898,7 @@ declare namespace chrome.cast.media {
releaseYear: number;
}
interface MusicTrackMediaMetadata {
export interface MusicTrackMediaMetadata {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MusicTrackMediaMetadata
@@ -925,7 +925,7 @@ declare namespace chrome.cast.media {
releaseYear: number;
}
interface PhotoMediaMetadata {
export interface PhotoMediaMetadata {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PhotoMediaMetadata
@@ -947,7 +947,7 @@ declare namespace chrome.cast.media {
type: chrome.cast.media.MetadataType;
}
interface MediaInfo {
export interface MediaInfo {
/**
* @param {string} contentId
* @param {string} contentType
@@ -969,7 +969,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface Media {
export interface Media {
/**
* @param {string} sessionId
* @param {number} mediaSessionId
@@ -1215,7 +1215,7 @@ declare namespace chrome.cast.media {
}
interface Track {
export interface Track {
/**
* @param {number} trackId
* @param {!chrome.cast.media.TrackType} trackType
@@ -1237,7 +1237,7 @@ declare namespace chrome.cast.media {
customData: Object;
}
interface TextTrackStyle {
export interface TextTrackStyle {
/**
* @constructor
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackStyle
@@ -1264,17 +1264,17 @@ declare namespace chrome.cast.media {
* @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.timeout
*/
declare namespace chrome.cast.media.timeout {
var load: number;
var getStatus: number;
var play: number;
var pause: number;
var seek: number;
var stop: number;
var setVolume: number;
var editTracksInfo: number;
var queueInsert: number;
var queueLoad: number;
var queueRemove: number;
var queueReorder: number;
var queueUpdate: number;
export var load: number;
export var getStatus: number;
export var play: number;
export var pause: number;
export var seek: number;
export var stop: number;
export var setVolume: number;
export var editTracksInfo: number;
export var queueInsert: number;
export var queueLoad: number;
export var queueRemove: number;
export var queueReorder: number;
export var queueUpdate: number;
}

109
types/chrome/chrome-webview.d.ts vendored Normal file
View File

@@ -0,0 +1,109 @@
/// <reference path="chrome-app.d.ts" />
// Project: http://developer.chrome.com/apps/
// Definitions by: Nikolai Ommundsen <https://github.com/niikoo>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.4
//
// WebView ref: https://chromium.googlesource.com/chromium/src/+/64.0.3274.2/chrome/common/extensions/api/webview_tag.json
//
///////////////////
// <webview> Tag
///////////////////
/**
* Use the <code>webview</code> tag to actively load live content from the web over the network and embed it in your Chrome App. Your app can control the appearance of the <code>webview</code> and interact with the web content, initiate navigations in an embedded web page, react to error events that happen within it, and more (see <a href=\"#usage\">Usage</a>).
*/
declare namespace chrome.webviewTag {
/** Options that determine what data should be cleared by `clearData`. */
export interface ClearDataOptions {
/** Clear data accumulated on or after this date, represented in milliseconds since the epoch (accessible via the getTime method of the JavaScript <code>Date</code> object). If absent, defaults to <code>0</code> (which would remove all browsing data). */
since: number;
}
export interface WindowEvent extends chrome.events.Event<() => void> {}
export interface ConsoleEvent extends Event {
/**
* @description The severity level of the log message. Ranges from 0 to 4.
* @type {number}
* @memberof ConsoleEvent
*/
level: number,
/**
* @description The logged message contents.
* @type {string}
* @memberof ConsoleEvent
*/
message: string,
/**
* @description The line number of the message source.
* @type {number}
* @memberof ConsoleEvent
*/
line: number,
/**
* @description A string identifying the resource which logged the message.
* @type {string}
* @memberof ConsoleEvent
*/
sourceId: string
}
/** Description of a declarative rule for handling events. */
export interface Rule {
/** Optional priority of this rule. Defaults to 100. */
priority?: number;
/** List of conditions that can trigger the actions. */
conditions: any[];
/** Optional. Optional identifier that allows referencing this rule. */
id?: string;
/** List of actions that are triggered if one of the condtions is fulfilled. */
actions: any[];
/**
* @description Tags can be used to annotate rules and perform operations on sets of rules.¨
* @since Chrome 28
* @type {string[]}
* @memberof Rule
*/
tags?: string[];
}
/**
* @description Details of the script or CSS to inject. Either the code or the file property must be set, but both may not be set at the same time.
* @export
* @interface InjectDetails
*/
export interface InjectDetails {
/**
* @description JavaScript or CSS code to inject.<br><br><b>Warning:</b><br>Be careful using the <code>code</code> parameter. Incorrect use of it may open your app to <a href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\">cross site scripting</a> attacks.
* @type {string}
* @memberof InjectDetails
*/
code?: string,
/**
* @description JavaScript or CSS file to inject.
* @type {string}
* @memberof InjectDetails
*/
file?: string
}
export interface WebViewElementEventMap extends ElementEventMap {
'message': ConsoleEvent
}
/**
* @description
* @export
* @interface HTMLWebViewElement
* @extends {Element}
*/
export interface HTMLWebViewElement extends Element {
executeScript?: (details: InjectDetails, callback?: (result: any) => void) => void,
src: string,
contentWindow: Window
addEventListener<K extends keyof WebViewElementEventMap>(type: K, listener: (this: HTMLWebViewElement, ev: WebViewElementEventMap[K]) => any, useCapture?: boolean): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
}
}

1274
types/chrome/index.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
import webview = chrome.webviewTag;
let element: webview.HTMLWebViewElement;

View File

@@ -21,7 +21,9 @@
"index.d.ts",
"chrome-app.d.ts",
"chrome-cast.d.ts",
"chrome-webview.d.ts",
"test/index.ts",
"test/chrome-app.ts"
"test/chrome-app.ts",
"test/chrome-webview.ts"
]
}
}