summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webkit_glue.cc
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 23:25:22 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 23:25:22 +0000
commitadbda59b25a349bab5df95cb86c1e42b9b0ed333 (patch)
tree25e1cc15ad3f3d2427884e173ebe71512028879d /webkit/glue/webkit_glue.cc
parent04a8c1ae5038f7c67582fc9295c9c4eac4d61caf (diff)
downloadchromium_src-adbda59b25a349bab5df95cb86c1e42b9b0ed333.zip
chromium_src-adbda59b25a349bab5df95cb86c1e42b9b0ed333.tar.gz
chromium_src-adbda59b25a349bab5df95cb86c1e42b9b0ed333.tar.bz2
Allow for overriding the handling of the referrer header in the network stack
When a non-default referrer policy is effective, the network stack should not mess with the header BUG=124750 TEST=the test for that code path is disabled :-/ Review URL: https://chromiumcodereview.appspot.com/10309005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135943 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webkit_glue.cc')
-rw-r--r--webkit/glue/webkit_glue.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/webkit/glue/webkit_glue.cc b/webkit/glue/webkit_glue.cc
index 496b837..c2ee25b 100644
--- a/webkit/glue/webkit_glue.cc
+++ b/webkit/glue/webkit_glue.cc
@@ -24,6 +24,7 @@
#include "base/sys_string_conversions.h"
#include "base/utf_string_conversions.h"
#include "net/base/escape.h"
+#include "net/url_request/url_request.h"
#include "skia/ext/platform_canvas.h"
#if defined(OS_MACOSX)
#include "skia/ext/skia_utils_mac.h"
@@ -498,4 +499,22 @@ bool IsInspectorProtocolVersionSupported(const std::string& version) {
WebString::fromUTF8(version));
}
+void ConfigureURLRequestForReferrerPolicy(
+ net::URLRequest* request, WebKit::WebReferrerPolicy referrer_policy) {
+ net::URLRequest::ReferrerPolicy net_referrer_policy;
+ switch (referrer_policy) {
+ case WebKit::WebReferrerPolicyDefault:
+ net_referrer_policy =
+ net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
+ break;
+
+ case WebKit::WebReferrerPolicyAlways:
+ case WebKit::WebReferrerPolicyNever:
+ case WebKit::WebReferrerPolicyOrigin:
+ net_referrer_policy = net::URLRequest::NEVER_CLEAR_REFERRER;
+ break;
+ }
+ request->set_referrer_policy(net_referrer_policy);
+}
+
} // namespace webkit_glue