summaryrefslogtreecommitdiffstats
path: root/dom/ipc/WindowGlobalChild.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dom/ipc/WindowGlobalChild.cpp35
1 files changed, 12 insertions, 23 deletions
diff --git a/dom/ipc/WindowGlobalChild.cpp b/dom/ipc/WindowGlobalChild.cpp
index ec2811f972..4072828911 100644
--- a/dom/ipc/WindowGlobalChild.cpp
+++ b/dom/ipc/WindowGlobalChild.cpp
@@ -35,7 +35,7 @@
#include "nsQueryObject.h"
#include "nsSerializationHelper.h"
#include "nsFrameLoader.h"
-#include "nsIScriptSecurityManager.h"
+#include "nsScriptSecurityManager.h"
#include "mozilla/dom/JSWindowActorBinding.h"
#include "mozilla/dom/JSWindowActorChild.h"
@@ -588,30 +588,19 @@ void WindowGlobalChild::SetDocumentURI(nsIURI* aDocumentURI) {
embedderInnerWindowID, BrowsingContext()->UsePrivateBrowsing());
if (StaticPrefs::dom_security_setdocumenturi()) {
- auto isLoadableViaInternet = [](nsIURI* uri) {
- return (uri && (net::SchemeIsHTTP(uri) || net::SchemeIsHTTPS(uri)));
- };
- if (isLoadableViaInternet(aDocumentURI)) {
- nsCOMPtr<nsIURI> principalURI = mDocumentPrincipal->GetURI();
- if (mDocumentPrincipal->GetIsNullPrincipal()) {
- nsCOMPtr<nsIPrincipal> precursor =
- mDocumentPrincipal->GetPrecursorPrincipal();
- if (precursor) {
- principalURI = precursor->GetURI();
- }
- }
-
- if (isLoadableViaInternet(principalURI)) {
- nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager();
-
- if (!NS_SUCCEEDED(ssm->CheckSameOriginURI(principalURI, aDocumentURI,
- false, false))) {
- MOZ_DIAGNOSTIC_ASSERT(false,
- "Setting DocumentURI with a different origin "
- "than principal URI");
- }
+ nsCOMPtr<nsIURI> principalURI = mDocumentPrincipal->GetURI();
+ if (mDocumentPrincipal->GetIsNullPrincipal()) {
+ nsCOMPtr<nsIPrincipal> precursor =
+ mDocumentPrincipal->GetPrecursorPrincipal();
+ if (precursor) {
+ principalURI = precursor->GetURI();
}
}
+
+ MOZ_DIAGNOSTIC_ASSERT(!nsScriptSecurityManager::IsHttpOrHttpsAndCrossOrigin(
+ principalURI, aDocumentURI),
+ "Setting DocumentURI with a different origin "
+ "than principal URI");
}
mDocumentURI = aDocumentURI;