| Index: Source/platform/weborigin/SecurityPolicy.cpp
|
| diff --git a/Source/platform/weborigin/SecurityPolicy.cpp b/Source/platform/weborigin/SecurityPolicy.cpp
|
| index 45e2f819ca08fd808593bcd672f401538d1a1733..ae11052727a2db3ca91fe4f1ea5816441f18e2ce 100644
|
| --- a/Source/platform/weborigin/SecurityPolicy.cpp
|
| +++ b/Source/platform/weborigin/SecurityPolicy.cpp
|
| @@ -65,32 +65,32 @@ bool SecurityPolicy::shouldHideReferrer(const KURL& url, const String& referrer)
|
| return !URLIsSecureURL;
|
| }
|
|
|
| -String SecurityPolicy::generateReferrerHeader(ReferrerPolicy referrerPolicy, const KURL& url, const String& referrer)
|
| +Referrer SecurityPolicy::generateReferrer(ReferrerPolicy referrerPolicy, const KURL& url, const String& referrer)
|
| {
|
| if (referrer.isEmpty())
|
| - return String();
|
| + return Referrer(String(), referrerPolicy);
|
|
|
| if (!(protocolIs(referrer, "https") || protocolIs(referrer, "http")))
|
| - return String();
|
| + return Referrer(String(), referrerPolicy);
|
|
|
| switch (referrerPolicy) {
|
| case ReferrerPolicyNever:
|
| - return String();
|
| + return Referrer(String(), referrerPolicy);
|
| case ReferrerPolicyAlways:
|
| - return referrer;
|
| + return Referrer(referrer, referrerPolicy);
|
| case ReferrerPolicyOrigin: {
|
| String origin = SecurityOrigin::createFromString(referrer)->toString();
|
| if (origin == "null")
|
| - return String();
|
| + return Referrer(String(), referrerPolicy);
|
| // A security origin is not a canonical URL as it lacks a path. Add /
|
| // to turn it into a canonical URL we can use as referrer.
|
| - return origin + "/";
|
| + return Referrer(origin + "/", referrerPolicy);
|
| }
|
| case ReferrerPolicyDefault:
|
| break;
|
| }
|
|
|
| - return shouldHideReferrer(url, referrer) ? String() : referrer;
|
| + return Referrer(shouldHideReferrer(url, referrer) ? String() : referrer, referrerPolicy);
|
| }
|
|
|
| bool SecurityPolicy::isAccessWhiteListed(const SecurityOrigin* activeOrigin, const SecurityOrigin* targetOrigin)
|
|
|