| OLD | NEW |
| 1 library dart.dom.indexed_db; | 1 library dart.dom.indexed_db; |
| 2 | 2 |
| 3 import 'dart:async'; | 3 import 'dart:async'; |
| 4 import 'dart:html'; | 4 import 'dart:html'; |
| 5 import 'dart:html_common'; | 5 import 'dart:html_common'; |
| 6 import 'dart:_js_helper' show Creates, Returns, JSName, Null; | 6 import 'dart:_js_helper' show Creates, Returns, JSName, Null; |
| 7 import 'dart:_foreign_helper' show JS; | 7 import 'dart:_foreign_helper' show JS; |
| 8 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 8 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 9 // for details. All rights reserved. Use of this source code is governed by a | 9 // for details. All rights reserved. Use of this source code is governed by a |
| 10 // BSD-style license that can be found in the LICENSE file. | 10 // BSD-style license that can be found in the LICENSE file. |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 // BSD-style license that can be found in the LICENSE file. | 136 // BSD-style license that can be found in the LICENSE file. |
| 137 | 137 |
| 138 | 138 |
| 139 @DomName('IDBCursor') | 139 @DomName('IDBCursor') |
| 140 class Cursor native "*IDBCursor" { | 140 class Cursor native "*IDBCursor" { |
| 141 @DomName('IDBCursor.delete') | 141 @DomName('IDBCursor.delete') |
| 142 Future delete() { | 142 Future delete() { |
| 143 try { | 143 try { |
| 144 return _completeRequest($dom_delete()); | 144 return _completeRequest($dom_delete()); |
| 145 } catch (e, stacktrace) { | 145 } catch (e, stacktrace) { |
| 146 return new Future.immediateError(e, stacktrace); | 146 return new Future.error(e, stacktrace); |
| 147 } | 147 } |
| 148 } | 148 } |
| 149 | 149 |
| 150 @DomName('IDBCursor.value') | 150 @DomName('IDBCursor.value') |
| 151 Future update(value) { | 151 Future update(value) { |
| 152 try { | 152 try { |
| 153 return _completeRequest($dom_update(value)); | 153 return _completeRequest($dom_update(value)); |
| 154 } catch (e, stacktrace) { | 154 } catch (e, stacktrace) { |
| 155 return new Future.immediateError(e, stacktrace); | 155 return new Future.error(e, stacktrace); |
| 156 } | 156 } |
| 157 } | 157 } |
| 158 | 158 |
| 159 | 159 |
| 160 @DomName('IDBCursor.direction') | 160 @DomName('IDBCursor.direction') |
| 161 @DocsEditable | 161 @DocsEditable |
| 162 final String direction; | 162 final String direction; |
| 163 | 163 |
| 164 @DomName('IDBCursor.key') | 164 @DomName('IDBCursor.key') |
| 165 @DocsEditable | 165 @DocsEditable |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 '!!(window.indexedDB || ' | 360 '!!(window.indexedDB || ' |
| 361 'window.webkitIndexedDB || ' | 361 'window.webkitIndexedDB || ' |
| 362 'window.mozIndexedDB)'); | 362 'window.mozIndexedDB)'); |
| 363 } | 363 } |
| 364 | 364 |
| 365 @DomName('IDBFactory.open') | 365 @DomName('IDBFactory.open') |
| 366 Future<Database> open(String name, | 366 Future<Database> open(String name, |
| 367 {int version, void onUpgradeNeeded(VersionChangeEvent), | 367 {int version, void onUpgradeNeeded(VersionChangeEvent), |
| 368 void onBlocked(Event)}) { | 368 void onBlocked(Event)}) { |
| 369 if ((version == null) != (onUpgradeNeeded == null)) { | 369 if ((version == null) != (onUpgradeNeeded == null)) { |
| 370 return new Future.immediateError(new ArgumentError( | 370 return new Future.error(new ArgumentError( |
| 371 'version and onUpgradeNeeded must be specified together')); | 371 'version and onUpgradeNeeded must be specified together')); |
| 372 } | 372 } |
| 373 try { | 373 try { |
| 374 var request; | 374 var request; |
| 375 if (version != null) { | 375 if (version != null) { |
| 376 request = $dom_open(name, version); | 376 request = $dom_open(name, version); |
| 377 } else { | 377 } else { |
| 378 request = $dom_open(name); | 378 request = $dom_open(name); |
| 379 } | 379 } |
| 380 | 380 |
| 381 if (onUpgradeNeeded != null) { | 381 if (onUpgradeNeeded != null) { |
| 382 request.onUpgradeNeeded.listen(onUpgradeNeeded); | 382 request.onUpgradeNeeded.listen(onUpgradeNeeded); |
| 383 } | 383 } |
| 384 if (onBlocked != null) { | 384 if (onBlocked != null) { |
| 385 request.onBlocked.listen(onBlocked); | 385 request.onBlocked.listen(onBlocked); |
| 386 } | 386 } |
| 387 return _completeRequest(request); | 387 return _completeRequest(request); |
| 388 } catch (e, stacktrace) { | 388 } catch (e, stacktrace) { |
| 389 return new Future.immediateError(e, stacktrace); | 389 return new Future.error(e, stacktrace); |
| 390 } | 390 } |
| 391 } | 391 } |
| 392 | 392 |
| 393 @DomName('IDBFactory.deleteDatabase') | 393 @DomName('IDBFactory.deleteDatabase') |
| 394 Future<IdbFactory> deleteDatabase(String name, | 394 Future<IdbFactory> deleteDatabase(String name, |
| 395 {void onBlocked(Event)}) { | 395 {void onBlocked(Event)}) { |
| 396 try { | 396 try { |
| 397 var request = $dom_deleteDatabase(name); | 397 var request = $dom_deleteDatabase(name); |
| 398 | 398 |
| 399 if (onBlocked != null) { | 399 if (onBlocked != null) { |
| 400 request.onBlocked.listen(onBlocked); | 400 request.onBlocked.listen(onBlocked); |
| 401 } | 401 } |
| 402 return _completeRequest(request); | 402 return _completeRequest(request); |
| 403 } catch (e, stacktrace) { | 403 } catch (e, stacktrace) { |
| 404 return new Future.immediateError(e, stacktrace); | 404 return new Future.error(e, stacktrace); |
| 405 } | 405 } |
| 406 } | 406 } |
| 407 | 407 |
| 408 @DomName('IDBFactory.getDatabaseNames') | 408 @DomName('IDBFactory.getDatabaseNames') |
| 409 @SupportedBrowser(SupportedBrowser.CHROME) | 409 @SupportedBrowser(SupportedBrowser.CHROME) |
| 410 @Experimental | 410 @Experimental |
| 411 Future<List<String>> getDatabaseNames() { | 411 Future<List<String>> getDatabaseNames() { |
| 412 try { | 412 try { |
| 413 var request = $dom_webkitGetDatabaseNames(); | 413 var request = $dom_webkitGetDatabaseNames(); |
| 414 | 414 |
| 415 return _completeRequest(request); | 415 return _completeRequest(request); |
| 416 } catch (e, stacktrace) { | 416 } catch (e, stacktrace) { |
| 417 return new Future.immediateError(e, stacktrace); | 417 return new Future.error(e, stacktrace); |
| 418 } | 418 } |
| 419 } | 419 } |
| 420 | 420 |
| 421 /** | 421 /** |
| 422 * Checks to see if getDatabaseNames is supported by the current platform. | 422 * Checks to see if getDatabaseNames is supported by the current platform. |
| 423 */ | 423 */ |
| 424 bool get supportsDatabaseNames { | 424 bool get supportsDatabaseNames { |
| 425 return supported && JS('bool', | 425 return supported && JS('bool', |
| 426 '!!(#.getDatabaseNames || #.webkitGetDatabaseNames)', this, this); | 426 '!!(#.getDatabaseNames || #.webkitGetDatabaseNames)', this, this); |
| 427 } | 427 } |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 Future<int> count([key_OR_range]) { | 485 Future<int> count([key_OR_range]) { |
| 486 try { | 486 try { |
| 487 var request; | 487 var request; |
| 488 if (key_OR_range != null) { | 488 if (key_OR_range != null) { |
| 489 request = $dom_count(key_OR_range); | 489 request = $dom_count(key_OR_range); |
| 490 } else { | 490 } else { |
| 491 request = $dom_count(); | 491 request = $dom_count(); |
| 492 } | 492 } |
| 493 return _completeRequest(request); | 493 return _completeRequest(request); |
| 494 } catch (e, stacktrace) { | 494 } catch (e, stacktrace) { |
| 495 return new Future.immediateError(e, stacktrace); | 495 return new Future.error(e, stacktrace); |
| 496 } | 496 } |
| 497 } | 497 } |
| 498 | 498 |
| 499 @DomName('IDBIndex.get') | 499 @DomName('IDBIndex.get') |
| 500 Future get(key) { | 500 Future get(key) { |
| 501 try { | 501 try { |
| 502 var request = $dom_get(key); | 502 var request = $dom_get(key); |
| 503 | 503 |
| 504 return _completeRequest(request); | 504 return _completeRequest(request); |
| 505 } catch (e, stacktrace) { | 505 } catch (e, stacktrace) { |
| 506 return new Future.immediateError(e, stacktrace); | 506 return new Future.error(e, stacktrace); |
| 507 } | 507 } |
| 508 } | 508 } |
| 509 | 509 |
| 510 @DomName('IDBIndex.getKey') | 510 @DomName('IDBIndex.getKey') |
| 511 Future getKey(key) { | 511 Future getKey(key) { |
| 512 try { | 512 try { |
| 513 var request = $dom_getKey(key); | 513 var request = $dom_getKey(key); |
| 514 | 514 |
| 515 return _completeRequest(request); | 515 return _completeRequest(request); |
| 516 } catch (e, stacktrace) { | 516 } catch (e, stacktrace) { |
| 517 return new Future.immediateError(e, stacktrace); | 517 return new Future.error(e, stacktrace); |
| 518 } | 518 } |
| 519 } | 519 } |
| 520 | 520 |
| 521 /** | 521 /** |
| 522 * Creates a stream of cursors over the records in this object store. | 522 * Creates a stream of cursors over the records in this object store. |
| 523 * | 523 * |
| 524 * See also: | 524 * See also: |
| 525 * | 525 * |
| 526 * * [ObjectStore.openCursor] | 526 * * [ObjectStore.openCursor] |
| 527 */ | 527 */ |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 707 Future add(value, [key]) { | 707 Future add(value, [key]) { |
| 708 try { | 708 try { |
| 709 var request; | 709 var request; |
| 710 if (key != null) { | 710 if (key != null) { |
| 711 request = $dom_add(value, key); | 711 request = $dom_add(value, key); |
| 712 } else { | 712 } else { |
| 713 request = $dom_add(value); | 713 request = $dom_add(value); |
| 714 } | 714 } |
| 715 return _completeRequest(request); | 715 return _completeRequest(request); |
| 716 } catch (e, stacktrace) { | 716 } catch (e, stacktrace) { |
| 717 return new Future.immediateError(e, stacktrace); | 717 return new Future.error(e, stacktrace); |
| 718 } | 718 } |
| 719 } | 719 } |
| 720 | 720 |
| 721 @DomName('IDBObjectStore.clear') | 721 @DomName('IDBObjectStore.clear') |
| 722 Future clear() { | 722 Future clear() { |
| 723 try { | 723 try { |
| 724 return _completeRequest($dom_clear()); | 724 return _completeRequest($dom_clear()); |
| 725 } catch (e, stacktrace) { | 725 } catch (e, stacktrace) { |
| 726 return new Future.immediateError(e, stacktrace); | 726 return new Future.error(e, stacktrace); |
| 727 } | 727 } |
| 728 } | 728 } |
| 729 | 729 |
| 730 @DomName('IDBObjectStore.delete') | 730 @DomName('IDBObjectStore.delete') |
| 731 Future delete(key_OR_keyRange){ | 731 Future delete(key_OR_keyRange){ |
| 732 try { | 732 try { |
| 733 return _completeRequest($dom_delete(key_OR_keyRange)); | 733 return _completeRequest($dom_delete(key_OR_keyRange)); |
| 734 } catch (e, stacktrace) { | 734 } catch (e, stacktrace) { |
| 735 return new Future.immediateError(e, stacktrace); | 735 return new Future.error(e, stacktrace); |
| 736 } | 736 } |
| 737 } | 737 } |
| 738 | 738 |
| 739 @DomName('IDBObjectStore.count') | 739 @DomName('IDBObjectStore.count') |
| 740 Future<int> count([key_OR_range]) { | 740 Future<int> count([key_OR_range]) { |
| 741 try { | 741 try { |
| 742 var request; | 742 var request; |
| 743 if (key_OR_range != null) { | 743 if (key_OR_range != null) { |
| 744 request = $dom_count(key_OR_range); | 744 request = $dom_count(key_OR_range); |
| 745 } else { | 745 } else { |
| 746 request = $dom_count(); | 746 request = $dom_count(); |
| 747 } | 747 } |
| 748 return _completeRequest(request); | 748 return _completeRequest(request); |
| 749 } catch (e, stacktrace) { | 749 } catch (e, stacktrace) { |
| 750 return new Future.immediateError(e, stacktrace); | 750 return new Future.error(e, stacktrace); |
| 751 } | 751 } |
| 752 } | 752 } |
| 753 | 753 |
| 754 @DomName('IDBObjectStore.put') | 754 @DomName('IDBObjectStore.put') |
| 755 Future put(value, [key]) { | 755 Future put(value, [key]) { |
| 756 try { | 756 try { |
| 757 var request; | 757 var request; |
| 758 if (key != null) { | 758 if (key != null) { |
| 759 request = $dom_put(value, key); | 759 request = $dom_put(value, key); |
| 760 } else { | 760 } else { |
| 761 request = $dom_put(value); | 761 request = $dom_put(value); |
| 762 } | 762 } |
| 763 return _completeRequest(request); | 763 return _completeRequest(request); |
| 764 } catch (e, stacktrace) { | 764 } catch (e, stacktrace) { |
| 765 return new Future.immediateError(e, stacktrace); | 765 return new Future.error(e, stacktrace); |
| 766 } | 766 } |
| 767 } | 767 } |
| 768 | 768 |
| 769 @DomName('IDBObjectStore.get') | 769 @DomName('IDBObjectStore.get') |
| 770 Future getObject(key) { | 770 Future getObject(key) { |
| 771 try { | 771 try { |
| 772 var request = $dom_get(key); | 772 var request = $dom_get(key); |
| 773 | 773 |
| 774 return _completeRequest(request); | 774 return _completeRequest(request); |
| 775 } catch (e, stacktrace) { | 775 } catch (e, stacktrace) { |
| 776 return new Future.immediateError(e, stacktrace); | 776 return new Future.error(e, stacktrace); |
| 777 } | 777 } |
| 778 } | 778 } |
| 779 | 779 |
| 780 /** | 780 /** |
| 781 * Creates a stream of cursors over the records in this object store. | 781 * Creates a stream of cursors over the records in this object store. |
| 782 * | 782 * |
| 783 * **The stream must be manually advanced by calling [Cursor.next] after | 783 * **The stream must be manually advanced by calling [Cursor.next] after |
| 784 * each item or by specifying autoAdvance to be true.** | 784 * each item or by specifying autoAdvance to be true.** |
| 785 * | 785 * |
| 786 * var cursors = objectStore.openCursor().listen( | 786 * var cursors = objectStore.openCursor().listen( |
| (...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1238 } | 1238 } |
| 1239 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1239 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 1240 // for details. All rights reserved. Use of this source code is governed by a | 1240 // for details. All rights reserved. Use of this source code is governed by a |
| 1241 // BSD-style license that can be found in the LICENSE file. | 1241 // BSD-style license that can be found in the LICENSE file. |
| 1242 | 1242 |
| 1243 | 1243 |
| 1244 @DocsEditable | 1244 @DocsEditable |
| 1245 @DomName('IDBAny') | 1245 @DomName('IDBAny') |
| 1246 abstract class _IDBAny native "*IDBAny" { | 1246 abstract class _IDBAny native "*IDBAny" { |
| 1247 } | 1247 } |
| OLD | NEW |