summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webstoragenamespace_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/renderer_webstoragenamespace_impl.h')
-rw-r--r--chrome/renderer/renderer_webstoragenamespace_impl.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webstoragenamespace_impl.h b/chrome/renderer/renderer_webstoragenamespace_impl.h
new file mode 100644
index 0000000..7478a67
--- /dev/null
+++ b/chrome/renderer/renderer_webstoragenamespace_impl.h
@@ -0,0 +1,35 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
+// source code is governed by a BSD-style license that can be found in the
+// LICENSE file.
+
+#ifndef CHROME_RENDERER_RENDERER_WEBSTORAGENAMESPACE_IMPL_H_
+#define CHROME_RENDERER_RENDERER_WEBSTORAGENAMESPACE_IMPL_H_
+
+#include "base/basictypes.h"
+#include "webkit/api/public/WebStorageNamespace.h"
+
+class RendererWebStorageNamespaceImpl : public WebKit::WebStorageNamespace {
+ public:
+ explicit RendererWebStorageNamespaceImpl(bool is_local_storage);
+ RendererWebStorageNamespaceImpl(bool is_local_storage, int64 namespace_id);
+
+ // See WebStorageNamespace.h for documentation on these functions.
+ virtual ~RendererWebStorageNamespaceImpl();
+ virtual WebKit::WebStorageArea* createStorageArea(
+ const WebKit::WebString& origin);
+ virtual WebKit::WebStorageNamespace* copy();
+ virtual void close();
+
+ private:
+ // Are we local storage (as opposed to session storage). Used during lazy
+ // initialization of namespace_id_.
+ bool is_local_storage_;
+
+ // Our namespace ID. Lazily initialized.
+ int64 namespace_id_;
+
+ // namespace_id_ should equal this iff its unitialized.
+ static const int64 kUninitializedNamespaceId = -1;
+};
+
+#endif // CHROME_RENDERER_WEBSTORAGENAMESPACE_IMPL_H_