summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webstoragearea_impl.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-26 01:31:22 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-26 01:31:22 +0000
commit037c70024e20282ce23b5e6297bea87b795c8dec (patch)
tree392a714c4ad0a6aef027c52d000fce30d6f5c678 /chrome/renderer/renderer_webstoragearea_impl.cc
parent4afa45dfbf11e9334e63aef002cd854ec86f6d44 (diff)
downloadchromium_src-037c70024e20282ce23b5e6297bea87b795c8dec.zip
chromium_src-037c70024e20282ce23b5e6297bea87b795c8dec.tar.gz
chromium_src-037c70024e20282ce23b5e6297bea87b795c8dec.tar.bz2
Handle storage events locally when possible.
TEST=none BUG=33108 Review URL: http://codereview.chromium.org/543168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37076 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webstoragearea_impl.cc')
-rw-r--r--chrome/renderer/renderer_webstoragearea_impl.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/chrome/renderer/renderer_webstoragearea_impl.cc b/chrome/renderer/renderer_webstoragearea_impl.cc
index 95e688e..43caed5 100644
--- a/chrome/renderer/renderer_webstoragearea_impl.cc
+++ b/chrome/renderer/renderer_webstoragearea_impl.cc
@@ -44,19 +44,26 @@ WebString RendererWebStorageAreaImpl::getItem(const WebString& key) {
void RendererWebStorageAreaImpl::setItem(
const WebString& key, const WebString& value, const WebURL& url,
- bool& quota_exception) {
+ bool& quota_exception, WebString& old_value_webkit) {
+ NullableString16 old_value;
RenderThread::current()->Send(
new ViewHostMsg_DOMStorageSetItem(storage_area_id_, key, value, url,
- &quota_exception));
+ &quota_exception, &old_value));
+ old_value_webkit = old_value;
}
-void RendererWebStorageAreaImpl::removeItem(const WebString& key,
- const WebURL& url) {
+void RendererWebStorageAreaImpl::removeItem(
+ const WebString& key, const WebURL& url, WebString& old_value_webkit) {
+ NullableString16 old_value;
RenderThread::current()->Send(
- new ViewHostMsg_DOMStorageRemoveItem(storage_area_id_, key, url));
+ new ViewHostMsg_DOMStorageRemoveItem(storage_area_id_, key,
+ url, &old_value));
+ old_value_webkit = old_value;
}
-void RendererWebStorageAreaImpl::clear(const WebURL& url) {
+void RendererWebStorageAreaImpl::clear(
+ const WebURL& url, bool& cleared_something) {
RenderThread::current()->Send(
- new ViewHostMsg_DOMStorageClear(storage_area_id_, url));
+ new ViewHostMsg_DOMStorageClear(storage_area_id_, url,
+ &cleared_something));
}