Disable OOPIFs without disabling COOP #150

This commit is contained in:
daijro 2025-02-05 16:51:54 -06:00
parent 0fea201d83
commit 8a1abfb9a5
4 changed files with 39 additions and 2 deletions

View file

@ -0,0 +1,35 @@
diff --git a/docshell/base/BrowsingContext.cpp b/docshell/base/BrowsingContext.cpp
index 2471976f64..d14edc9195 100644
--- a/docshell/base/BrowsingContext.cpp
+++ b/docshell/base/BrowsingContext.cpp
@@ -83,6 +83,7 @@
#include "nsScriptError.h"
#include "nsThreadUtils.h"
#include "xpcprivate.h"
+#include "MaskConfig.hpp"
#include "AutoplayPolicy.h"
#include "GVAutoplayRequestStatusIPC.h"
@@ -1772,7 +1773,10 @@ NS_IMETHODIMP BrowsingContext::SetRemoteSubframes(bool aUseRemoteSubframes) {
return NS_ERROR_UNEXPECTED;
}
- mUseRemoteSubframes = aUseRemoteSubframes;
+ // Camoufox: Disable remote subframes by default
+ if (MaskConfig::GetBool("enableRemoteSubframes")) {
+ mUseRemoteSubframes = aUseRemoteSubframes;
+ }
return NS_OK;
}
diff --git a/docshell/base/moz.build b/docshell/base/moz.build
index 3520e9d75a..0f73f2dd82 100644
--- a/docshell/base/moz.build
+++ b/docshell/base/moz.build
@@ -124,3 +124,5 @@ LOCAL_INCLUDES += [
EXTRA_JS_MODULES += ["URIFixup.sys.mjs"]
include("/tools/fuzzing/libfuzzer-config.mozbuild")
+
+LOCAL_INCLUDES += ['/camoucfg']
\ No newline at end of file

View file

@ -293,6 +293,7 @@
"allowMainWorld": "bool",
"forceScopeAccess": "bool",
"enableRemoteSubframes": "bool",
"memorysaver": "bool",
"addons": "array[str]",
"debug": "bool"

View file

@ -40,9 +40,9 @@ defaultPref(
// Tweaks that undo Playwright:
// Force enable content isolation (WAFs can detect this!)
// Enable content isolation (WAFs can detect this!)
defaultPref("fission.autostart", true);
defaultPref("fission.webContentIsolationStrategy", 2);
defaultPref("fission.webContentIsolationStrategy", 1);
// Use dark theme by default
defaultPref("ui.systemUsesDarkTheme", 1);

View file

@ -95,6 +95,7 @@
{ "property": "mediaDevices:enabled", "type": "bool" },
{ "property": "allowMainWorld", "type": "bool" },
{ "property": "forceScopeAccess", "type": "bool" },
{ "property": "enableRemoteSubframes", "type": "bool" },
{ "property": "memorysaver", "type": "bool" },
{ "property": "addons", "type": "array" },
{ "property": "debug", "type": "bool" }