| Index: content/browser/service_worker/service_worker_url_request_job.cc
|
| diff --git a/content/browser/service_worker/service_worker_url_request_job.cc b/content/browser/service_worker/service_worker_url_request_job.cc
|
| index b2d836b947d3d99e65539ed5fb1ac42d556b6f75..78cdfd182c831ac585f2152cd0b09562448465d9 100644
|
| --- a/content/browser/service_worker/service_worker_url_request_job.cc
|
| +++ b/content/browser/service_worker/service_worker_url_request_job.cc
|
| @@ -24,6 +24,7 @@
|
| #include "content/public/browser/blob_handle.h"
|
| #include "content/public/browser/resource_request_info.h"
|
| #include "content/public/browser/service_worker_context.h"
|
| +#include "content/public/common/referrer.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/http/http_request_headers.h"
|
| #include "net/http/http_response_headers.h"
|
| @@ -394,12 +395,19 @@ ServiceWorkerURLRequestJob::CreateFetchRequest() {
|
| }
|
| request->blob_uuid = blob_uuid;
|
| request->blob_size = blob_size;
|
| - request->referrer = GURL(request_->referrer());
|
| request->credentials_mode = credentials_mode_;
|
| const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_);
|
| if (info) {
|
| request->is_reload = ui::PageTransitionCoreTypeIs(
|
| info->GetPageTransition(), ui::PAGE_TRANSITION_RELOAD);
|
| + request->referrer =
|
| + Referrer(GURL(request_->referrer()), info->GetReferrerPolicy());
|
| + } else {
|
| + CHECK(
|
| + request_->referrer_policy() ==
|
| + net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE);
|
| + request->referrer =
|
| + Referrer(GURL(request_->referrer()), blink::WebReferrerPolicyDefault);
|
| }
|
| return request.Pass();
|
| }
|
|
|