diff options
author | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 01:22:51 +0000 |
---|---|---|
committer | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 01:22:51 +0000 |
commit | 2a10f681c582df15719956061b6742a55bccb46a (patch) | |
tree | 4e4ee689cafbecb9b211f437f478b7588f6c05c2 /chrome/renderer/renderer_webkitclient_impl.cc | |
parent | 4f9b2a7e42fc567073f4999a888b3140bec460bb (diff) | |
download | chromium_src-2a10f681c582df15719956061b6742a55bccb46a.zip chromium_src-2a10f681c582df15719956061b6742a55bccb46a.tar.gz chromium_src-2a10f681c582df15719956061b6742a55bccb46a.tar.bz2 |
The final CL for plumbing DOM Storage.
Add webKitClient plumbing for getting/creating storage namespaces. Add a chromium implementation for WebStorageArea and WebStorageNamespace which communicates via IPC with the dom_storage_dispatcher_host in the browser process. Flesh out the StorageAreaProxy and StorageNamespaceProxy to use the aforementioned implementations.
The WebStorageArea implementation includes decently aggressive caching optimizations. There's still a lot of work to do, though.
BUG=4360
TEST=none
Review URL: http://codereview.chromium.org/147248
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21495 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webkitclient_impl.cc')
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc index 05e56fb..a863971 100644 --- a/chrome/renderer/renderer_webkitclient_impl.cc +++ b/chrome/renderer/renderer_webkitclient_impl.cc @@ -10,6 +10,7 @@ #include "chrome/plugin/npobject_util.h" #include "chrome/renderer/net/render_dns_master.h" #include "chrome/renderer/render_thread.h" +#include "chrome/renderer/renderer_webstoragenamespace_impl.h" #include "chrome/renderer/visitedlink_slave.h" #include "webkit/api/public/WebString.h" #include "webkit/api/public/WebURL.h" @@ -20,6 +21,8 @@ #include "chrome/renderer/renderer_sandbox_support_linux.h" #endif +using WebKit::WebStorageArea; +using WebKit::WebStorageNamespace; using WebKit::WebString; using WebKit::WebURL; @@ -100,6 +103,20 @@ void RendererWebKitClientImpl::suddenTerminationChanged(bool enabled) { thread->Send(new ViewHostMsg_SuddenTerminationChanged(enabled)); } +WebStorageNamespace* RendererWebKitClientImpl::createLocalStorageNamespace( + const WebString& path) { + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)) + return WebStorageNamespace::createLocalStorageNamespace(path); + // The browser process decides the path, so ignore that param. + return new RendererWebStorageNamespaceImpl(true); +} + +WebStorageNamespace* RendererWebKitClientImpl::createSessionStorageNamespace() { + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)) + return WebStorageNamespace::createSessionStorageNamespace(); + return new RendererWebStorageNamespaceImpl(false); +} + //------------------------------------------------------------------------------ WebString RendererWebKitClientImpl::MimeRegistry::mimeTypeForExtension( |