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

Unified Diff: bindings/v8/custom/V8DOMWindowCustom.cpp

Issue 155477: Dom Storage (webkit side) (Closed) Base URL: http://svn.webkit.org/repository/webkit/trunk/WebCore/
Patch Set: Created 11 years, 5 months 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: bindings/v8/custom/V8DOMWindowCustom.cpp
===================================================================
--- bindings/v8/custom/V8DOMWindowCustom.cpp (revision 45738)
+++ bindings/v8/custom/V8DOMWindowCustom.cpp (working copy)
@@ -153,6 +153,47 @@
return jsEvent;
}
+#if ENABLE(DOM_STORAGE)
+static bool enableLocalStorage = false;
+static bool enableSessionStorage = false;
+
+void V8Custom::setEnableLocalStorage(bool setting)
+{
+ enableLocalStorage = setting;
+}
+
+void V8Custom::setEnableSessionStorage(bool setting)
+{
+ enableSessionStorage = setting;
+}
+
+ACCESSOR_GETTER(DOMWindowLocalStorage)
+{
+ INC_STATS("DOM.DOMWindow.localStorage._get");
+ if (!enableLocalStorage)
+ return v8::Undefined();
+ v8::Handle<v8::Object> holder = info.Holder();
+ DOMWindow* imp = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, holder);
+ Storage* storage = imp->localStorage();
+ if (!storage)
+ return v8::Undefined();
+ return V8DOMWrapper::convertToV8Object(V8ClassIndex::STORAGE, storage);
+}
+
+ACCESSOR_GETTER(DOMWindowSessionStorage)
+{
+ INC_STATS("DOM.DOMWindow.sessionStorage._get");
+ if (!enableSessionStorage)
+ return v8::Undefined();
+ v8::Handle<v8::Object> holder = info.Holder();
+ DOMWindow* imp = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, holder);
+ Storage* storage = imp->sessionStorage();
+ if (!storage)
+ return v8::Undefined();
+ return V8DOMWrapper::convertToV8Object(V8ClassIndex::STORAGE, storage);
+}
+#endif
+
ACCESSOR_GETTER(DOMWindowCrypto)
{
// FIXME: Implement me.

Powered by Google App Engine
This is Rietveld 408576698