summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webstoragearea_impl.cc
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-24 19:23:13 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-24 19:23:13 +0000
commitdd924193b5c11b188a56a09f7c29c8cbdfa0737e (patch)
treeb29b28bd8a66afaa0b38faf94dbec42ad5bd222c /chrome/renderer/renderer_webstoragearea_impl.cc
parent03c24fc87f1f44bdbd5b3812eb3af866e81cb60f (diff)
downloadchromium_src-dd924193b5c11b188a56a09f7c29c8cbdfa0737e.zip
chromium_src-dd924193b5c11b188a56a09f7c29c8cbdfa0737e.tar.gz
chromium_src-dd924193b5c11b188a56a09f7c29c8cbdfa0737e.tar.bz2
Only pump messages during a cookie query if it results in a user prompt.
Note: I left LocalStorage intact. I want to first confirm that this CL resolves the Intl2 performance regression. If so, then I'll follow-up with a CL to add similar treatment for LocalStorage. R=jam BUG=36310 TEST=none Review URL: http://codereview.chromium.org/657074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39908 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webstoragearea_impl.cc')
-rw-r--r--chrome/renderer/renderer_webstoragearea_impl.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/chrome/renderer/renderer_webstoragearea_impl.cc b/chrome/renderer/renderer_webstoragearea_impl.cc
index e1a9fb9..e4e87fa 100644
--- a/chrome/renderer/renderer_webstoragearea_impl.cc
+++ b/chrome/renderer/renderer_webstoragearea_impl.cc
@@ -54,9 +54,12 @@ void RendererWebStorageAreaImpl::setItem(
CHECK(routing_id != MSG_ROUTING_CONTROL);
NullableString16 old_value;
- RenderThread::current()->SendAndRunNestedMessageLoop(
+ IPC::SyncMessage* message =
new ViewHostMsg_DOMStorageSetItem(routing_id, storage_area_id_, key,
- value, url, &result, &old_value));
+ value, url, &result, &old_value);
+ // TODO(darin): Response to ViewMsg_SignalCookiePromptEvent instead.
+ message->EnableMessagePumping();
+ RenderThread::current()->Send(message);
old_value_webkit = old_value;
if (result == WebStorageArea::ResultBlockedByPolicy) {