Index: content/child/resource_dispatcher.h |
diff --git a/content/child/resource_dispatcher.h b/content/child/resource_dispatcher.h |
index 11485286edaa714b04f92a3442c19b8627ff9773..aa80bbcaf57842adc8f33b95f1b4a332ab909830 100644 |
--- a/content/child/resource_dispatcher.h |
+++ b/content/child/resource_dispatcher.h |
@@ -22,10 +22,12 @@ |
#include "base/single_thread_task_runner.h" |
#include "base/time/time.h" |
#include "content/common/content_export.h" |
+#include "content/common/url_loader.mojom.h" |
#include "content/public/common/resource_type.h" |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_sender.h" |
#include "net/base/request_priority.h" |
+#include "third_party/WebKit/public/platform/WebURLRequest.h" |
#include "url/gurl.h" |
namespace net { |
@@ -46,6 +48,10 @@ class SharedMemoryReceivedDataFactory; |
struct SiteIsolationResponseMetaData; |
struct SyncLoadResponse; |
+namespace mojom { |
+class URLLoaderFactory; |
+} // namespace mojom |
+ |
// This class serves as a communication interface to the ResourceDispatcherHost |
// in the browser process. It can be used from any child process. |
// Virtual methods are for tests. |
@@ -68,14 +74,18 @@ class CONTENT_EXPORT ResourceDispatcher : public IPC::Listener { |
// response parameter. |
virtual void StartSync(const RequestInfo& request_info, |
ResourceRequestBodyImpl* request_body, |
- SyncLoadResponse* response); |
+ SyncLoadResponse* response, |
+ blink::WebURLRequest::LoadingIPCType ipc_type, |
+ mojom::URLLoaderFactory* url_loader_factory); |
// Call this method to initiate the request. If this method succeeds, then |
// the peer's methods will be called asynchronously to report various events. |
// Returns the request id. |
virtual int StartAsync(const RequestInfo& request_info, |
ResourceRequestBodyImpl* request_body, |
- std::unique_ptr<RequestPeer> peer); |
+ std::unique_ptr<RequestPeer> peer, |
+ blink::WebURLRequest::LoadingIPCType ipc_type, |
+ mojom::URLLoaderFactory* url_loader_factory); |
// Removes a request from the |pending_requests_| list, returning true if the |
// request was found and removed. |
@@ -119,6 +129,7 @@ class CONTENT_EXPORT ResourceDispatcher : public IPC::Listener { |
scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter); |
private: |
+ friend class URLResponseBodyConsumer; |
friend class ResourceDispatcherTest; |
typedef std::deque<IPC::Message*> MessageQueue; |
@@ -155,6 +166,10 @@ class CONTENT_EXPORT ResourceDispatcher : public IPC::Listener { |
scoped_refptr<SharedMemoryReceivedDataFactory> received_data_factory; |
std::unique_ptr<SiteIsolationResponseMetaData> site_isolation_metadata; |
int buffer_size; |
+ |
+ // For mojo loading. |
+ mojom::URLLoaderPtr url_loader; |
+ std::unique_ptr<mojom::URLLoaderClient> url_loader_client; |
}; |
using PendingRequestMap = std::map<int, std::unique_ptr<PendingRequestInfo>>; |