mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-14 17:21:01 +08:00
Merge pull request #1098 from AdamLay/master
Added Chrome App Definitions + Tests
This commit is contained in:
@@ -45,6 +45,7 @@ List of Definitions
|
||||
* [Cheerio](https://github.com/MatthewMueller/cheerio) (by [Bret Little](https://github.com/blittle))
|
||||
* [Chosen](http://harvesthq.github.com/chosen/) (by [Boris Yankov](https://github.com/borisyankov))
|
||||
* [Chrome](http://developer.chrome.com/extensions/) (by [Matthew Kimber](https://github.com/matthewkimber))
|
||||
* [Chrome App](http://developer.chrome.com/apps/) (by [Adam Lay](https://github.com/AdamLay))
|
||||
* [CodeMirror](http://codemirror.net) (by [François de Campredon](https://github.com/fdecampredon))
|
||||
* [Commander](http://github.com/visionmedia/commander.js) (by [Marcelo Dezem](https://github.com/mdezem))
|
||||
* [d3.js](http://d3js.org/) (from TypeScript samples)
|
||||
|
||||
27
chrome/chrome-app-tests.ts
Normal file
27
chrome/chrome-app-tests.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
/// <reference path="chrome-app.d.ts" />
|
||||
|
||||
import runtime = chrome.app.runtime;
|
||||
import cwindow = chrome.app.window;
|
||||
|
||||
var createOptions: cwindow.CreateOptions = {
|
||||
id: "My Window",
|
||||
bounds: {
|
||||
left: 0,
|
||||
top: 0,
|
||||
width: 640,
|
||||
height: 480
|
||||
},
|
||||
resizable: true
|
||||
};
|
||||
|
||||
//Create new window on app launch
|
||||
chrome.app.runtime.onLaunched.addListener(function (launchData: runtime.LaunchData) {
|
||||
chrome.app.window.create('app/url', createOptions, function (created_window: cwindow.AppWindow) {
|
||||
return;
|
||||
});
|
||||
});
|
||||
|
||||
chrome.app.runtime.onRestarted.addListener(function () { return; });
|
||||
|
||||
// Get Current Window
|
||||
var currentWindow: cwindow.AppWindow = chrome.app.window.current();
|
||||
95
chrome/chrome-app.d.ts
vendored
Normal file
95
chrome/chrome-app.d.ts
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
// Type definitions for Chrome packaged application development.
|
||||
// Project: http://developer.chrome.com/apps/
|
||||
// Definitions by: Adam Lay <https://github.com/AdamLay>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
////////////////////
|
||||
// App Runtime
|
||||
////////////////////
|
||||
declare module chrome.app.runtime {
|
||||
interface LaunchData {
|
||||
id?: string;
|
||||
items?: LaunchDataItem[];
|
||||
url?: string;
|
||||
referrerUrl?: string;
|
||||
isKioskSession?: boolean;
|
||||
}
|
||||
|
||||
interface LaunchDataItem {
|
||||
entry: File;
|
||||
type: string;
|
||||
}
|
||||
|
||||
interface LaunchedEvent {
|
||||
addListener(callback: (launchData: LaunchData) => void);
|
||||
}
|
||||
|
||||
interface RestartedEvent {
|
||||
addListener(callback: () => void);
|
||||
}
|
||||
|
||||
var onLaunched: LaunchedEvent;
|
||||
var onRestarted: RestartedEvent;
|
||||
}
|
||||
|
||||
////////////////////
|
||||
// App Window
|
||||
////////////////////
|
||||
declare module chrome.app.window {
|
||||
interface Bounds {
|
||||
left?: number;
|
||||
top?: number;
|
||||
width?: number;
|
||||
height?: number;
|
||||
}
|
||||
|
||||
interface AppWindow {
|
||||
focus: () => void;
|
||||
fullscreen: () => void;
|
||||
isFullscreen: () => boolean;
|
||||
minimize: () => void;
|
||||
isMinimized: () => boolean;
|
||||
maximize: () => void;
|
||||
isMaximized: () => boolean;
|
||||
restore: () => void;
|
||||
moveTo: (left: number, top: number) => void;
|
||||
resizeTo: (width: number, height: number) => void;
|
||||
drawAttention: () => void;
|
||||
clearAttention: () => void;
|
||||
close: () => void;
|
||||
show: () => void;
|
||||
hide: () => void;
|
||||
getBounds: () => Bounds;
|
||||
setBounds: (bounds: Bounds) => void;
|
||||
contentWindow: Window;
|
||||
}
|
||||
|
||||
interface CreateOptions {
|
||||
id?: string;
|
||||
minWidth?: number;
|
||||
minHeight?: number;
|
||||
maxWidth?: number;
|
||||
maxHeight?: number;
|
||||
frame?: string; // "none", "chrome"
|
||||
bounds?: Bounds;
|
||||
transparentBackground?: boolean;
|
||||
state?: string; // "normal", "fullscreen", "maximized", "minimized"
|
||||
hidden?: boolean;
|
||||
resizable?: boolean;
|
||||
singleton?: boolean;
|
||||
}
|
||||
|
||||
export function create(url: string, options?: CreateOptions, callback?: (created_window: AppWindow) => void): void;
|
||||
export function current(): AppWindow;
|
||||
|
||||
interface WindowEvent {
|
||||
addListener(callback: () => void): void;
|
||||
}
|
||||
|
||||
var onBoundsChanged: WindowEvent;
|
||||
var onClosed: WindowEvent;
|
||||
var onFullscreened: WindowEvent;
|
||||
var onMaximized: WindowEvent;
|
||||
var onMinimized: WindowEvent;
|
||||
var onRestored: WindowEvent;
|
||||
}
|
||||
Reference in New Issue
Block a user