| Index: content/public/common/referrer.cc
|
| diff --git a/content/public/common/referrer.cc b/content/public/common/referrer.cc
|
| index b383fb73fc6fae4f4b820140c92bcca2e60adbf8..225df96c94dbeb8b523c29fcd9e618d772edd2f1 100644
|
| --- a/content/public/common/referrer.cc
|
| +++ b/content/public/common/referrer.cc
|
| @@ -22,6 +22,12 @@ Referrer Referrer::SanitizeForRequest(const GURL& request,
|
| bool is_downgrade =
|
| sanitized_referrer.url.SchemeIsSecure() && !request.SchemeIsSecure();
|
|
|
| + if (sanitized_referrer.policy < 0 ||
|
| + sanitized_referrer.policy > blink::WebReferrerPolicyLast) {
|
| + NOTREACHED();
|
| + sanitized_referrer.policy = blink::WebReferrerPolicyNever;
|
| + }
|
| +
|
| switch (sanitized_referrer.policy) {
|
| case blink::WebReferrerPolicyDefault:
|
| if (is_downgrade) {
|
| @@ -44,8 +50,9 @@ Referrer Referrer::SanitizeForRequest(const GURL& request,
|
| case blink::WebReferrerPolicyOrigin:
|
| sanitized_referrer.url = sanitized_referrer.url.GetOrigin();
|
| break;
|
| - default:
|
| - NOTREACHED();
|
| + case blink::WebReferrerPolicyOriginWhenCrossOrigin:
|
| + if (request.GetOrigin() != sanitized_referrer.url.GetOrigin())
|
| + sanitized_referrer.url = sanitized_referrer.url.GetOrigin();
|
| break;
|
| }
|
| return sanitized_referrer;
|
|
|