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 | filters?: Array<{
|
65 | vendorId? : number;
|
66 | productId? : number;
|
67 | usagePage? : number;
|
68 | usage? : number;
|
69 | }>
|
70 | }
|
71 |
|
72 | declare class ChromeHid {
|
73 | getDevices: (options: ChromeHidGetDevicesOptions,
|
74 | callback: (i: Array<ChromeHidDeviceInfo>) => void) => void;
|
75 |
|
76 | send: (connectionId: number, reportId: number, data: ArrayBuffer, callback: () => void) => void;
|
77 |
|
78 | receive: (connectionId: number, callback: (reportId: number, data: ArrayBuffer) => void) => void;
|
79 |
|
80 | connect: (deviceId: number, callback: (connection: {connectionId: number}) => void) => void;
|
81 |
|
82 | disconnect: (connectionId: number, callback: () => void) => void;
|
83 | }
|
84 |
|
85 | declare class ChromePlatformInfo {
|
86 | os: string;
|
87 | arch: string;
|
88 | nacl_arch: string;
|
89 | }
|
90 |
|
91 | declare class ChromeRuntime {
|
92 | lastError: string;
|
93 | getPlatformInfo(callback: (platformInfo: ChromePlatformInfo) => void): void,
|
94 | onMessageExternal: ChromeOnMessage;
|
95 | onMessage: ChromeOnMessage;
|
96 | getManifest(): Object;
|
97 | id: string;
|
98 |
|
99 | sendMessage(
|
100 | message: any,
|
101 | options?: {includeTlsChannelId?: boolean},
|
102 | callback?: (response?: any) => void
|
103 | ): void;
|
104 | sendMessage(
|
105 | extensionId: string,
|
106 | message: any,
|
107 | options?: {includeTlsChannelId?: boolean},
|
108 | callback?: (response?: any) => void
|
109 | ): void;
|
110 |
|
111 | }
|
112 |
|
113 | declare type ChromeStorageItems = { [key:string]: any}
|
114 | declare type ChromeCallback = () => void;
|
115 |
|
116 | declare class ChromeStorageArea {
|
117 | getBytesInUse(callback: (bytesInUse: number) => void): void;
|
118 | getBytesInUse(keys: string, callback: (bytesInUse: number) => void): void;
|
119 | getBytesInUse(keys: string[], callback: (bytesInUse: number) => void): void;
|
120 | clear(callback?: ChromeCallback): void;
|
121 | set(items: ChromeStorageItems, callback?: ChromeCallback): void;
|
122 | remove(keys: string, callback?: ChromeCallback): void;
|
123 | remove(keys: string[], callback?: ChromeCallback): void;
|
124 | get(callback: (items: ChromeStorageItems) => void): void;
|
125 | get(keys: string, callback: (items: ChromeStorageItems) => void): void;
|
126 | get(keys: string[], callback: (items: ChromeStorageItems) => void): void;
|
127 |
|
128 | QUOTA_BYTES: number
|
129 | }
|
130 |
|
131 | declare class ChromeStorage {
|
132 | local: ChromeStorageArea;
|
133 | }
|
134 |
|
135 | declare class ChromeMessageSender {
|
136 | tabs: ?any;
|
137 | frameId: ?number;
|
138 | id: ?string;
|
139 | url: ?string;
|
140 | tlsChanelId: ?string;
|
141 | }
|
142 |
|
143 | declare class ChromeOnMessage {
|
144 | addListener: (
|
145 | callback: (
|
146 | message: Object, sender:ChromeMessageSender, sendResponse: (
|
147 | response: Object
|
148 | ) => void
|
149 | ) => boolean
|
150 | ) => void;
|
151 | }
|
152 |
|
153 | declare class ChromeApp {
|
154 | runtime: ChromeAppRuntime;
|
155 | window: ChromeAppWindow;
|
156 | }
|
157 |
|
158 | declare class ChromeAppRuntime {
|
159 | onLaunched: ChromeAppOnLaunched;
|
160 | }
|
161 |
|
162 | declare class ChromeAppOnLaunched {
|
163 | addListener: (
|
164 | callback: () => void
|
165 | ) => void;
|
166 | }
|
167 |
|
168 | declare class ChromeBrowser {
|
169 |
|
170 | openTab: (options: {url: string}, callback: () => void) => void
|
171 | }
|
172 |
|
173 | declare type ChromeBoundsSpecification = {
|
174 | left? : number,
|
175 | top? : number,
|
176 | width? : number,
|
177 | height? : number,
|
178 | minWidth?: number,
|
179 | minHeight?: number,
|
180 | maxWidth?: number,
|
181 | maxHeight?: number
|
182 | }
|
183 |
|
184 | declare class ChromeAppWindowOnClosed {
|
185 | addListener: ( callback: () => void ) => void
|
186 | }
|
187 |
|
188 | declare class ChromeAppWindow {
|
189 | create: (url: string, options: {innerBounds: ChromeBoundsSpecification}, callback: (createdWindow: ChromeAppWindow) => void) => void;
|
190 | onClosed: ChromeAppWindowOnClosed;
|
191 | }
|
192 |
|
193 | declare var chrome: Chrome;
|