Index: content/child/blob_storage/blob_message_filter.h |
diff --git a/content/child/blob_storage/blob_message_filter.h b/content/child/blob_storage/blob_message_filter.h |
index 26266658a22e301cc61aa3f27ec15198ed1a4d96..fc3eac2573fc1ac254c53787308b0acb4e683892 100644 |
--- a/content/child/blob_storage/blob_message_filter.h |
+++ b/content/child/blob_storage/blob_message_filter.h |
@@ -7,15 +7,21 @@ |
#include <stddef.h> |
+#include <memory> |
#include <string> |
#include <vector> |
#include "base/macros.h" |
+#include "base/memory/ref_counted.h" |
#include "base/memory/shared_memory.h" |
#include "ipc/ipc_platform_file.h" |
#include "ipc/message_filter.h" |
#include "storage/common/blob_storage/blob_storage_constants.h" |
+namespace base { |
+class TaskRunner; |
+} |
+ |
namespace IPC { |
class Sender; |
class Message; |
@@ -23,6 +29,7 @@ class Message; |
namespace storage { |
struct BlobItemBytesRequest; |
+struct BlobItemBytesResponse; |
} |
namespace content { |
@@ -32,8 +39,10 @@ namespace content { |
// operated on by the IO thread. |
class BlobMessageFilter : public IPC::MessageFilter { |
public: |
- BlobMessageFilter(); |
+ BlobMessageFilter(scoped_refptr<base::TaskRunner> io_runner, |
+ scoped_refptr<base::TaskRunner> file_runner); |
+ void OnChannelClosing() override; |
void OnFilterAdded(IPC::Sender* sender) override; |
bool OnMessageReceived(const IPC::Message& message) override; |
bool GetSupportedMessageClasses( |
@@ -51,10 +60,20 @@ class BlobMessageFilter : public IPC::MessageFilter { |
void OnCancelBuildingBlob(const std::string& uuid, |
storage::IPCBlobCreationCancelCode code); |
+ void SendResponses( |
+ const std::string& uuid, |
+ const std::vector<storage::BlobItemBytesResponse>& responses); |
+ |
+ void SendCancel(const std::string& uuid, |
+ storage::IPCBlobCreationCancelCode code); |
+ // Sends the message or ignores it if we've closed. |
+ void Send(std::unique_ptr<IPC::Message> message); |
void OnDoneBuildingBlob(const std::string& uuid); |
IPC::Sender* sender_; |
+ scoped_refptr<base::TaskRunner> io_runner_; |
+ scoped_refptr<base::TaskRunner> file_runner_; |
DISALLOW_COPY_AND_ASSIGN(BlobMessageFilter); |
}; |