| Index: sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate
|
| diff --git a/sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate b/sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate
|
| index d55f7c7fdd752e039ed0bcbf86dc79ac76ffd5c7..53145eaca51b17224e837a35c1a4c914fb3e0e03 100644
|
| --- a/sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate
|
| +++ b/sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate
|
| @@ -58,6 +58,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.
|
|
|