| Index: Source/core/html/HTMLAnchorElement.cpp
|
| diff --git a/Source/core/html/HTMLAnchorElement.cpp b/Source/core/html/HTMLAnchorElement.cpp
|
| index 08806bc29a44ce5191a315b972796de6b1b9c831..24d9b4d13255a764636ac62e4d34cd69ee73b833 100644
|
| --- a/Source/core/html/HTMLAnchorElement.cpp
|
| +++ b/Source/core/html/HTMLAnchorElement.cpp
|
| @@ -394,7 +394,10 @@ void HTMLAnchorElement::handleClick(Event* event)
|
| request.setHTTPReferrer(Referrer(referrer, document().referrerPolicy()));
|
| }
|
|
|
| - frame->loader().client()->loadURLExternally(request, NavigationPolicyDownload, fastGetAttribute(downloadAttr));
|
| + bool isSameOrigin = document().securityOrigin()->canRequest(completedURL);
|
| + const AtomicString& suggestedName = (isSameOrigin ? fastGetAttribute(downloadAttr) : nullAtom);
|
| +
|
| + frame->loader().client()->loadURLExternally(request, NavigationPolicyDownload, suggestedName);
|
| } else {
|
| FrameLoadRequest frameRequest(&document(), request, target());
|
| frameRequest.setTriggeringEvent(event);
|
|
|