Skip to content
  • jochen@chromium.org's avatar
    Implement Meta referrer · 4761ef58
    jochen@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=72674
    
    Reviewed by Adam Barth.
    
    Source/WebCore:
    
    http://wiki.whatwg.org/wiki/Meta_referrer
    
    Tests: http/tests/security/referrer-policy-always.html
           http/tests/security/referrer-policy-default.html
           http/tests/security/referrer-policy-https-always.html
           http/tests/security/referrer-policy-https-default.html
           http/tests/security/referrer-policy-https-never.html
           http/tests/security/referrer-policy-https-origin.html
           http/tests/security/referrer-policy-never.html
           http/tests/security/referrer-policy-origin.html
           http/tests/security/referrer-policy-redirect.html
           http/tests/security/referrer-policy-rel-noreferrer.html
    
    * WebCore.exp.in: updated
    * dom/Document.cpp:
    (WebCore::Document::Document):
    (WebCore::Document::processReferrerPolicy):
    * dom/Document.h:
    (WebCore::Document::referrerPolicy):
    * html/HTMLAnchorElement.cpp:
    (WebCore::HTMLAnchorElement::handleClick):
    * html/HTMLMetaElement.cpp:
    (WebCore::HTMLMetaElement::process):
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::loadFrameRequest):
    (WebCore::FrameLoader::loadResourceSynchronously):
    * loader/PingLoader.cpp:
    (WebCore::PingLoader::loadImage):
    (WebCore::PingLoader::sendPing):
    (WebCore::PingLoader::reportContentSecurityPolicyViolation):
    * loader/SubframeLoader.cpp:
    (WebCore::SubframeLoader::loadSubframe):
    * loader/SubresourceLoader.cpp:
    (WebCore::SubresourceLoader::create):
    * page/SecurityPolicy.cpp:
    (WebCore::SecurityPolicy::generateReferrerHeader):
    * page/SecurityPolicy.h:
    
    Source/WebKit/chromium:
    
    * WebKit.gyp:
    * public/WebFrame.h:
    * public/WebReferrerPolicy.h: Added.
    * public/WebSecurityPolicy.h:
    * src/AssertMatchingEnums.cpp:
    * src/WebFrameImpl.cpp:
    (WebKit::WebFrameImpl::referrerPolicy):
    (WebKit::WebFrameImpl::setReferrerForRequest):
    * src/WebFrameImpl.h:
    * src/WebSecurityPolicy.cpp:
    (WebKit::WebSecurityPolicy::generateReferrerHeader):
    
    Source/WebKit/mac:
    
    * Plugins/Hosted/HostedNetscapePluginStream.mm:
    (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
    * Plugins/WebNetscapePluginStream.mm:
    (WebNetscapePluginStream::WebNetscapePluginStream):
    
    Source/WebKit2:
    
    * WebProcess/Plugins/PluginView.cpp:
    (WebKit::PluginView::loadURL):
    
    LayoutTests:
    
    * http/tests/security/referrer-policy-always-expected.txt: Added.
    * http/tests/security/referrer-policy-always.html: Added.
    * http/tests/security/referrer-policy-default-expected.txt: Added.
    * http/tests/security/referrer-policy-default.html: Added.
    * http/tests/security/referrer-policy-https-always-expected.txt: Added.
    * http/tests/security/referrer-policy-https-always.html: Added.
    * http/tests/security/referrer-policy-https-default-expected.txt: Added.
    * http/tests/security/referrer-policy-https-default.html: Added.
    * http/tests/security/referrer-policy-https-never-expected.txt: Added.
    * http/tests/security/referrer-policy-https-never.html: Added.
    * http/tests/security/referrer-policy-https-origin-expected.txt: Added.
    * http/tests/security/referrer-policy-https-origin.html: Added.
    * http/tests/security/referrer-policy-never-expected.txt: Added.
    * http/tests/security/referrer-policy-never.html: Added.
    * http/tests/security/referrer-policy-origin-expected.txt: Added.
    * http/tests/security/referrer-policy-origin.html: Added.
    * http/tests/security/referrer-policy-redirect-expected.txt: Added.
    * http/tests/security/referrer-policy-redirect.html: Added.
    * http/tests/security/referrer-policy-rel-noreferrer-expected.txt: Added.
    * http/tests/security/referrer-policy-rel-noreferrer.html: Added.
    * http/tests/security/resources/referrer-policy-log.php: Added.
    * http/tests/security/resources/referrer-policy-redirect.html: Added.
    * http/tests/security/resources/referrer-policy-start.html: Added.
    * http/tests/security/resources/rel-noreferrer.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    4761ef58