| Index: sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| diff --git a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| index 44b179e74b25353297e8ab6613077a5b22a4b542..2e49b43ae9538cac160d646b54ceef551d0893bb 100644
|
| --- a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| +++ b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| @@ -1,3 +1,70 @@
|
| +/**
|
| + * A client-side key-value store with support for indexes.
|
| + *
|
| + * Many browsers support IndexedDB—a web standard for
|
| + * an indexed database.
|
| + * By storing data on the client in an IndexedDB,
|
| + * a web app gets some advantages, such as faster performance and persistence.
|
| + * To find out which browsers support IndexedDB,
|
| + * refer to [Can I Use?](http://caniuse.com/#feat=indexeddb)
|
| + *
|
| + * In IndexedDB, each record is identified by a unique index or key,
|
| + * making data retrieval speedy.
|
| + * You can store structured data,
|
| + * such as images, arrays, and maps using IndexedDB.
|
| + * The standard does not specify size limits for individual data items
|
| + * or for the database itself, but browsers may impose storage limits.
|
| + *
|
| + * ## Using indexed_db
|
| + *
|
| + * The classes in this library provide an interface
|
| + * to the browser's IndexedDB, if it has one.
|
| + * To use this library in your code:
|
| + *
|
| + * import 'dart:indexed_db';
|
| + *
|
| + * A web app can determine if the browser supports
|
| + * IndexedDB with [IdbFactory.supported]:
|
| + *
|
| + * if (IdbFactory.supported)
|
| + * // Use indexeddb.
|
| + * else
|
| + * // Find an alternative.
|
| + *
|
| + * Access to the browser's IndexedDB is provided by the app's top-level
|
| + * [Window] object, which your code can refer to with `window.indexedDB`.
|
| + * So, for example,
|
| + * to open an indexed database, you would write something like this:
|
| + *
|
| + * Future open() {
|
| + * return window.indexedDB.open('myIndexedDB',
|
| + * version: 1,
|
| + * onUpgradeNeeded: /* Initalize the database. */ )
|
| + * .then( /* Load data from the database. */ );
|
| + * }
|
| + *
|
| + * All data in an IndexedDB is stored within an [ObjectStore].
|
| + * To manipulate the database use [Transaction]s.
|
| + *
|
| + * ## Other resources
|
| + *
|
| + * Other client-side data stores include:
|
| + *
|
| + * * [Window.localStorage]—a
|
| + * basic mechanism in which data is stored as a [Map].
|
| + *
|
| + * * [dart:web_sql]—a database that can be queried with SQL.
|
| + *
|
| + * * The [Lawndart](http://pub.dartlang.org/packages/lawndart) package,
|
| + * which helps you deal with the wide array of client-side storage options.
|
| + *
|
| + * For a tutorial about using the indexed_db library with Dart,
|
| + * check out
|
| + * [Use IndexedDB](http://www.dartlang.org/docs/tutorials/indexeddb/).
|
| + *
|
| + * [IndexedDB reference](http://docs.webplatform.org/wiki/apis/indexeddb)
|
| + * provides wiki-style docs about indexedDB
|
| + */
|
| library dart.dom.indexed_db;
|
|
|
| import 'dart:async';
|
|
|