Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Unified Diff: sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart

Issue 11419300: Dartifying dart:html type names. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Unminifying & fixing Stephen's feedback. Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
« no previous file with comments | « sdk/lib/html/templates/html/impl/impl_IDBKeyRange.darttemplate ('k') | sdk/lib/indexed_db/dartium/indexed_db_dartium.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698