Backed out changeset 7272b7396c78 (bug 1932758) for causing fenix debug failures...
[gecko.git] / dom / canvas / test / webgl-conf / checkout / deqp / temp_externs / w3c_indexeddb.js
blob19c35ec1ee04fc9802995eff71764b557aea617d
1 /*
2  * Copyright 2011 The Closure Compiler Authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
17 /**
18  * @fileoverview Definitions for W3C's IndexedDB API. In Chrome all the
19  * IndexedDB classes are prefixed with 'webkit'. In order to access constants
20  * and static methods of these classes they must be duplicated with the
21  * prefix here.
22  * @see http://www.w3.org/TR/IndexedDB/
23  *
24  * @externs
25  * @author guido.tapia@picnet.com.au (Guido Tapia)
26  */
28 /** @type {IDBFactory} */
29 Window.prototype.moz_indexedDB;
31 /** @type {IDBFactory} */
32 Window.prototype.mozIndexedDB;
34 /** @type {IDBFactory} */
35 Window.prototype.webkitIndexedDB;
37 /** @type {IDBFactory} */
38 Window.prototype.msIndexedDB;
40 /** @type {IDBFactory} */
41 Window.prototype.indexedDB;
43 /**
44  * @constructor
45  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory
46  */
47 function IDBFactory() {}
49 /**
50  * @param {string} name The name of the database to open.
51  * @param {number=} opt_version The version at which to open the database.
52  * @return {!IDBOpenDBRequest} The IDBRequest object.
53  */
54 IDBFactory.prototype.open = function(name, opt_version) {};
56 /**
57  * @param {string} name The name of the database to delete.
58  * @return {!IDBOpenDBRequest} The IDBRequest object.
59  */
60 IDBFactory.prototype.deleteDatabase = function(name) {};
62 /**
63  * @constructor
64  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException
65  */
66 function IDBDatabaseException() {}
68 /**
69  * @constructor
70  * @extends {IDBDatabaseException}
71  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException
72  */
73 function webkitIDBDatabaseException() {}
75 /**
76  * @const
77  * @type {number}
78  */
79 IDBDatabaseException.UNKNOWN_ERR;
81 /**
82  * @const
83  * @type {number}
84  */
85 webkitIDBDatabaseException.UNKNOWN_ERR;
87 /**
88  * @const
89  * @type {number}
90  */
91 IDBDatabaseException.NON_TRANSIENT_ERR;
93 /**
94  * @const
95  * @type {number}
96  */
97 webkitIDBDatabaseException.NON_TRANSIENT_ERR;
99 /**
100  * @const
101  * @type {number}
102  */
103 IDBDatabaseException.NOT_FOUND_ERR;
106  * @const
107  * @type {number}
108  */
109 webkitIDBDatabaseException.NOT_FOUND_ERR;
112  * @const
113  * @type {number}
114  */
115 IDBDatabaseException.CONSTRAINT_ERR;
118  * @const
119  * @type {number}
120  */
121 webkitIDBDatabaseException.CONSTRAINT_ERR;
124  * @const
125  * @type {number}
126  */
127 IDBDatabaseException.DATA_ERR;
130  * @const
131  * @type {number}
132  */
133 webkitIDBDatabaseException.DATA_ERR;
136  * @const
137  * @type {number}
138  */
139 IDBDatabaseException.NOT_ALLOWED_ERR;
142  * @const
143  * @type {number}
144  */
145 webkitIDBDatabaseException.NOT_ALLOWED_ERR;
148  * @const
149  * @type {number}
150  */
151 IDBDatabaseException.TRANSACTION_INACTIVE_ERR;
154  * @const
155  * @type {number}
156  */
157 webkitIDBDatabaseException.TRANSACTION_INACTIVE_ERR;
160  * @const
161  * @type {number}
162  */
163 IDBDatabaseException.ABORT_ERR;
166  * @const
167  * @type {number}
168  */
169 webkitIDBDatabaseException.ABORT_ERR;
172  * @const
173  * @type {number}
174  */
175 IDBDatabaseException.READ_ONLY_ERR;
178  * @const
179  * @type {number}
180  */
181 webkitIDBDatabaseException.READ_ONLY_ERR;
184  * @const
185  * @type {number}
186  */
187 IDBDatabaseException.TIMEOUT_ERR;
190  * @const
191  * @type {number}
192  */
193 webkitIDBDatabaseException.TIMEOUT_ERR;
196  * @const
197  * @type {number}
198  */
199 IDBDatabaseException.QUOTA_ERR;
202  * @const
203  * @type {number}
204  */
205 webkitIDBDatabaseException.QUOTA_ERR;
208  * @const
209  * @type {number}
210  */
211 IDBDatabaseException.prototype.code;
214  * @const
215  * @type {number}
216  */
217 webkitIDBDatabaseException.prototype.code;
220  * @const
221  * @type {string}
222  */
223 IDBDatabaseException.prototype.message;
226  * @const
227  * @type {string}
228  */
229 webkitIDBDatabaseException.prototype.message;
232  * @constructor
233  * @implements {EventTarget}
234  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest
235  */
236 function IDBRequest() {}
239  * @param {boolean=} opt_useCapture
240  * @override
241  */
242 IDBRequest.prototype.addEventListener =
243     function(type, listener, opt_useCapture) {};
246  * @param {boolean=} opt_useCapture
247  * @override
248  */
249 IDBRequest.prototype.removeEventListener =
250     function(type, listener, opt_useCapture) {};
252 /** @override */
253 IDBRequest.prototype.dispatchEvent = function(evt) {};
256  * @constructor
257  * @extends {IDBRequest}
258  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest
259  */
260 function webkitIDBRequest() {}
263  * @type {number}
264  * @const
265  */
266 IDBRequest.LOADING;
269  * @type {number}
270  * @const
271  */
272 webkitIDBRequest.LOADING;
275  * @type {number}
276  * @const
277  */
278 IDBRequest.DONE;
281  * @type {number}
282  * @const
283  */
284 webkitIDBRequest.DONE;
286 /** @type {number} */
287 IDBRequest.prototype.readyState; // readonly
289 /** @type {function(!Event)} */
290 IDBRequest.prototype.onsuccess = function(e) {};
292 /** @type {function(!Event)} */
293 IDBRequest.prototype.onerror = function(e) {};
295 /** @type {*} */
296 IDBRequest.prototype.result;  // readonly
299  * @type {number}
300  * @deprecated Use "error"
301  */
302 IDBRequest.prototype.errorCode;  // readonly
305 /** @type {!DOMError} */
306 IDBRequest.prototype.error; // readonly
308 /** @type {Object} */
309 IDBRequest.prototype.source; // readonly
311 /** @type {IDBTransaction} */
312 IDBRequest.prototype.transaction; // readonly
315  * @constructor
316  * @extends {IDBRequest}
317  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest
318  */
319 function IDBOpenDBRequest() {}
322  * @type {function(!IDBVersionChangeEvent)}
323  */
324 IDBOpenDBRequest.prototype.onblocked = function(e) {};
327  * @type {function(!IDBVersionChangeEvent)}
328  */
329 IDBOpenDBRequest.prototype.onupgradeneeded = function(e) {};
332  * @constructor
333  * @implements {EventTarget}
334  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase
335  */
336 function IDBDatabase() {}
339  * @type {string}
340  * @const
341  */
342 IDBDatabase.prototype.name;
345  * @type {string}
346  * @const
347  */
348 IDBDatabase.prototype.description;
351  * @type {string}
352  * @const
353  */
354 IDBDatabase.prototype.version;
357  * @type {DOMStringList}
358  * @const
359  */
360 IDBDatabase.prototype.objectStoreNames;
363  * @param {string} name The name of the object store.
364  * @param {Object=} opt_parameters Parameters to be passed
365  *     creating the object store.
366  * @return {!IDBObjectStore} The created/open object store.
367  */
368 IDBDatabase.prototype.createObjectStore =
369     function(name, opt_parameters)  {};
372  * @param {string} name The name of the object store to remove.
373  */
374 IDBDatabase.prototype.deleteObjectStore = function(name) {};
377  * @param {string} version The new version of the database.
378  * @return {!IDBRequest} The IDBRequest object.
379  */
380 IDBDatabase.prototype.setVersion = function(version) {};
383  * @param {Array.<string>} storeNames The stores to open in this transaction.
384  * @param {(number|string)=} mode The mode for opening the object stores.
385  * @return {!IDBTransaction} The IDBRequest object.
386  */
387 IDBDatabase.prototype.transaction = function(storeNames, mode) {};
390  * Closes the database connection.
391  */
392 IDBDatabase.prototype.close = function() {};
395  * @type {Function}
396  */
397 IDBDatabase.prototype.onabort = function() {};
400  * @type {Function}
401  */
402 IDBDatabase.prototype.onerror = function() {};
405  * @type {Function}
406  */
407 IDBDatabase.prototype.onversionchange = function() {};
410  * @param {boolean=} opt_useCapture
411  * @override
412  */
413 IDBDatabase.prototype.addEventListener =
414     function(type, listener, opt_useCapture) {};
417  * @param {boolean=} opt_useCapture
418  * @override
419  */
420 IDBDatabase.prototype.removeEventListener =
421     function(type, listener, opt_useCapture) {};
423 /** @override */
424 IDBDatabase.prototype.dispatchEvent = function(evt) {};
427  * Typedef for valid key types according to the w3 specification. Note that this
428  * is slightly wider than what is actually allowed, as all Array elements must
429  * have a valid key type.
430  * @see http://www.w3.org/TR/IndexedDB/#key-construct
431  * @typedef {number|string|!Date|!Array.<?>}
432  */
433 var IDBKeyType;
436  * @constructor
437  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore
438  */
439 function IDBObjectStore() {}
442  * @type {string}
443  */
444 IDBObjectStore.prototype.name;
447  * @type {string}
448  */
449 IDBObjectStore.prototype.keyPath;
452  * @type {DOMStringList}
453  */
454 IDBObjectStore.prototype.indexNames;
456 /** @type {IDBTransaction} */
457 IDBObjectStore.prototype.transaction;
459 /** @type {boolean} */
460 IDBObjectStore.prototype.autoIncrement;
463  * @param {*} value The value to put into the object store.
464  * @param {IDBKeyType=} key The key of this value.
465  * @return {!IDBRequest} The IDBRequest object.
466  */
467 IDBObjectStore.prototype.put = function(value, key) {};
470  * @param {*} value The value to add into the object store.
471  * @param {IDBKeyType=} key The key of this value.
472  * @return {!IDBRequest} The IDBRequest object.
473  */
474 IDBObjectStore.prototype.add = function(value, key) {};
477  * @param {IDBKeyType} key The key of this value.
478  * @return {!IDBRequest} The IDBRequest object.
479  */
480 IDBObjectStore.prototype.delete = function(key) {};
483  * @param {IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.
484  * @return {!IDBRequest} The IDBRequest object.
485  */
486 IDBObjectStore.prototype.get = function(key) {};
489  * @return {!IDBRequest} The IDBRequest object.
490  */
491 IDBObjectStore.prototype.clear = function() {};
494  * @param {IDBKeyRange=} range The range of the cursor.
495  * @param {(number|string)=} direction The direction of cursor enumeration.
496  * @return {!IDBRequest} The IDBRequest object.
497  */
498 IDBObjectStore.prototype.openCursor = function(range, direction) {};
501  * @param {string} name The name of the index.
502  * @param {string|!Array.<string>} keyPath The path to the index key.
503  * @param {Object=} opt_paramters Optional parameters
504  *     for the created index.
505  * @return {!IDBIndex} The IDBIndex object.
506  */
507 IDBObjectStore.prototype.createIndex = function(name, keyPath, opt_paramters) {};
510  * @param {string} name The name of the index to retrieve.
511  * @return {!IDBIndex} The IDBIndex object.
512  */
513 IDBObjectStore.prototype.index = function(name) {};
516  * @param {string} indexName The name of the index to remove.
517  */
518 IDBObjectStore.prototype.deleteIndex = function(indexName) {};
521  * @param {(IDBKeyType|IDBKeyRange)=} key The key of this value.
522  * @return {!IDBRequest} The IDBRequest object.
523  * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count
524  */
525 IDBObjectStore.prototype.count = function(key) {};
528  * @constructor
529  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex
530  */
531 function IDBIndex() {}
534  * @type {string}
535  * @const
536  */
537 IDBIndex.prototype.name;
540  * @type {!IDBObjectStore}
541  * @const
542  */
543 IDBIndex.prototype.objectStore;
546  * @type {string}
547  * @const
548  */
549 IDBIndex.prototype.keyPath;
552  * @type {boolean}
553  * @const
554  */
555 IDBIndex.prototype.unique;
558  * @param {IDBKeyRange=} range The range of the cursor.
559  * @param {(number|string)=} direction The direction of cursor enumeration.
560  * @return {!IDBRequest} The IDBRequest object.
561  */
562 IDBIndex.prototype.openCursor = function(range, direction) {};
565  * @param {IDBKeyRange=} range The range of the cursor.
566  * @param {(number|string)=} direction The direction of cursor enumeration.
567  * @return {!IDBRequest} The IDBRequest object.
568  */
569 IDBIndex.prototype.openKeyCursor = function(range, direction) {};
572  * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.
573  * @return {!IDBRequest} The IDBRequest object.
574  */
575 IDBIndex.prototype.get = function(key) {};
578  * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.
579  * @return {!IDBRequest} The IDBRequest object.
580  */
581 IDBIndex.prototype.getKey = function(key) {};
584  * @constructor
585  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor
586  */
587 function IDBCursor() {}
590  * @constructor
591  * @extends {IDBCursor}
592  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor
593  */
594 function webkitIDBCursor() {}
597  * @const
598  * @type {number}
599  */
600 IDBCursor.NEXT;
603  * @const
604  * @type {number}
605  */
606 webkitIDBCursor.NEXT;
609  * @const
610  * @type {number}
611  */
612 IDBCursor.NEXT_NO_DUPLICATE;
615  * @const
616  * @type {number}
617  */
618 webkitIDBCursor.NEXT_NO_DUPLICATE;
621  * @const
622  * @type {number}
623  */
624 IDBCursor.PREV;
627  * @const
628  * @type {number}
629  */
630 webkitIDBCursor.PREV;
633  * @const
634  * @type {number}
635  */
636 IDBCursor.PREV_NO_DUPLICATE;
639  * @const
640  * @type {number}
641  */
642 webkitIDBCursor.PREV_NO_DUPLICATE;
645  * @type {*}
646  * @const
647  */
648 IDBCursor.prototype.source;
651  * @type {number}
652  * @const
653  */
654 IDBCursor.prototype.direction;
657  * @type {IDBKeyType}
658  * @const
659  */
660 IDBCursor.prototype.key;
663  * @type {number}
664  * @const
665  */
666 IDBCursor.prototype.primaryKey;
669  * @param {*} value The new value for the current object in the cursor.
670  * @return {!IDBRequest} The IDBRequest object.
671  */
672 IDBCursor.prototype.update = function(value) {};
675  * Note: Must be quoted to avoid parse error.
676  * @param {IDBKeyType=} key Continue enumerating the cursor from the specified
677  *     key (or next).
678  */
679 IDBCursor.prototype.continue = function(key) {};
682  * @param {number} count Number of times to iterate the cursor.
683  */
684 IDBCursor.prototype.advance = function(count) {};
687  * Note: Must be quoted to avoid parse error.
688  * @return {!IDBRequest} The IDBRequest object.
689  */
690 IDBCursor.prototype.delete = function() {};
693  * @constructor
694  * @extends {IDBCursor}
695  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue
696  */
697 function IDBCursorWithValue() {}
699 /** @type {*} */
700 IDBCursorWithValue.prototype.value; // readonly
703  * @constructor
704  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction
705  */
706 function IDBTransaction() {}
709  * @constructor
710  * @extends {IDBTransaction}
711  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction
712  */
713 function webkitIDBTransaction() {}
716  * @const
717  * @type {number}
718  */
719 IDBTransaction.READ_WRITE;
722  * @const
723  * @type {number}
724  */
725 webkitIDBTransaction.READ_WRITE;
728  * @const
729  * @type {number}
730  */
731 IDBTransaction.READ_ONLY;
734  * @const
735  * @type {number}
736  */
737 webkitIDBTransaction.READ_ONLY;
740  * @const
741  * @type {number}
742  */
743 IDBTransaction.VERSION_CHANGE;
746  * @const
747  * @type {number}
748  */
749 webkitIDBTransaction.VERSION_CHANGE;
752  * @type {number|string}
753  * @const
754  */
755 IDBTransaction.prototype.mode;
758  * @type {IDBDatabase}
759  * @const
760  */
761 IDBTransaction.prototype.db;
764  * @param {string} name The name of the object store to retrieve.
765  * @return {!IDBObjectStore} The object store.
766  */
767 IDBTransaction.prototype.objectStore = function(name) {};
770  * Aborts the transaction.
771  */
772 IDBTransaction.prototype.abort = function() {};
775  * @type {Function}
776  */
777 IDBTransaction.prototype.onabort = function() {};
780  * @type {Function}
781  */
782 IDBTransaction.prototype.oncomplete = function() {};
785  * @type {Function}
786  */
787 IDBTransaction.prototype.onerror = function() {};
790  * @constructor
791  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange
792  */
793 function IDBKeyRange() {}
796  * @constructor
797  * @extends {IDBKeyRange}
798  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange
799  */
800 function webkitIDBKeyRange() {}
803  * @type {*}
804  * @const
805  */
806 IDBKeyRange.prototype.lower;
809  * @type {*}
810  * @const
811  */
812 IDBKeyRange.prototype.upper;
815  * @type {*}
816  * @const
817  */
818 IDBKeyRange.prototype.lowerOpen;
821  * @type {*}
822  * @const
823  */
824 IDBKeyRange.prototype.upperOpen;
827  * @param {IDBKeyType} value The single key value of this range.
828  * @return {!IDBKeyRange} The key range.
829  */
830 IDBKeyRange.only = function(value) {};
833  * @param {IDBKeyType} value The single key value of this range.
834  * @return {!IDBKeyRange} The key range.
835  */
836 webkitIDBKeyRange.only = function(value) {};
839  * @param {IDBKeyType} bound Creates a lower bound key range.
840  * @param {boolean=} open Open the key range.
841  * @return {!IDBKeyRange} The key range.
842  */
843 IDBKeyRange.lowerBound = function(bound, open) {};
846  * @param {IDBKeyType} bound Creates a lower bound key range.
847  * @param {boolean=} open Open the key range.
848  * @return {!IDBKeyRange} The key range.
849  */
850 webkitIDBKeyRange.lowerBound = function(bound, open) {};
853  * @param {IDBKeyType} bound Creates an upper bound key range.
854  * @param {boolean=} open Open the key range.
855  * @return {!IDBKeyRange} The key range.
856  */
857 IDBKeyRange.upperBound = function(bound, open) {};
860  * @param {IDBKeyType} bound Creates an upper bound key range.
861  * @param {boolean=} open Open the key range.
862  * @return {!IDBKeyRange} The key range.
863  */
864 webkitIDBKeyRange.upperBound = function(bound, open) {};
867  * @param {IDBKeyType} left The left bound value.
868  * @param {IDBKeyType} right The right bound value.
869  * @param {boolean=} openLeft Whether the left bound value should be excluded.
870  * @param {boolean=} openRight Whether the right bound value should be excluded.
871  * @return {!IDBKeyRange} The key range.
872  */
873 IDBKeyRange.bound = function(left, right, openLeft, openRight) {};
876  * @param {IDBKeyType} left The left bound value.
877  * @param {IDBKeyType} right The right bound value.
878  * @param {boolean=} openLeft Whether the left bound value should be excluded.
879  * @param {boolean=} openRight Whether the right bound value should be excluded.
880  * @return {!IDBKeyRange} The key range.
881  */
882 webkitIDBKeyRange.bound = function(left, right, openLeft, openRight) {};
885  * @constructor
886  * @extends {Event}
887  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent
888  */
889 function IDBVersionChangeEvent() {}
892  * @type {number}
893  * @const
894  */
895 IDBVersionChangeEvent.prototype.oldVersion;
898  * @type {?number}
899  * @const
900  */
901 IDBVersionChangeEvent.prototype.newVersion;
904  * @constructor
905  * @extends {IDBVersionChangeEvent}
906  * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent
907  */
908 function webkitIDBVersionChangeEvent() {}
911  * @type {string}
912  * @const
913  */
914 webkitIDBVersionChangeEvent.prototype.version;