summaryrefslogtreecommitdiffstats
path: root/dom/ipc/WindowGlobalChild.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
commitd8bbc7858622b6d9c278469aab701ca0b609cddf (patch)
treeeff41dc61d9f714852212739e6b3738b82a2af87 /dom/ipc/WindowGlobalChild.cpp
parentReleasing progress-linux version 125.0.3-1~progress7.99u1. (diff)
downloadfirefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz
firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/ipc/WindowGlobalChild.cpp')
-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;