Index: client/dom/templates/html/frog/impl_Storage.darttemplate |
diff --git a/client/dom/templates/html/frog/impl_Storage.darttemplate b/client/dom/templates/html/frog/impl_Storage.darttemplate |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a47d4b720a44c261172bd9d2e2d2aa510d37a7b2 |
--- /dev/null |
+++ b/client/dom/templates/html/frog/impl_Storage.darttemplate |
@@ -0,0 +1,29 @@ |
+// 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. |
+ |
+class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
+$!MEMBERS |
+ |
+ // Storage needs a special implementation of dartObjectLocalStorage since it |
+ // captures what would normally be an expando and places property in the |
+ // storage, stringifying the assigned value. |
+ |
+ var get dartObjectLocalStorage() native """ |
Jacob
2012/02/07 18:58:03
not needed for html
Jennifer Messerly
2012/02/07 21:05:14
Done. Also removed these form the DOMType interfac
|
+ if (this === window.localStorage) |
+ return window._dartLocalStorageLocalStorage; |
+ else if (this === window.sessionStorage) |
+ return window._dartSessionStorageLocalStorage; |
+ else |
+ throw new UnsupportedOperationException('Cannot dartObjectLocalStorage for unknown Storage object.'); |
+""" { throw new UnsupportedOperationException(''); } |
+ |
+ void set dartObjectLocalStorage(var value) native """ |
+ if (this === window.localStorage) |
+ window._dartLocalStorageLocalStorage = value; |
+ else if (this === window.sessionStorage) |
+ window._dartSessionStorageLocalStorage = value; |
+ else |
+ throw new UnsupportedOperationException('Cannot dartObjectLocalStorage for unknown Storage object.'); |
+""" { throw new UnsupportedOperationException(''); } |
+} |