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)); |
} |