diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-29 08:48:24 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-29 08:48:24 +0000 |
commit | e0de67b7a6618a8ada7b3f39b4c57379bc8a9606 (patch) | |
tree | c77e7353afd62d5969d1bfba160e231c500694fc /content/child/child_thread.cc | |
parent | d890d870f0fb201237505270db33109fbf330f22 (diff) | |
download | chromium_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.cc | 20 |
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) |