summaryrefslogtreecommitdiffstats
path: root/chrome/browser/in_process_webkit
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 01:22:51 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 01:22:51 +0000
commit2a10f681c582df15719956061b6742a55bccb46a (patch)
tree4e4ee689cafbecb9b211f437f478b7588f6c05c2 /chrome/browser/in_process_webkit
parent4f9b2a7e42fc567073f4999a888b3140bec460bb (diff)
downloadchromium_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.cc19
-rw-r--r--chrome/browser/in_process_webkit/browser_webkitclient_impl.h3
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_