diff options
Diffstat (limited to 'webkit/glue/webframe_impl.cc')
-rw-r--r-- | webkit/glue/webframe_impl.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc index 40038b6..d58f5f0 100644 --- a/webkit/glue/webframe_impl.cc +++ b/webkit/glue/webframe_impl.cc @@ -854,6 +854,21 @@ bool WebFrameImpl::isViewSourceModeEnabled() const { return false; } +void WebFrameImpl::setReferrerForRequest( + WebURLRequest& request, const WebURL& referrer_url) { + String referrer; + if (referrer_url.isEmpty()) { + referrer = frame_->loader()->outgoingReferrer(); + } else { + referrer = webkit_glue::WebStringToString(referrer_url.spec().utf16()); + } + if (FrameLoader::shouldHideReferrer( + webkit_glue::WebURLToKURL(request.url()), referrer)) + return; + request.setHTTPHeaderField(WebString::fromUTF8("Referer"), + webkit_glue::StringToWebString(referrer)); +} + void WebFrameImpl::dispatchWillSendRequest(WebURLRequest& request) { ResourceResponse response; frame_->loader()->client()->dispatchWillSendRequest(NULL, 0, @@ -1410,6 +1425,14 @@ void WebFrameImpl::resetMatchCount() { frames_scoping_count_ = 0; } +WebURL WebFrameImpl::completeURL(const WebString& url) const { + if (!frame_ || !frame_->document()) + return WebURL(); + + return webkit_glue::KURLToWebURL( + frame_->document()->completeURL(webkit_glue::WebStringToString(url))); +} + WebString WebFrameImpl::contentAsText(size_t max_chars) const { if (!frame_) return WebString(); |