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

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: 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..338c5def889ea7924d9891dc53943b32a3ce999b 100644
--- a/content/browser/service_worker/service_worker_url_request_job.cc
+++ b/content/browser/service_worker/service_worker_url_request_job.cc
@@ -394,12 +394,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);
Mike West 2015/01/21 16:13:50 Why is the CHECK here safe?
jochen (gone - plz use gerrit) 2015/01/21 16:15:47 If I thought it was safe, I'd make it a DCHECK().
jkarlin 2015/01/21 16:43:47 Certainly seems dangerous to assume the referrer p
jochen (gone - plz use gerrit) 2015/01/21 18:39:42 info is null if the request came from the browser
+ 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