Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Unified Diff: content/browser/service_worker/service_worker_url_request_job.cc

Issue 862053002: Fix referrer policy handling in service workers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}
« no previous file with comments | « content/browser/service_worker/service_worker_cache_unittest.cc ('k') | content/common/service_worker/service_worker_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698