1 | declare class Chrome {
|
2 | hid: ChromeHid;
|
3 | runtime: ChromeRuntime;
|
4 | storage: ChromeStorage;
|
5 | app: ChromeApp;
|
6 | browser: ChromeBrowser;
|
7 | sockets: ChromeSockets;
|
8 | }
|
9 |
|
10 | declare class ChromeSockets {
|
11 | udp: ChromeUdp;
|
12 | }
|
13 |
|
14 | declare type ChromeUdpProperties = {
|
15 | persistent?: boolean;
|
16 | name?: string;
|
17 | bufferSize?: number;
|
18 | }
|
19 |
|
20 | declare type ChromeUdpCreateInfo = {
|
21 | socketId: number;
|
22 | }
|
23 |
|
24 | declare type ChromeUdpSendInfo = {
|
25 | resultCode: number;
|
26 | bytesSent?: number;
|
27 | }
|
28 |
|
29 | declare class ChromeOnReceive {
|
30 | addListener: (callback: (info: ChromeUdpReceiveInfo) => void) => void;
|
31 | }
|
32 |
|
33 | declare type ChromeUdpReceiveInfo = {
|
34 | socketId: number;
|
35 | data: ArrayBuffer;
|
36 | remoteAddress: string;
|
37 | remotePort: number;
|
38 | }
|
39 |
|
40 | declare class ChromeUdp {
|
41 | create: (properties: ChromeUdpProperties, callback: (info: ChromeUdpCreateInfo) => void) => void;
|
42 | close: (socketId: number, callback: () => void) => void;
|
43 | bind: (socketId: number, address: string, port: number, callback: (result: number) => void) => void;
|
44 | send: (socketId: number, data: ArrayBuffer, address: string, port: number,
|
45 | callback: (info: ChromeUdpSendInfo) => void
|
46 | ) => void;
|
47 | onReceive: ChromeOnReceive;
|
48 | }
|
49 |
|
50 | declare class ChromeHidDeviceInfo {
|
51 | deviceId: number;
|
52 | vendorId: number;
|
53 | productId: number;
|
54 | collections: Array<{usagePage: number, usage: number, reportIds:Array<number>}>;
|
55 | maxInputReportSize: number;
|
56 | maxOutputReportSize: number;
|
57 | maxFeatureReportSize: number;
|
58 | reportDescriptor: ArrayBuffer;
|
59 | }
|
60 |
|
61 | declare type ChromeHidGetDevicesOptions = {
|
62 | vendorId? : number;
|
63 | productId? : number;
|
64 | }
|
65 |
|
66 | declare class ChromeHid {
|
67 | getDevices: (options: ChromeHidGetDevicesOptions,
|
68 | callback: (i: Array<ChromeHidDeviceInfo>) => void) => void;
|
69 |
|
70 | send: (connectionId: number, reportId: number, data: ArrayBuffer, callback: () => void) => void;
|
71 |
|
72 | receive: (connectionId: number, callback: (reportId: number, data: ArrayBuffer) => void) => void;
|
73 |
|
74 | connect: (deviceId: number, callback: (connection: {connectionId: number}) => void) => void;
|
75 |
|
76 | disconnect: (connectionId: number, callback: () => void) => void;
|
77 | }
|
78 |
|
79 | declare class ChromePlatformInfo {
|
80 | os: string;
|
81 | arch: string;
|
82 | nacl_arch: string;
|
83 | }
|
84 |
|
85 | declare class ChromeRuntime {
|
86 | lastError: string;
|
87 | getPlatformInfo(callback: (platformInfo: ChromePlatformInfo) => void): void,
|
88 | onMessageExternal: ChromeOnMessage;
|
89 | onMessage: ChromeOnMessage;
|
90 | getManifest(): Object;
|
91 | id: string;
|
92 |
|
93 | sendMessage(
|
94 | message: any,
|
95 | options?: {includeTlsChannelId?: boolean},
|
96 | callback?: (response?: any) => void
|
97 | ): void;
|
98 | sendMessage(
|
99 | extensionId: string,
|
100 | message: any,
|
101 | options?: {includeTlsChannelId?: boolean},
|
102 | callback?: (response?: any) => void
|
103 | ): void;
|
104 |
|
105 | }
|
106 |
|
107 | declare type ChromeStorageItems = { [key:string]: any}
|
108 | declare type ChromeCallback = () => void;
|
109 |
|
110 | declare class ChromeStorageArea {
|
111 | getBytesInUse(callback: (bytesInUse: number) => void): void;
|
112 | getBytesInUse(keys: string, callback: (bytesInUse: number) => void): void;
|
113 | getBytesInUse(keys: string[], callback: (bytesInUse: number) => void): void;
|
114 | clear(callback?: ChromeCallback): void;
|
115 | set(items: ChromeStorageItems, callback?: ChromeCallback): void;
|
116 | remove(keys: string, callback?: ChromeCallback): void;
|
117 | remove(keys: string[], callback?: ChromeCallback): void;
|
118 | get(callback: (items: ChromeStorageItems) => void): void;
|
119 | get(keys: string, callback: (items: ChromeStorageItems) => void): void;
|
120 | get(keys: string[], callback: (items: ChromeStorageItems) => void): void;
|
121 |
|
122 | QUOTA_BYTES: number
|
123 | }
|
124 |
|
125 | declare class ChromeStorage {
|
126 | local: ChromeStorageArea;
|
127 | }
|
128 |
|
129 | declare class ChromeMessageSender {
|
130 | tabs: ?any;
|
131 | frameId: ?number;
|
132 | id: ?string;
|
133 | url: ?string;
|
134 | tlsChanelId: ?string;
|
135 | }
|
136 |
|
137 | declare class ChromeOnMessage {
|
138 | addListener: (
|
139 | callback: (
|
140 | message: Object, sender:ChromeMessageSender, sendResponse: (
|
141 | response: Object
|
142 | ) => void
|
143 | ) => boolean
|
144 | ) => void;
|
145 | }
|
146 |
|
147 | declare class ChromeApp {
|
148 | runtime: ChromeAppRuntime;
|
149 | window: ChromeAppWindow;
|
150 | }
|
151 |
|
152 | declare class ChromeAppRuntime {
|
153 | onLaunched: ChromeAppOnLaunched;
|
154 | }
|
155 |
|
156 | declare class ChromeAppOnLaunched {
|
157 | addListener: (
|
158 | callback: () => void
|
159 | ) => void;
|
160 | }
|
161 |
|
162 | declare class ChromeBrowser {
|
163 |
|
164 | openTab: (options: {url: string}, callback: () => void) => void
|
165 | }
|
166 |
|
167 | declare type ChromeBoundsSpecification = {
|
168 | left? : number,
|
169 | top? : number,
|
170 | width? : number,
|
171 | height? : number,
|
172 | minWidth?: number,
|
173 | minHeight?: number,
|
174 | maxWidth?: number,
|
175 | maxHeight?: number
|
176 | }
|
177 |
|
178 | declare class ChromeAppWindowOnClosed {
|
179 | addListener: ( callback: () => void ) => void
|
180 | }
|
181 |
|
182 | declare class ChromeAppWindow {
|
183 | create: (url: string, options: {innerBounds: ChromeBoundsSpecification}, callback: (createdWindow: ChromeAppWindow) => void) => void;
|
184 | onClosed: ChromeAppWindowOnClosed;
|
185 | }
|
186 |
|
187 | declare var chrome: Chrome;
|