| Index: Source/core/html/HTMLAnchorElement.cpp
|
| diff --git a/Source/core/html/HTMLAnchorElement.cpp b/Source/core/html/HTMLAnchorElement.cpp
|
| index 0e49c829ee7e3e136e827760e1bceabc25431131..083ee0a44df4fa5ba23d556e922748a7c69495ed 100644
|
| --- a/Source/core/html/HTMLAnchorElement.cpp
|
| +++ b/Source/core/html/HTMLAnchorElement.cpp
|
| @@ -37,6 +37,7 @@
|
| #include "core/loader/PingLoader.h"
|
| #include "core/page/ChromeClient.h"
|
| #include "platform/network/NetworkHints.h"
|
| +#include "platform/weborigin/SecurityPolicy.h"
|
|
|
| namespace blink {
|
|
|
| @@ -348,6 +349,12 @@ void HTMLAnchorElement::handleClick(Event* event)
|
| ResourceRequest request(completedURL);
|
| request.setUIStartTime(event->uiCreateTime());
|
| request.setInputPerfMetricReportPolicy(InputToLoadPerfMetricReportPolicy::ReportLink);
|
| +
|
| + ReferrerPolicy policy;
|
| + if (hasAttribute(referrerpolicyAttr) && SecurityPolicy::referrerPolicyFromString(fastGetAttribute(referrerpolicyAttr), &policy)) {
|
| + request.setHTTPReferrer(SecurityPolicy::generateReferrer(policy, completedURL, document().outgoingReferrer()));
|
| + }
|
| +
|
| if (hasAttribute(downloadAttr)) {
|
| request.setRequestContext(WebURLRequest::RequestContextDownload);
|
| bool isSameOrigin = completedURL.protocolIsData() || document().securityOrigin()->canRequest(completedURL);
|
|
|