| OLD | NEW | 
|---|
| 1 /** | 1 /** | 
| 2  * A client-side key-value store with support for indexes. | 2  * A client-side key-value store with support for indexes. | 
| 3  * | 3  * | 
| 4  * Many browsers support IndexedDB—a web standard for | 4  * Many browsers support IndexedDB—a web standard for | 
| 5  * an indexed database. | 5  * an indexed database. | 
| 6  * By storing data on the client in an IndexedDB, | 6  * By storing data on the client in an IndexedDB, | 
| 7  * a web app gets some advantages, such as faster performance and persistence. | 7  * a web app gets some advantages, such as faster performance and persistence. | 
| 8  * To find out which browsers support IndexedDB, | 8  * To find out which browsers support IndexedDB, | 
| 9  * refer to [Can I Use?](http://caniuse.com/#feat=indexeddb) | 9  * refer to [Can I Use?](http://caniuse.com/#feat=indexeddb) | 
| 10  * | 10  * | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 70  * [IndexedDB reference](http://docs.webplatform.org/wiki/apis/indexeddb) | 70  * [IndexedDB reference](http://docs.webplatform.org/wiki/apis/indexeddb) | 
| 71  * provides wiki-style docs about indexedDB | 71  * provides wiki-style docs about indexedDB | 
| 72  */ | 72  */ | 
| 73 library dart.dom.indexed_db; | 73 library dart.dom.indexed_db; | 
| 74 | 74 | 
| 75 import 'dart:async'; | 75 import 'dart:async'; | 
| 76 import 'dart:html'; | 76 import 'dart:html'; | 
| 77 import 'dart:html_common'; | 77 import 'dart:html_common'; | 
| 78 import 'dart:_native_typed_data'; | 78 import 'dart:_native_typed_data'; | 
| 79 import 'dart:typed_data'; | 79 import 'dart:typed_data'; | 
| 80 import 'dart:_js_helper' show Creates, Returns, JSName, Null; | 80 import 'dart:_js_helper' show Creates, Returns, JSName, Native, Null; | 
| 81 import 'dart:_foreign_helper' show JS; | 81 import 'dart:_foreign_helper' show JS; | 
| 82 import 'dart:_interceptors' show Interceptor, JSExtendableArray; | 82 import 'dart:_interceptors' show Interceptor, JSExtendableArray; | 
| 83 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 83 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 84 // for details. All rights reserved. Use of this source code is governed by a | 84 // for details. All rights reserved. Use of this source code is governed by a | 
| 85 // BSD-style license that can be found in the LICENSE file. | 85 // BSD-style license that can be found in the LICENSE file. | 
| 86 | 86 | 
| 87 // DO NOT EDIT - unless you are editing documentation as per: | 87 // DO NOT EDIT - unless you are editing documentation as per: | 
| 88 // https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation | 88 // https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation | 
| 89 // Auto-generated dart:svg library. | 89 // Auto-generated dart:svg library. | 
| 90 | 90 | 
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 206 const String _idbKey = 'JSExtendableArray|=Object|num|String'; | 206 const String _idbKey = 'JSExtendableArray|=Object|num|String'; | 
| 207 const _annotation_Creates_IDBKey = const Creates(_idbKey); | 207 const _annotation_Creates_IDBKey = const Creates(_idbKey); | 
| 208 const _annotation_Returns_IDBKey = const Returns(_idbKey); | 208 const _annotation_Returns_IDBKey = const Returns(_idbKey); | 
| 209 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 209 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 210 // for details. All rights reserved. Use of this source code is governed by a | 210 // for details. All rights reserved. Use of this source code is governed by a | 
| 211 // BSD-style license that can be found in the LICENSE file. | 211 // BSD-style license that can be found in the LICENSE file. | 
| 212 | 212 | 
| 213 | 213 | 
| 214 @DomName('IDBCursor') | 214 @DomName('IDBCursor') | 
| 215 @Unstable() | 215 @Unstable() | 
| 216 class Cursor extends Interceptor native "IDBCursor" { | 216 @Native("IDBCursor") | 
|  | 217 class Cursor extends Interceptor { | 
| 217   @DomName('IDBCursor.delete') | 218   @DomName('IDBCursor.delete') | 
| 218   Future delete() { | 219   Future delete() { | 
| 219    try { | 220    try { | 
| 220       return _completeRequest(_delete()); | 221       return _completeRequest(_delete()); | 
| 221     } catch (e, stacktrace) { | 222     } catch (e, stacktrace) { | 
| 222       return new Future.error(e, stacktrace); | 223       return new Future.error(e, stacktrace); | 
| 223     } | 224     } | 
| 224   } | 225   } | 
| 225 | 226 | 
| 226   @DomName('IDBCursor.value') | 227   @DomName('IDBCursor.value') | 
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 293 | 294 | 
| 294 } | 295 } | 
| 295 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 296 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 296 // for details. All rights reserved. Use of this source code is governed by a | 297 // for details. All rights reserved. Use of this source code is governed by a | 
| 297 // BSD-style license that can be found in the LICENSE file. | 298 // BSD-style license that can be found in the LICENSE file. | 
| 298 | 299 | 
| 299 | 300 | 
| 300 @DocsEditable() | 301 @DocsEditable() | 
| 301 @DomName('IDBCursorWithValue') | 302 @DomName('IDBCursorWithValue') | 
| 302 @Unstable() | 303 @Unstable() | 
| 303 class CursorWithValue extends Cursor native "IDBCursorWithValue" { | 304 @Native("IDBCursorWithValue") | 
|  | 305 class CursorWithValue extends Cursor { | 
| 304   // To suppress missing implicit constructor warnings. | 306   // To suppress missing implicit constructor warnings. | 
| 305   factory CursorWithValue._() { throw new UnsupportedError("Not supported"); } | 307   factory CursorWithValue._() { throw new UnsupportedError("Not supported"); } | 
| 306 | 308 | 
| 307   @DomName('IDBCursorWithValue.value') | 309   @DomName('IDBCursorWithValue.value') | 
| 308   @DocsEditable() | 310   @DocsEditable() | 
| 309   dynamic get value => _convertNativeToDart_IDBAny(this._get_value); | 311   dynamic get value => _convertNativeToDart_IDBAny(this._get_value); | 
| 310   @JSName('value') | 312   @JSName('value') | 
| 311   @DomName('IDBCursorWithValue.value') | 313   @DomName('IDBCursorWithValue.value') | 
| 312   @DocsEditable() | 314   @DocsEditable() | 
| 313   @annotation_Creates_SerializedScriptValue | 315   @annotation_Creates_SerializedScriptValue | 
| 314   @annotation_Returns_SerializedScriptValue | 316   @annotation_Returns_SerializedScriptValue | 
| 315   final dynamic _get_value; | 317   final dynamic _get_value; | 
| 316 } | 318 } | 
| 317 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 319 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 318 // for details. All rights reserved. Use of this source code is governed by a | 320 // for details. All rights reserved. Use of this source code is governed by a | 
| 319 // BSD-style license that can be found in the LICENSE file. | 321 // BSD-style license that can be found in the LICENSE file. | 
| 320 | 322 | 
| 321 | 323 | 
| 322 @DocsEditable() | 324 @DocsEditable() | 
| 323 /** | 325 /** | 
| 324  * An indexed database object for storing client-side data | 326  * An indexed database object for storing client-side data | 
| 325  * in web apps. | 327  * in web apps. | 
| 326  */ | 328  */ | 
| 327 @DomName('IDBDatabase') | 329 @DomName('IDBDatabase') | 
| 328 @SupportedBrowser(SupportedBrowser.CHROME) | 330 @SupportedBrowser(SupportedBrowser.CHROME) | 
| 329 @SupportedBrowser(SupportedBrowser.FIREFOX, '15') | 331 @SupportedBrowser(SupportedBrowser.FIREFOX, '15') | 
| 330 @SupportedBrowser(SupportedBrowser.IE, '10') | 332 @SupportedBrowser(SupportedBrowser.IE, '10') | 
| 331 @Experimental() | 333 @Experimental() | 
| 332 @Unstable() | 334 @Unstable() | 
| 333 class Database extends EventTarget native "IDBDatabase" { | 335 @Native("IDBDatabase") | 
|  | 336 class Database extends EventTarget { | 
| 334   @DomName('IDBDatabase.createObjectStore') | 337   @DomName('IDBDatabase.createObjectStore') | 
| 335   @DocsEditable() | 338   @DocsEditable() | 
| 336   ObjectStore createObjectStore(String name, | 339   ObjectStore createObjectStore(String name, | 
| 337       {String keyPath, bool autoIncrement}) { | 340       {String keyPath, bool autoIncrement}) { | 
| 338     var options = {}; | 341     var options = {}; | 
| 339     if (keyPath != null) { | 342     if (keyPath != null) { | 
| 340       options['keyPath'] = keyPath; | 343       options['keyPath'] = keyPath; | 
| 341     } | 344     } | 
| 342     if (autoIncrement != null) { | 345     if (autoIncrement != null) { | 
| 343       options['autoIncrement'] = autoIncrement; | 346       options['autoIncrement'] = autoIncrement; | 
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 501 // for details. All rights reserved. Use of this source code is governed by a | 504 // for details. All rights reserved. Use of this source code is governed by a | 
| 502 // BSD-style license that can be found in the LICENSE file. | 505 // BSD-style license that can be found in the LICENSE file. | 
| 503 | 506 | 
| 504 | 507 | 
| 505 @DomName('IDBFactory') | 508 @DomName('IDBFactory') | 
| 506 @SupportedBrowser(SupportedBrowser.CHROME) | 509 @SupportedBrowser(SupportedBrowser.CHROME) | 
| 507 @SupportedBrowser(SupportedBrowser.FIREFOX, '15') | 510 @SupportedBrowser(SupportedBrowser.FIREFOX, '15') | 
| 508 @SupportedBrowser(SupportedBrowser.IE, '10') | 511 @SupportedBrowser(SupportedBrowser.IE, '10') | 
| 509 @Experimental() | 512 @Experimental() | 
| 510 @Unstable() | 513 @Unstable() | 
| 511 class IdbFactory extends Interceptor native "IDBFactory" { | 514 @Native("IDBFactory") | 
|  | 515 class IdbFactory extends Interceptor { | 
| 512   /** | 516   /** | 
| 513    * Checks to see if Indexed DB is supported on the current platform. | 517    * Checks to see if Indexed DB is supported on the current platform. | 
| 514    */ | 518    */ | 
| 515   static bool get supported { | 519   static bool get supported { | 
| 516     return JS('bool', | 520     return JS('bool', | 
| 517         '!!(window.indexedDB || ' | 521         '!!(window.indexedDB || ' | 
| 518         'window.webkitIndexedDB || ' | 522         'window.webkitIndexedDB || ' | 
| 519         'window.mozIndexedDB)'); | 523         'window.mozIndexedDB)'); | 
| 520   } | 524   } | 
| 521 | 525 | 
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 636   request.onError.listen(completer.completeError); | 640   request.onError.listen(completer.completeError); | 
| 637   return completer.future; | 641   return completer.future; | 
| 638 } | 642 } | 
| 639 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 643 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 640 // for details. All rights reserved. Use of this source code is governed by a | 644 // for details. All rights reserved. Use of this source code is governed by a | 
| 641 // BSD-style license that can be found in the LICENSE file. | 645 // BSD-style license that can be found in the LICENSE file. | 
| 642 | 646 | 
| 643 | 647 | 
| 644 @DomName('IDBIndex') | 648 @DomName('IDBIndex') | 
| 645 @Unstable() | 649 @Unstable() | 
| 646 class Index extends Interceptor native "IDBIndex" { | 650 @Native("IDBIndex") | 
|  | 651 class Index extends Interceptor { | 
| 647   @DomName('IDBIndex.count') | 652   @DomName('IDBIndex.count') | 
| 648   Future<int> count([key_OR_range]) { | 653   Future<int> count([key_OR_range]) { | 
| 649    try { | 654    try { | 
| 650       var request = _count(key_OR_range); | 655       var request = _count(key_OR_range); | 
| 651       return _completeRequest(request); | 656       return _completeRequest(request); | 
| 652     } catch (e, stacktrace) { | 657     } catch (e, stacktrace) { | 
| 653       return new Future.error(e, stacktrace); | 658       return new Future.error(e, stacktrace); | 
| 654     } | 659     } | 
| 655   } | 660   } | 
| 656 | 661 | 
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 793   Request _openKeyCursor(Object key, [String direction]) native; | 798   Request _openKeyCursor(Object key, [String direction]) native; | 
| 794 | 799 | 
| 795 } | 800 } | 
| 796 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 801 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 797 // for details. All rights reserved. Use of this source code is governed by a | 802 // for details. All rights reserved. Use of this source code is governed by a | 
| 798 // BSD-style license that can be found in the LICENSE file. | 803 // BSD-style license that can be found in the LICENSE file. | 
| 799 | 804 | 
| 800 | 805 | 
| 801 @DomName('IDBKeyRange') | 806 @DomName('IDBKeyRange') | 
| 802 @Unstable() | 807 @Unstable() | 
| 803 class KeyRange extends Interceptor native "IDBKeyRange" { | 808 @Native("IDBKeyRange") | 
|  | 809 class KeyRange extends Interceptor { | 
| 804   @DomName('IDBKeyRange.only') | 810   @DomName('IDBKeyRange.only') | 
| 805   factory KeyRange.only(/*Key*/ value) => | 811   factory KeyRange.only(/*Key*/ value) => | 
| 806       _KeyRangeFactoryProvider.createKeyRange_only(value); | 812       _KeyRangeFactoryProvider.createKeyRange_only(value); | 
| 807 | 813 | 
| 808   @DomName('IDBKeyRange.lowerBound') | 814   @DomName('IDBKeyRange.lowerBound') | 
| 809   factory KeyRange.lowerBound(/*Key*/ bound, [bool open = false]) => | 815   factory KeyRange.lowerBound(/*Key*/ bound, [bool open = false]) => | 
| 810       _KeyRangeFactoryProvider.createKeyRange_lowerBound(bound, open); | 816       _KeyRangeFactoryProvider.createKeyRange_lowerBound(bound, open); | 
| 811 | 817 | 
| 812   @DomName('IDBKeyRange.upperBound') | 818   @DomName('IDBKeyRange.upperBound') | 
| 813   factory KeyRange.upperBound(/*Key*/ bound, [bool open = false]) => | 819   factory KeyRange.upperBound(/*Key*/ bound, [bool open = false]) => | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 861   static KeyRange upperBound_(Object bound, [bool open]) native; | 867   static KeyRange upperBound_(Object bound, [bool open]) native; | 
| 862 | 868 | 
| 863 } | 869 } | 
| 864 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 870 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 865 // for details. All rights reserved. Use of this source code is governed by a | 871 // for details. All rights reserved. Use of this source code is governed by a | 
| 866 // BSD-style license that can be found in the LICENSE file. | 872 // BSD-style license that can be found in the LICENSE file. | 
| 867 | 873 | 
| 868 | 874 | 
| 869 @DomName('IDBObjectStore') | 875 @DomName('IDBObjectStore') | 
| 870 @Unstable() | 876 @Unstable() | 
| 871 class ObjectStore extends Interceptor native "IDBObjectStore" { | 877 @Native("IDBObjectStore") | 
|  | 878 class ObjectStore extends Interceptor { | 
| 872 | 879 | 
| 873   @DomName('IDBObjectStore.add') | 880   @DomName('IDBObjectStore.add') | 
| 874   Future add(value, [key]) { | 881   Future add(value, [key]) { | 
| 875     try { | 882     try { | 
| 876       var request; | 883       var request; | 
| 877       if (key != null) { | 884       if (key != null) { | 
| 878         request = _add(value, key); | 885         request = _add(value, key); | 
| 879       } else { | 886       } else { | 
| 880         request = _add(value); | 887         request = _add(value); | 
| 881       } | 888       } | 
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1191   } | 1198   } | 
| 1192 } | 1199 } | 
| 1193 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1200 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 1194 // for details. All rights reserved. Use of this source code is governed by a | 1201 // for details. All rights reserved. Use of this source code is governed by a | 
| 1195 // BSD-style license that can be found in the LICENSE file. | 1202 // BSD-style license that can be found in the LICENSE file. | 
| 1196 | 1203 | 
| 1197 | 1204 | 
| 1198 @DocsEditable() | 1205 @DocsEditable() | 
| 1199 @DomName('IDBOpenDBRequest') | 1206 @DomName('IDBOpenDBRequest') | 
| 1200 @Unstable() | 1207 @Unstable() | 
| 1201 class OpenDBRequest extends Request native "IDBOpenDBRequest,IDBVersionChangeReq
      uest" { | 1208 @Native("IDBOpenDBRequest,IDBVersionChangeRequest") | 
|  | 1209 class OpenDBRequest extends Request { | 
| 1202   // To suppress missing implicit constructor warnings. | 1210   // To suppress missing implicit constructor warnings. | 
| 1203   factory OpenDBRequest._() { throw new UnsupportedError("Not supported"); } | 1211   factory OpenDBRequest._() { throw new UnsupportedError("Not supported"); } | 
| 1204 | 1212 | 
| 1205   /** | 1213   /** | 
| 1206    * Static factory designed to expose `blocked` events to event | 1214    * Static factory designed to expose `blocked` events to event | 
| 1207    * handlers that are not necessarily instances of [OpenDBRequest]. | 1215    * handlers that are not necessarily instances of [OpenDBRequest]. | 
| 1208    * | 1216    * | 
| 1209    * See [EventStreamProvider] for usage information. | 1217    * See [EventStreamProvider] for usage information. | 
| 1210    */ | 1218    */ | 
| 1211   @DomName('IDBOpenDBRequest.blockedEvent') | 1219   @DomName('IDBOpenDBRequest.blockedEvent') | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 1233   Stream<VersionChangeEvent> get onUpgradeNeeded => upgradeNeededEvent.forTarget
      (this); | 1241   Stream<VersionChangeEvent> get onUpgradeNeeded => upgradeNeededEvent.forTarget
      (this); | 
| 1234 } | 1242 } | 
| 1235 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1243 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 1236 // for details. All rights reserved. Use of this source code is governed by a | 1244 // for details. All rights reserved. Use of this source code is governed by a | 
| 1237 // BSD-style license that can be found in the LICENSE file. | 1245 // BSD-style license that can be found in the LICENSE file. | 
| 1238 | 1246 | 
| 1239 | 1247 | 
| 1240 @DocsEditable() | 1248 @DocsEditable() | 
| 1241 @DomName('IDBRequest') | 1249 @DomName('IDBRequest') | 
| 1242 @Unstable() | 1250 @Unstable() | 
| 1243 class Request extends EventTarget native "IDBRequest" { | 1251 @Native("IDBRequest") | 
|  | 1252 class Request extends EventTarget { | 
| 1244   // To suppress missing implicit constructor warnings. | 1253   // To suppress missing implicit constructor warnings. | 
| 1245   factory Request._() { throw new UnsupportedError("Not supported"); } | 1254   factory Request._() { throw new UnsupportedError("Not supported"); } | 
| 1246 | 1255 | 
| 1247   /** | 1256   /** | 
| 1248    * Static factory designed to expose `error` events to event | 1257    * Static factory designed to expose `error` events to event | 
| 1249    * handlers that are not necessarily instances of [Request]. | 1258    * handlers that are not necessarily instances of [Request]. | 
| 1250    * | 1259    * | 
| 1251    * See [EventStreamProvider] for usage information. | 1260    * See [EventStreamProvider] for usage information. | 
| 1252    */ | 1261    */ | 
| 1253   @DomName('IDBRequest.errorEvent') | 1262   @DomName('IDBRequest.errorEvent') | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1300   @DocsEditable() | 1309   @DocsEditable() | 
| 1301   Stream<Event> get onSuccess => successEvent.forTarget(this); | 1310   Stream<Event> get onSuccess => successEvent.forTarget(this); | 
| 1302 } | 1311 } | 
| 1303 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1312 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 1304 // for details. All rights reserved. Use of this source code is governed by a | 1313 // for details. All rights reserved. Use of this source code is governed by a | 
| 1305 // BSD-style license that can be found in the LICENSE file. | 1314 // BSD-style license that can be found in the LICENSE file. | 
| 1306 | 1315 | 
| 1307 | 1316 | 
| 1308 @DomName('IDBTransaction') | 1317 @DomName('IDBTransaction') | 
| 1309 @Unstable() | 1318 @Unstable() | 
| 1310 class Transaction extends EventTarget native "IDBTransaction" { | 1319 @Native("IDBTransaction") | 
|  | 1320 class Transaction extends EventTarget { | 
| 1311 | 1321 | 
| 1312   /** | 1322   /** | 
| 1313    * Provides a Future which will be completed once the transaction has | 1323    * Provides a Future which will be completed once the transaction has | 
| 1314    * completed. | 1324    * completed. | 
| 1315    * | 1325    * | 
| 1316    * The future will error if an error occurrs on the transaction or if the | 1326    * The future will error if an error occurrs on the transaction or if the | 
| 1317    * transaction is aborted. | 1327    * transaction is aborted. | 
| 1318    */ | 1328    */ | 
| 1319   Future<Database> get completed { | 1329   Future<Database> get completed { | 
| 1320     var completer = new Completer<Database>(); | 1330     var completer = new Completer<Database>(); | 
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1407 | 1417 | 
| 1408 } | 1418 } | 
| 1409 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1419 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 1410 // for details. All rights reserved. Use of this source code is governed by a | 1420 // for details. All rights reserved. Use of this source code is governed by a | 
| 1411 // BSD-style license that can be found in the LICENSE file. | 1421 // BSD-style license that can be found in the LICENSE file. | 
| 1412 | 1422 | 
| 1413 | 1423 | 
| 1414 @DocsEditable() | 1424 @DocsEditable() | 
| 1415 @DomName('IDBVersionChangeEvent') | 1425 @DomName('IDBVersionChangeEvent') | 
| 1416 @Unstable() | 1426 @Unstable() | 
| 1417 class VersionChangeEvent extends Event native "IDBVersionChangeEvent" { | 1427 @Native("IDBVersionChangeEvent") | 
|  | 1428 class VersionChangeEvent extends Event { | 
| 1418   // To suppress missing implicit constructor warnings. | 1429   // To suppress missing implicit constructor warnings. | 
| 1419   factory VersionChangeEvent._() { throw new UnsupportedError("Not supported"); 
      } | 1430   factory VersionChangeEvent._() { throw new UnsupportedError("Not supported"); 
      } | 
| 1420 | 1431 | 
| 1421   @DomName('IDBVersionChangeEvent.dataLoss') | 1432   @DomName('IDBVersionChangeEvent.dataLoss') | 
| 1422   @DocsEditable() | 1433   @DocsEditable() | 
| 1423   @Experimental() // untriaged | 1434   @Experimental() // untriaged | 
| 1424   final String dataLoss; | 1435   final String dataLoss; | 
| 1425 | 1436 | 
| 1426   @DomName('IDBVersionChangeEvent.dataLossMessage') | 1437   @DomName('IDBVersionChangeEvent.dataLossMessage') | 
| 1427   @DocsEditable() | 1438   @DocsEditable() | 
| 1428   @Experimental() // untriaged | 1439   @Experimental() // untriaged | 
| 1429   final String dataLossMessage; | 1440   final String dataLossMessage; | 
| 1430 | 1441 | 
| 1431   @DomName('IDBVersionChangeEvent.newVersion') | 1442   @DomName('IDBVersionChangeEvent.newVersion') | 
| 1432   @DocsEditable() | 1443   @DocsEditable() | 
| 1433   @Creates('int|String|Null') | 1444   @Creates('int|String|Null') | 
| 1434   @Returns('int|String|Null') | 1445   @Returns('int|String|Null') | 
| 1435   final Object newVersion; | 1446   final Object newVersion; | 
| 1436 | 1447 | 
| 1437   @DomName('IDBVersionChangeEvent.oldVersion') | 1448   @DomName('IDBVersionChangeEvent.oldVersion') | 
| 1438   @DocsEditable() | 1449   @DocsEditable() | 
| 1439   @Creates('int|String|Null') | 1450   @Creates('int|String|Null') | 
| 1440   @Returns('int|String|Null') | 1451   @Returns('int|String|Null') | 
| 1441   final Object oldVersion; | 1452   final Object oldVersion; | 
| 1442 } | 1453 } | 
| OLD | NEW | 
|---|