| Index: content/child/resource_dispatcher.h
|
| diff --git a/content/child/resource_dispatcher.h b/content/child/resource_dispatcher.h
|
| index 17c80e41603ae8280e88063464d818d77da959ca..7bda6ea6dd586ceb7535993e6d2e0be67b380a43 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.
|
| void StartSync(const RequestInfo& request_info,
|
| ResourceRequestBody* 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,
|
| ResourceRequestBody* 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>>;
|
|
|
|
|