| 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 48140385e2f3d144fdddd2365c653e1e5f326b20..c149d8edb5c9654e0d3499b8ab98f60cbec2abb8 100644
|
| --- a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| +++ b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
|
| @@ -59,6 +59,23 @@ class _KeyRangeFactoryProvider {
|
| cls, lower, upper, lowerOpen, upperOpen);
|
| }
|
|
|
| +// Conversions for IDBKey.
|
| +//
|
| +// Per http://www.w3.org/TR/IndexedDB/#key-construct
|
| +//
|
| +// "A value is said to be a valid key if it is one of the following types: Array
|
| +// JavaScript objects [ECMA-262], DOMString [WEBIDL], Date [ECMA-262] or float
|
| +// [WEBIDL]. However Arrays are only valid keys if every item in the array is
|
| +// defined and is a valid key (i.e. sparse arrays can not be valid keys) and if
|
| +// the Array doesn't directly or indirectly contain itself. Any non-numeric
|
| +// properties are ignored, and thus does not affect whether the Array is a valid
|
| +// key. Additionally, if the value is of type float, it is only a valid key if
|
| +// it is not NaN, and if the value is of type Date it is only a valid key if its
|
| +// [[PrimitiveValue]] internal property, as defined by [ECMA-262], is not NaN."
|
| +
|
| +// What is required is to ensure that an Lists in the key are actually
|
| +// JavaScript arrays, and any Dates are JavaScript Dates.
|
| +
|
|
|
| /**
|
| * Converts a native IDBKey into a Dart object.
|
| @@ -247,7 +264,7 @@ class Database extends EventTarget native "*IDBDatabase" {
|
| final String name;
|
|
|
| /// @domName IDBDatabase.objectStoreNames; @docsEditable true
|
| - @Returns('_DOMStringList') @Creates('_DOMStringList')
|
| + @Returns('_DomStringList') @Creates('_DomStringList')
|
| final List<String> objectStoreNames;
|
|
|
| /// @domName IDBDatabase.version; @docsEditable true
|
| @@ -664,7 +681,7 @@ class ObjectStore native "*IDBObjectStore" {
|
| final bool autoIncrement;
|
|
|
| /// @domName IDBObjectStore.indexNames; @docsEditable true
|
| - @Returns('_DOMStringList') @Creates('_DOMStringList')
|
| + @Returns('_DomStringList') @Creates('_DomStringList')
|
| final List<String> indexNames;
|
|
|
| /// @domName IDBObjectStore.keyPath; @docsEditable true
|
| @@ -878,7 +895,7 @@ class Request extends EventTarget native "*IDBRequest" {
|
| new RequestEvents(this);
|
|
|
| /// @domName IDBRequest.error; @docsEditable true
|
| - final DOMError error;
|
| + final DomError error;
|
|
|
| /// @domName IDBRequest.errorCode; @docsEditable true
|
| final int errorCode;
|
| @@ -944,7 +961,7 @@ class Transaction extends EventTarget native "*IDBTransaction" {
|
| final Database db;
|
|
|
| /// @domName IDBTransaction.error; @docsEditable true
|
| - final DOMError error;
|
| + final DomError error;
|
|
|
| /// @domName IDBTransaction.mode; @docsEditable true
|
| final String mode;
|
|
|