Index: content/browser/service_worker/service_worker_controllee_request_handler.h |
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.h b/content/browser/service_worker/service_worker_controllee_request_handler.h |
index a6e48b24727ebafc74bf087e31303100007589e0..3e8d9a2d8ca138d2ac1dc028bb4748aa8d0c683c 100644 |
--- a/content/browser/service_worker/service_worker_controllee_request_handler.h |
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.h |
@@ -12,6 +12,7 @@ |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
#include "base/time/time.h" |
+#include "content/browser/service_worker/service_worker_controllee_url_loader_factory.h" |
#include "content/browser/service_worker/service_worker_request_handler.h" |
#include "content/browser/service_worker/service_worker_url_request_job.h" |
#include "content/common/service_worker/service_worker_types.h" |
@@ -28,6 +29,7 @@ class URLRequest; |
namespace content { |
+class JobWrapper; |
class ResourceRequestBodyImpl; |
class ServiceWorkerRegistration; |
class ServiceWorkerVersion; |
@@ -36,7 +38,8 @@ class ServiceWorkerVersion; |
// controlled documents. |
class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler |
: public ServiceWorkerRequestHandler, |
- public ServiceWorkerURLRequestJob::Delegate { |
+ public ServiceWorkerURLRequestJob::Delegate, |
+ public ServiceWorkerControlleeURLLoaderFactory::Delegate { |
public: |
ServiceWorkerControlleeRequestHandler( |
base::WeakPtr<ServiceWorkerContextCore> context, |
@@ -57,13 +60,19 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler |
net::NetworkDelegate* network_delegate, |
ResourceContext* resource_context) override; |
+ mojom::URLLoaderFactoryPtrInfo MaybeCreateURLLoader( |
+ const ResourceRequest& resource_request, |
+ ResourceContext* resource_context, |
+ std::unique_ptr<ServiceWorkerRequestHandler> request_handler) override; |
+ |
private: |
FRIEND_TEST_ALL_PREFIXES(ServiceWorkerControlleeRequestHandlerTest, |
ActivateWaitingVersion); |
typedef ServiceWorkerControlleeRequestHandler self; |
// For main resource case. |
- void PrepareForMainResource(const net::URLRequest* request); |
+ void PrepareForMainResource(const GURL& url, |
+ const GURL& first_party_for_cookies); |
void DidLookupRegistrationForMainResource( |
ServiceWorkerStatusCode status, |
scoped_refptr<ServiceWorkerRegistration> registration); |
@@ -101,7 +110,7 @@ class CONTENT_EXPORT ServiceWorkerControlleeRequestHandler |
const bool is_main_resource_load_; |
const bool is_main_frame_load_; |
- base::WeakPtr<ServiceWorkerURLRequestJob> job_; |
+ std::unique_ptr<JobWrapper> job_; |
FetchRequestMode request_mode_; |
FetchCredentialsMode credentials_mode_; |
FetchRedirectMode redirect_mode_; |