diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-06-17 09:35:48 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-06-17 09:35:48 +0200 |
commit | 07ee0792c9664d649fae8ae530b27462ee45f530 (patch) | |
tree | 47536f5fe5f03b41e1868df5e360dfabfef28751 /dom/security | |
parent | 1f6068bc695b8bee56f0a99e4343ff138b1ee188 (diff) | |
download | uxp-07ee0792c9664d649fae8ae530b27462ee45f530.tar.gz |
Bug 1398229 - Save-link-as feature should use the loading principal - implementation of nsIContentPolicy.TYPE_SAVE_AS_DOWNLOAD
Diffstat (limited to 'dom/security')
-rw-r--r-- | dom/security/nsContentSecurityManager.cpp | 6 | ||||
-rw-r--r-- | dom/security/nsMixedContentBlocker.cpp | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/dom/security/nsContentSecurityManager.cpp b/dom/security/nsContentSecurityManager.cpp index f329aa7239..4ee9b48777 100644 --- a/dom/security/nsContentSecurityManager.cpp +++ b/dom/security/nsContentSecurityManager.cpp @@ -471,6 +471,12 @@ DoContentSecurityChecks(nsIChannel* aChannel, nsILoadInfo* aLoadInfo) break; } + case nsIContentPolicy::TYPE_SAVEAS_DOWNLOAD: { + mimeTypeGuess = EmptyCString(); + requestingContext = aLoadInfo->LoadingNode(); + break; + } + default: // nsIContentPolicy::TYPE_INVALID MOZ_ASSERT(false, "can not perform security check without a valid contentType"); diff --git a/dom/security/nsMixedContentBlocker.cpp b/dom/security/nsMixedContentBlocker.cpp index 7d50a43a3e..c03628da0b 100644 --- a/dom/security/nsMixedContentBlocker.cpp +++ b/dom/security/nsMixedContentBlocker.cpp @@ -468,6 +468,13 @@ nsMixedContentBlocker::ShouldLoad(bool aHadInsecureImageRedirect, *aDecision = ACCEPT; return NS_OK; + // Creating insecure connections for a save-as link download is acceptable. + // This download is completely disconnected from the docShell, but still + // using the same loading principal. + case TYPE_SAVEAS_DOWNLOAD: + *aDecision = ACCEPT; + return NS_OK; + // Static display content is considered moderate risk for mixed content so // these will be blocked according to the mixed display preference case TYPE_IMAGE: |