Index: Source/core/html/HTMLAnchorElement.cpp |
diff --git a/Source/core/html/HTMLAnchorElement.cpp b/Source/core/html/HTMLAnchorElement.cpp |
index 7f585364663eea2a28813e9b30cf72140c82693f..11c8f4f9ad989999d65d413106842afebdb44838 100644 |
--- a/Source/core/html/HTMLAnchorElement.cpp |
+++ b/Source/core/html/HTMLAnchorElement.cpp |
@@ -384,7 +384,7 @@ void HTMLAnchorElement::handleClick(Event* event) |
request.setHTTPReferrer(Referrer(referrer, document().referrerPolicy())); |
} |
- bool isSameOrigin = document().securityOrigin()->canRequest(completedURL); |
+ bool isSameOrigin = completedURL.protocolIsData() || document().securityOrigin()->canRequest(completedURL); |
const AtomicString& suggestedName = (isSameOrigin ? fastGetAttribute(downloadAttr) : nullAtom); |
frame->loader().client()->loadURLExternally(request, NavigationPolicyDownload, suggestedName); |