summaryrefslogtreecommitdiffstats
path: root/content/child/child_thread.cc
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-29 08:48:24 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-29 08:48:24 +0000
commite0de67b7a6618a8ada7b3f39b4c57379bc8a9606 (patch)
treec77e7353afd62d5969d1bfba160e231c500694fc /content/child/child_thread.cc
parentd890d870f0fb201237505270db33109fbf330f22 (diff)
downloadchromium_src-e0de67b7a6618a8ada7b3f39b4c57379bc8a9606.zip
chromium_src-e0de67b7a6618a8ada7b3f39b4c57379bc8a9606.tar.gz
chromium_src-e0de67b7a6618a8ada7b3f39b4c57379bc8a9606.tar.bz2
Revert 214162 "Make Platform::queryStorageUsageAndQuota work fro..."
> Make Platform::queryStorageUsageAndQuota work from worker threads > > For renderer/worker to browser side: > - Always use thread-local QuotaDispatcher > - Make QuotaDispatcher use ThreadSafeSender to send IPC msgs > - Keep ipc_thread_id:request_id mapping in QuotaMessageFilter > > For browser to renderer/worker side: > - Add QuotaMessageFilter to receive quota IPC msgs and > to relay the msgs to the correct thread's QuotaDispatcher > > BUG=259660 > TEST=no behavioral changes yet (fast/workers/*storagequota* after blink side changes) > R=jam@chromium.org, michaeln@chromium.org > > Review URL: https://codereview.chromium.org/20015002 TBR=kinuko@chromium.org Review URL: https://codereview.chromium.org/21042002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/child/child_thread.cc')
-rw-r--r--content/child/child_thread.cc20
1 files changed, 7 insertions, 13 deletions
diff --git a/content/child/child_thread.cc b/content/child/child_thread.cc
index d41c5ae..eefa4c5 100644
--- a/content/child/child_thread.cc
+++ b/content/child/child_thread.cc
@@ -20,7 +20,6 @@
#include "content/child/child_resource_message_filter.h"
#include "content/child/fileapi/file_system_dispatcher.h"
#include "content/child/quota_dispatcher.h"
-#include "content/child/quota_message_filter.h"
#include "content/child/resource_dispatcher.h"
#include "content/child/socket_stream_dispatcher.h"
#include "content/child/thread_safe_sender.h"
@@ -130,30 +129,24 @@ void ChildThread::Init() {
IPC::Logging::GetInstance()->SetIPCSender(this);
#endif
- sync_message_filter_ =
- new IPC::SyncMessageFilter(ChildProcess::current()->GetShutDownEvent());
- thread_safe_sender_ = new ThreadSafeSender(
- base::MessageLoopProxy::current().get(), sync_message_filter_.get());
-
resource_dispatcher_.reset(new ResourceDispatcher(this));
socket_stream_dispatcher_.reset(new SocketStreamDispatcher());
file_system_dispatcher_.reset(new FileSystemDispatcher());
+ quota_dispatcher_.reset(new QuotaDispatcher());
+ sync_message_filter_ =
+ new IPC::SyncMessageFilter(ChildProcess::current()->GetShutDownEvent());
+ thread_safe_sender_ = new ThreadSafeSender(
+ base::MessageLoopProxy::current().get(), sync_message_filter_.get());
histogram_message_filter_ = new ChildHistogramMessageFilter();
resource_message_filter_ =
new ChildResourceMessageFilter(resource_dispatcher());
- quota_message_filter_ =
- new QuotaMessageFilter(thread_safe_sender_.get());
- quota_dispatcher_.reset(new QuotaDispatcher(thread_safe_sender_.get(),
- quota_message_filter_.get()));
-
channel_->AddFilter(histogram_message_filter_.get());
channel_->AddFilter(sync_message_filter_.get());
channel_->AddFilter(new tracing::ChildTraceMessageFilter(
ChildProcess::current()->io_message_loop_proxy()));
channel_->AddFilter(resource_message_filter_.get());
- channel_->AddFilter(quota_message_filter_.get());
#if defined(OS_POSIX)
// Check that --process-type is specified so we don't do this in unit tests
@@ -199,7 +192,6 @@ ChildThread::~ChildThread() {
IPC::Logging::GetInstance()->SetIPCSender(NULL);
#endif
- channel_->RemoveFilter(quota_message_filter_.get());
channel_->RemoveFilter(histogram_message_filter_.get());
channel_->RemoveFilter(sync_message_filter_.get());
@@ -304,6 +296,8 @@ bool ChildThread::OnMessageReceived(const IPC::Message& msg) {
return true;
if (file_system_dispatcher_->OnMessageReceived(msg))
return true;
+ if (quota_dispatcher_->OnMessageReceived(msg))
+ return true;
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ChildThread, msg)