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

Unified Diff: sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate

Issue 11419300: Dartifying dart:html type names. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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/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
new file mode 100644
index 0000000000000000000000000000000000000000..d55f7c7fdd752e039ed0bcbf86dc79ac76ffd5c7
--- /dev/null
+++ b/sdk/lib/html/templates/html/dart2js/indexed_db_dart2js.darttemplate
@@ -0,0 +1,111 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// DO NOT EDIT
+// Auto-generated dart:svg library.
+
+library indexed_db;
+
+import 'dart:html';
+import 'dart:html_common';
+
+$!GENERATED_DART_FILES
+
+class _KeyRangeFactoryProvider {
+
+ static KeyRange createKeyRange_only(/*Key*/ value) =>
+ _only(_class(), _translateKey(value));
+
+ static KeyRange createKeyRange_lowerBound(
+ /*Key*/ bound, [bool open = false]) =>
+ _lowerBound(_class(), _translateKey(bound), open);
+
+ static KeyRange createKeyRange_upperBound(
+ /*Key*/ bound, [bool open = false]) =>
+ _upperBound(_class(), _translateKey(bound), open);
+
+ static KeyRange createKeyRange_bound(/*Key*/ lower, /*Key*/ upper,
+ [bool lowerOpen = false, bool upperOpen = false]) =>
+ _bound(_class(), _translateKey(lower), _translateKey(upper),
+ lowerOpen, upperOpen);
+
+ static var _cachedClass;
+
+ static _class() {
+ if (_cachedClass != null) return _cachedClass;
+ return _cachedClass = _uncachedClass();
+ }
+
+ static _uncachedClass() =>
+ JS('var',
+ '''window.webkitIDBKeyRange || window.mozIDBKeyRange ||
+ window.msIDBKeyRange || window.IDBKeyRange''');
+
+ static _translateKey(idbkey) => idbkey; // TODO: fixme.
+
+ static KeyRange _only(cls, value) =>
+ JS('KeyRange', '#.only(#)', cls, value);
+
+ static KeyRange _lowerBound(cls, bound, open) =>
+ JS('KeyRange', '#.lowerBound(#, #)', cls, bound, open);
+
+ static KeyRange _upperBound(cls, bound, open) =>
+ JS('KeyRange', '#.upperBound(#, #)', cls, bound, open);
+
+ static KeyRange _bound(cls, lower, upper, lowerOpen, upperOpen) =>
+ JS('KeyRange', '#.bound(#, #, #, #)',
+ cls, lower, upper, lowerOpen, upperOpen);
+}
+
+
+/**
+ * Converts a native IDBKey into a Dart object.
+ *
+ * May return the original input. May mutate the original input (but will be
+ * idempotent if mutation occurs). It is assumed that this conversion happens
+ * on native IDBKeys on all paths that return IDBKeys from native DOM calls.
+ *
+ * If necessary, JavaScript Dates are converted into Dart Dates.
+ */
+_convertNativeToDart_IDBKey(nativeKey) {
+ containsDate(object) {
+ if (isJavaScriptDate(object)) return true;
+ if (object is List) {
+ for (int i = 0; i < object.length; i++) {
+ if (containsDate(object[i])) return true;
+ }
+ }
+ return false; // number, string.
+ }
+ if (containsDate(nativeKey)) {
+ throw new UnimplementedError('Key containing Date');
+ }
+ // TODO: Cache conversion somewhere?
+ return nativeKey;
+}
+
+/**
+ * Converts a Dart object into a valid IDBKey.
+ *
+ * May return the original input. Does not mutate input.
+ *
+ * If necessary, [dartKey] may be copied to ensure all lists are converted into
+ * JavaScript Arrays and Dart Dates into JavaScript Dates.
+ */
+_convertDartToNative_IDBKey(dartKey) {
+ // TODO: Implement.
+ return dartKey;
+}
+
+
+
+/// May modify original. If so, action is idempotent.
+_convertNativeToDart_IDBAny(object) {
+ return convertNativeToDart_AcceptStructuredClone(object, mustCopy: false);
+}
+
+
+const String _idbKey = '=List|=Object|num|String'; // TODO(sra): Add Date.
+const _annotation_Creates_IDBKey = const Creates(_idbKey);
+const _annotation_Returns_IDBKey = const Returns(_idbKey);

Powered by Google App Engine
This is Rietveld 408576698