summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShimeng (Simon) Wang <swang@google.com>2010-03-18 10:13:46 -0700
committerShimeng (Simon) Wang <swang@google.com>2010-03-18 11:02:56 -0700
commitbc391117816060849e92a781b46e11396175f3aa (patch)
tree9bf7f57e363d2ad4b2b88a3464feaab6627a1427
parent252db18955bdb39a4d34b48cff9d1238a39745b9 (diff)
downloadexternal_webkit-bc391117816060849e92a781b46e11396175f3aa.zip
external_webkit-bc391117816060849e92a781b46e11396175f3aa.tar.gz
external_webkit-bc391117816060849e92a781b46e11396175f3aa.tar.bz2
Fill in appropriate referer URL plugin initiated resource loading.
Didn't think of better way to code in the common code. Bug:2512527 Change-Id: Ie656ce1c399f238187045be41ece1fc2feefab90
-rw-r--r--WebCore/plugins/PluginView.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/WebCore/plugins/PluginView.cpp b/WebCore/plugins/PluginView.cpp
index dc2b832..aadf0d2 100644
--- a/WebCore/plugins/PluginView.cpp
+++ b/WebCore/plugins/PluginView.cpp
@@ -268,6 +268,12 @@ bool PluginView::start()
FrameLoadRequest frameLoadRequest;
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(m_url);
+#ifdef ANDROID_PLUGINS
+ if (!SecurityOrigin::shouldHideReferrer(
+ m_url, m_parentFrame->loader()->outgoingReferrer()))
+ frameLoadRequest.resourceRequest().setHTTPReferrer(
+ m_parentFrame->loader()->outgoingReferrer());
+#endif
load(frameLoadRequest, false, 0);
}
@@ -601,6 +607,11 @@ NPError PluginView::getURLNotify(const char* url, const char* target, void* noti
frameLoadRequest.setFrameName(target);
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(makeURL(m_baseURL, url));
+#ifdef ANDROID_PLUGINS
+ if (!SecurityOrigin::shouldHideReferrer(
+ frameLoadRequest.resourceRequest().url(), m_url))
+ frameLoadRequest.resourceRequest().setHTTPReferrer(m_url);
+#endif
return load(frameLoadRequest, true, notifyData);
}
@@ -612,6 +623,11 @@ NPError PluginView::getURL(const char* url, const char* target)
frameLoadRequest.setFrameName(target);
frameLoadRequest.resourceRequest().setHTTPMethod("GET");
frameLoadRequest.resourceRequest().setURL(makeURL(m_baseURL, url));
+#ifdef ANDROID_PLUGINS
+ if (!SecurityOrigin::shouldHideReferrer(
+ frameLoadRequest.resourceRequest().url(), m_url))
+ frameLoadRequest.resourceRequest().setHTTPReferrer(m_url);
+#endif
return load(frameLoadRequest, false, 0);
}