Index: content/browser/loader/resource_message_filter.h |
diff --git a/content/browser/loader/resource_message_filter.h b/content/browser/loader/resource_message_filter.h |
index d4c059a08cd4bd1e81a11d5a18a59a4307ca4905..c6d2d9017392cbc37c2e0547fd348e430ba4df09 100644 |
--- a/content/browser/loader/resource_message_filter.h |
+++ b/content/browser/loader/resource_message_filter.h |
@@ -10,8 +10,11 @@ |
#include "base/callback_forward.h" |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/sequenced_task_runner_helpers.h" |
#include "content/common/content_export.h" |
+#include "content/common/url_loader.mojom.h" |
#include "content/public/browser/browser_message_filter.h" |
+#include "content/public/browser/browser_thread.h" |
#include "content/public/common/resource_type.h" |
namespace storage { |
@@ -59,6 +62,7 @@ class CONTENT_EXPORT ResourceMessageFilter : public BrowserMessageFilter { |
// BrowserMessageFilter implementation. |
void OnChannelClosing() override; |
bool OnMessageReceived(const IPC::Message& message) override; |
+ void OnDestruct() const override; |
// |origin_pid| is only required for NPAPI plugin processes. Its value is |
// ignored otherwise. |
@@ -89,6 +93,9 @@ class CONTENT_EXPORT ResourceMessageFilter : public BrowserMessageFilter { |
int child_id() const { return child_id_; } |
int process_type() const { return process_type_; } |
+ // IPC::Sender |
+ bool Send(IPC::Message* message) override; |
+ |
base::WeakPtr<ResourceMessageFilter> GetWeakPtr(); |
protected: |
@@ -96,6 +103,12 @@ class CONTENT_EXPORT ResourceMessageFilter : public BrowserMessageFilter { |
~ResourceMessageFilter() override; |
private: |
+ friend struct BrowserThread::DeleteOnThread<BrowserThread::IO>; |
+ friend class base::DeleteHelper<ResourceMessageFilter>; |
+ |
+ bool SendWithMojo(mojom::URLLoaderClient* client, |
+ const IPC::Message& message); |
+ |
// The ID of the child process. |
int child_id_; |