Index: Source/platform/weborigin/SecurityPolicy.cpp |
diff --git a/Source/platform/weborigin/SecurityPolicy.cpp b/Source/platform/weborigin/SecurityPolicy.cpp |
index 36aa9b41e14cf6f74c7a679e5bbbcb9f037663f4..a0bb8b1c9491f6078da4eb4c1411797fef262c42 100644 |
--- a/Source/platform/weborigin/SecurityPolicy.cpp |
+++ b/Source/platform/weborigin/SecurityPolicy.cpp |
@@ -210,4 +210,31 @@ void SecurityPolicy::resetOriginAccessWhitelists() |
originAccessMap().clear(); |
} |
+bool SecurityPolicy::referrerPolicyFromString(const String& policy, ReferrerPolicy* result) |
+{ |
+ ASSERT(!policy.isNull()); |
+ |
+ if (equalIgnoringCase(policy, "no-referrer") || equalIgnoringCase(policy, "never")) { |
+ *result = ReferrerPolicyNever; |
+ return true; |
+ } |
+ if (equalIgnoringCase(policy, "unsafe-url") || equalIgnoringCase(policy, "always")) { |
+ *result = ReferrerPolicyAlways; |
+ return true; |
+ } |
+ if (equalIgnoringCase(policy, "origin")) { |
+ *result = ReferrerPolicyOrigin; |
+ return true; |
+ } |
+ if (equalIgnoringCase(policy, "origin-when-cross-origin") || equalIgnoringCase(policy, "origin-when-crossorigin")) { |
+ *result = ReferrerPolicyOriginWhenCrossOrigin; |
+ return true; |
+ } |
+ if (equalIgnoringCase(policy, "no-referrer-when-downgrade") || equalIgnoringCase(policy, "default")) { |
+ *result = ReferrerPolicyNoReferrerWhenDowngrade; |
+ return true; |
+ } |
+ return false; |
+} |
+ |
} // namespace blink |