diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-09 07:43:50 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-09 07:43:50 +0000 |
commit | 80fc08c5decf9b58812eb891e240a921dd7caaa6 (patch) | |
tree | d3930ed2b8537504ffacf4c6adf4d5bab01bad2b /chrome/renderer/renderer_webcookiejar_impl.cc | |
parent | f3bfdbcabfa6a178f1128b08cdfb905bb9785830 (diff) | |
download | chromium_src-80fc08c5decf9b58812eb891e240a921dd7caaa6.zip chromium_src-80fc08c5decf9b58812eb891e240a921dd7caaa6.tar.gz chromium_src-80fc08c5decf9b58812eb891e240a921dd7caaa6.tar.bz2 |
Synchronous XHR should only pump events if we are going to show a cookie
prompt.
Also, LocalStorage.setItem needs to reset the CookieMessageFilter's
pump_messages_event after it is done with sending its IPC.
To support both of these fixes, the contents of RendererWebCookieJarImpl's
SendSynchronousMessage is merged into RenderThread::Send.
R=jam
BUG=37571
TEST=none
Review URL: http://codereview.chromium.org/669224
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41013 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webcookiejar_impl.cc')
-rw-r--r-- | chrome/renderer/renderer_webcookiejar_impl.cc | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/chrome/renderer/renderer_webcookiejar_impl.cc b/chrome/renderer/renderer_webcookiejar_impl.cc index 9e9263a..53a7794 100644 --- a/chrome/renderer/renderer_webcookiejar_impl.cc +++ b/chrome/renderer/renderer_webcookiejar_impl.cc @@ -5,7 +5,6 @@ #include "chrome/renderer/renderer_webcookiejar_impl.h" #include "chrome/common/render_messages.h" -#include "chrome/renderer/cookie_message_filter.h" #include "chrome/renderer/render_thread.h" #include "third_party/WebKit/WebKit/chromium/public/WebCookie.h" @@ -14,23 +13,6 @@ using WebKit::WebString; using WebKit::WebURL; using WebKit::WebVector; -void RendererWebCookieJarImpl::SendSynchronousMessage( - IPC::SyncMessage* message) { - CookieMessageFilter* filter = - RenderThread::current()->cookie_message_filter(); - - message->set_pump_messages_event(filter->pump_messages_event()); - sender_->Send(message); - - // We may end up nesting calls to SendCookieMessage, so we defer the reset - // until we return to the top-most message loop. - if (filter->pump_messages_event()->IsSignaled()) { - MessageLoop::current()->PostNonNestableTask(FROM_HERE, - NewRunnableMethod(filter, - &CookieMessageFilter::ResetPumpMessagesEvent)); - } -} - void RendererWebCookieJarImpl::setCookie( const WebURL& url, const WebURL& first_party_for_cookies, const WebString& value) { @@ -43,7 +25,8 @@ void RendererWebCookieJarImpl::setCookie( WebString RendererWebCookieJarImpl::cookies( const WebURL& url, const WebURL& first_party_for_cookies) { std::string value_utf8; - SendSynchronousMessage(new ViewHostMsg_GetCookies( + // NOTE: This may pump events (see RenderThread::Send). + sender_->Send(new ViewHostMsg_GetCookies( MSG_ROUTING_NONE, url, first_party_for_cookies, &value_utf8)); return WebString::fromUTF8(value_utf8); } @@ -57,7 +40,8 @@ void RendererWebCookieJarImpl::rawCookies( const WebURL& url, const WebURL& first_party_for_cookies, WebVector<WebCookie>& raw_cookies) { std::vector<webkit_glue::WebCookie> cookies; - SendSynchronousMessage(new ViewHostMsg_GetRawCookies( + // NOTE: This may pump events (see RenderThread::Send). + sender_->Send(new ViewHostMsg_GetRawCookies( MSG_ROUTING_NONE, url, first_party_for_cookies, &cookies)); WebVector<WebCookie> result(cookies.size()); |