| Index: content/child/indexed_db/indexed_db_message_filter.cc
|
| diff --git a/content/child/indexed_db/indexed_db_message_filter.cc b/content/child/indexed_db/indexed_db_message_filter.cc
|
| index bce3817072bfb57d7bd559733048913fa62485ab..60c1bea68076a16789ed6595c280a92c1b98f95a 100644
|
| --- a/content/child/indexed_db/indexed_db_message_filter.cc
|
| +++ b/content/child/indexed_db/indexed_db_message_filter.cc
|
| @@ -4,10 +4,8 @@
|
|
|
| #include "content/child/indexed_db/indexed_db_message_filter.h"
|
|
|
| -#include "base/message_loop/message_loop_proxy.h"
|
| #include "content/child/indexed_db/indexed_db_dispatcher.h"
|
| #include "content/child/thread_safe_sender.h"
|
| -#include "content/child/worker_thread_task_runner.h"
|
| #include "content/common/indexed_db/indexed_db_constants.h"
|
| #include "content/common/indexed_db/indexed_db_messages.h"
|
|
|
| @@ -15,29 +13,26 @@ namespace content {
|
|
|
| IndexedDBMessageFilter::IndexedDBMessageFilter(
|
| ThreadSafeSender* thread_safe_sender)
|
| - : main_thread_loop_(base::MessageLoopProxy::current()),
|
| - thread_safe_sender_(thread_safe_sender) {}
|
| + : WorkerThreadMessageFilter(thread_safe_sender) {
|
| +}
|
|
|
| IndexedDBMessageFilter::~IndexedDBMessageFilter() {}
|
|
|
| -base::TaskRunner* IndexedDBMessageFilter::OverrideTaskRunnerForMessage(
|
| - const IPC::Message& msg) {
|
| - if (IPC_MESSAGE_CLASS(msg) != IndexedDBMsgStart)
|
| - return NULL;
|
| - int ipc_thread_id = 0;
|
| - const bool success = PickleIterator(msg).ReadInt(&ipc_thread_id);
|
| - DCHECK(success);
|
| - if (!ipc_thread_id)
|
| - return main_thread_loop_.get();
|
| - return new WorkerThreadTaskRunner(ipc_thread_id);
|
| +bool IndexedDBMessageFilter::ShouldHandleMessage(
|
| + const IPC::Message& msg) const {
|
| + return IPC_MESSAGE_CLASS(msg) == IndexedDBMsgStart;
|
| }
|
|
|
| -bool IndexedDBMessageFilter::OnMessageReceived(const IPC::Message& msg) {
|
| - if (IPC_MESSAGE_CLASS(msg) != IndexedDBMsgStart)
|
| - return false;
|
| - IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender_.get())
|
| +void IndexedDBMessageFilter::OnFilteredMessageReceived(
|
| + const IPC::Message& msg) {
|
| + IndexedDBDispatcher::ThreadSpecificInstance(thread_safe_sender())
|
| ->OnMessageReceived(msg);
|
| - return true;
|
| +}
|
| +
|
| +bool IndexedDBMessageFilter::GetWorkerThreadIdForMessage(
|
| + const IPC::Message& msg,
|
| + int* ipc_thread_id) {
|
| + return PickleIterator(msg).ReadInt(ipc_thread_id);
|
| }
|
|
|
| void IndexedDBMessageFilter::OnStaleMessageReceived(const IPC::Message& msg) {
|
| @@ -57,13 +52,13 @@ void IndexedDBMessageFilter::OnStaleSuccessIDBDatabase(
|
| const IndexedDBDatabaseMetadata& idb_metadata) {
|
| if (ipc_database_id == kNoDatabase)
|
| return;
|
| - thread_safe_sender_->Send(
|
| + thread_safe_sender()->Send(
|
| new IndexedDBHostMsg_DatabaseClose(ipc_database_id));
|
| }
|
|
|
| void IndexedDBMessageFilter::OnStaleUpgradeNeeded(
|
| const IndexedDBMsg_CallbacksUpgradeNeeded_Params& p) {
|
| - thread_safe_sender_->Send(
|
| + thread_safe_sender()->Send(
|
| new IndexedDBHostMsg_DatabaseClose(p.ipc_database_id));
|
| }
|
|
|
|
|