summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webstoragenamespace_impl.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 04:50:34 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-15 04:50:34 +0000
commit4e6419cf5374adda16f97be965b8b7e5b225224f (patch)
tree594ced66460efaedf1071dd7468ba7012d0a6280 /chrome/renderer/renderer_webstoragenamespace_impl.cc
parentfc105849740379470c96501032e377668a2f5e7e (diff)
downloadchromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.zip
chromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.tar.gz
chromium_src-4e6419cf5374adda16f97be965b8b7e5b225224f.tar.bz2
Introduce all the plumbing for Session Storage. This mostly consists of creating and tracking namespace ids in conjunction with the tabs. This is essentially just a bunch of dead code at the moment, but the next patch will get rid of the old way of generating/cloning IDs (initiated by the renderer) and instead use these IDs.
TEST=none BUG=none Review URL: http://codereview.chromium.org/550017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webstoragenamespace_impl.cc')
-rw-r--r--chrome/renderer/renderer_webstoragenamespace_impl.cc20
1 files changed, 4 insertions, 16 deletions
diff --git a/chrome/renderer/renderer_webstoragenamespace_impl.cc b/chrome/renderer/renderer_webstoragenamespace_impl.cc
index 41a8c6c..7bd704f 100644
--- a/chrome/renderer/renderer_webstoragenamespace_impl.cc
+++ b/chrome/renderer/renderer_webstoragenamespace_impl.cc
@@ -14,15 +14,16 @@ using WebKit::WebString;
RendererWebStorageNamespaceImpl::RendererWebStorageNamespaceImpl(
DOMStorageType storage_type)
- : storage_type_(storage_type),
- namespace_id_(kUninitializedNamespaceId) {
+ : storage_type_(storage_type) {
+ RenderThread::current()->Send(
+ new ViewHostMsg_DOMStorageNamespaceId(storage_type_,
+ &namespace_id_));
}
RendererWebStorageNamespaceImpl::RendererWebStorageNamespaceImpl(
DOMStorageType storage_type, int64 namespace_id)
: storage_type_(storage_type),
namespace_id_(namespace_id) {
- DCHECK(namespace_id_ != kUninitializedNamespaceId);
}
RendererWebStorageNamespaceImpl::~RendererWebStorageNamespaceImpl() {
@@ -30,15 +31,6 @@ RendererWebStorageNamespaceImpl::~RendererWebStorageNamespaceImpl() {
WebStorageArea* RendererWebStorageNamespaceImpl::createStorageArea(
const WebString& origin) {
- // This could be done async in the background (started when this class is
- // first instantiated) rather than lazily on first use, but it's unclear
- // whether it's worth the complexity.
- if (namespace_id_ == kUninitializedNamespaceId) {
- RenderThread::current()->Send(
- new ViewHostMsg_DOMStorageNamespaceId(storage_type_,
- &namespace_id_));
- DCHECK(namespace_id_ != kUninitializedNamespaceId);
- }
// Ideally, we'd keep a hash map of origin to these objects. Unfortunately
// this doesn't seem practical because there's no good way to ref-count these
// objects, and it'd be unclear who owned them. So, instead, we'll pay a
@@ -47,10 +39,6 @@ WebStorageArea* RendererWebStorageNamespaceImpl::createStorageArea(
}
WebStorageNamespace* RendererWebStorageNamespaceImpl::copy() {
- // If we haven't been used yet, we might as well start out fresh (and lazy).
- if (namespace_id_ == kUninitializedNamespaceId)
- return new RendererWebStorageNamespaceImpl(storage_type_);
-
// This cannot easily be deferred because we need a snapshot in time.
int64 new_namespace_id;
RenderThread::current()->Send(