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/browser/in_process_webkit | |
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/browser/in_process_webkit')
-rw-r--r-- | chrome/browser/in_process_webkit/browser_webkitclient_impl.cc | 19 | ||||
-rw-r--r-- | chrome/browser/in_process_webkit/browser_webkitclient_impl.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc b/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc index a1d6638..96119b4 100644 --- a/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc +++ b/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc @@ -82,3 +82,22 @@ WebKit::WebData BrowserWebKitClientImpl::loadResource(const char* name) { NOTREACHED(); return WebKit::WebData(); } + +WebKit::WebStorageNamespace* +BrowserWebKitClientImpl::createLocalStorageNamespace( + const WebKit::WebString& path) { + // The "WebStorage" interface is used for renderer WebKit -> browser WebKit + // communication only. "WebStorageClient" will be used for browser WebKit -> + // renderer WebKit. So this will never be implemented. + NOTREACHED(); + return 0; +} + +WebKit::WebStorageNamespace* +BrowserWebKitClientImpl::createSessionStorageNamespace() { + // The "WebStorage" interface is used for renderer WebKit -> browser WebKit + // communication only. "WebStorageClient" will be used for browser WebKit -> + // renderer WebKit. So this will never be implemented. + NOTREACHED(); + return 0; +} diff --git a/chrome/browser/in_process_webkit/browser_webkitclient_impl.h b/chrome/browser/in_process_webkit/browser_webkitclient_impl.h index 4f7abf0..68b4243 100644 --- a/chrome/browser/in_process_webkit/browser_webkitclient_impl.h +++ b/chrome/browser/in_process_webkit/browser_webkitclient_impl.h @@ -28,6 +28,9 @@ class BrowserWebKitClientImpl : public webkit_glue::WebKitClientImpl { virtual WebKit::WebURLLoader* createURLLoader(); virtual void getPluginList(bool refresh, WebKit::WebPluginListBuilder*); virtual WebKit::WebData loadResource(const char* name); + virtual WebKit::WebStorageNamespace* createLocalStorageNamespace( + const WebKit::WebString& path); + virtual WebKit::WebStorageNamespace* createSessionStorageNamespace(); }; #endif // CHROME_BROWSER_IN_PROCESS_WEBKIT_WEBKIT_CLIENT_IMPL_H_ |