mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 20:07:30 +09:00
Issue #2578 - Part 1: Implement preference for controlling same-origin policy
This commit is contained in:
parent
dd6526daae
commit
09b3c7a2d8
3 changed files with 11 additions and 1 deletions
|
|
@ -76,6 +76,7 @@ nsIIOService *nsScriptSecurityManager::sIOService = nullptr;
|
||||||
nsIStringBundle *nsScriptSecurityManager::sStrBundle = nullptr;
|
nsIStringBundle *nsScriptSecurityManager::sStrBundle = nullptr;
|
||||||
JSContext *nsScriptSecurityManager::sContext = nullptr;
|
JSContext *nsScriptSecurityManager::sContext = nullptr;
|
||||||
bool nsScriptSecurityManager::sStrictFileOriginPolicy = true;
|
bool nsScriptSecurityManager::sStrictFileOriginPolicy = true;
|
||||||
|
bool nsScriptSecurityManager::sSameOriginPolicy = true;
|
||||||
|
|
||||||
///////////////////////////
|
///////////////////////////
|
||||||
// Convenience Functions //
|
// Convenience Functions //
|
||||||
|
|
@ -607,7 +608,7 @@ nsScriptSecurityManager::CheckSameOriginURI(nsIURI* aSourceURI,
|
||||||
nsIURI* aTargetURI,
|
nsIURI* aTargetURI,
|
||||||
bool reportError)
|
bool reportError)
|
||||||
{
|
{
|
||||||
if (!SecurityCompareURIs(aSourceURI, aTargetURI))
|
if (sSameOriginPolicy && !SecurityCompareURIs(aSourceURI, aTargetURI))
|
||||||
{
|
{
|
||||||
if (reportError) {
|
if (reportError) {
|
||||||
ReportError(nullptr, NS_LITERAL_STRING("CheckSameOriginError"),
|
ReportError(nullptr, NS_LITERAL_STRING("CheckSameOriginError"),
|
||||||
|
|
@ -1434,10 +1435,13 @@ nsScriptSecurityManager::CanGetService(JSContext *cx,
|
||||||
const char sJSEnabledPrefName[] = "javascript.enabled";
|
const char sJSEnabledPrefName[] = "javascript.enabled";
|
||||||
const char sFileOriginPolicyPrefName[] =
|
const char sFileOriginPolicyPrefName[] =
|
||||||
"security.fileuri.strict_origin_policy";
|
"security.fileuri.strict_origin_policy";
|
||||||
|
const char sSameOriginPolicyPrefName[] =
|
||||||
|
"security.same_origin_policy.enabled";
|
||||||
|
|
||||||
static const char* kObservedPrefs[] = {
|
static const char* kObservedPrefs[] = {
|
||||||
sJSEnabledPrefName,
|
sJSEnabledPrefName,
|
||||||
sFileOriginPolicyPrefName,
|
sFileOriginPolicyPrefName,
|
||||||
|
sSameOriginPolicyPrefName,
|
||||||
"capability.policy.",
|
"capability.policy.",
|
||||||
nullptr
|
nullptr
|
||||||
};
|
};
|
||||||
|
|
@ -1593,6 +1597,8 @@ nsScriptSecurityManager::ScriptSecurityPrefChanged()
|
||||||
Preferences::GetBool(sJSEnabledPrefName, mIsJavaScriptEnabled);
|
Preferences::GetBool(sJSEnabledPrefName, mIsJavaScriptEnabled);
|
||||||
sStrictFileOriginPolicy =
|
sStrictFileOriginPolicy =
|
||||||
Preferences::GetBool(sFileOriginPolicyPrefName, false);
|
Preferences::GetBool(sFileOriginPolicyPrefName, false);
|
||||||
|
sSameOriginPolicy =
|
||||||
|
Preferences::GetBool(sSameOriginPolicyPrefName, true);
|
||||||
mFileURIWhitelist.reset();
|
mFileURIWhitelist.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool sStrictFileOriginPolicy;
|
static bool sStrictFileOriginPolicy;
|
||||||
|
static bool sSameOriginPolicy;
|
||||||
|
|
||||||
static nsIIOService *sIOService;
|
static nsIIOService *sIOService;
|
||||||
static nsIStringBundle *sStrBundle;
|
static nsIStringBundle *sStrBundle;
|
||||||
|
|
|
||||||
|
|
@ -1338,6 +1338,9 @@ pref("javascript.options.streams", true);
|
||||||
pref("advanced.mailftp", false);
|
pref("advanced.mailftp", false);
|
||||||
pref("image.animation_mode", "normal");
|
pref("image.animation_mode", "normal");
|
||||||
|
|
||||||
|
// Same-origin policy for all URIs.
|
||||||
|
pref("security.same_origin_policy.enabled", true);
|
||||||
|
|
||||||
// Same-origin policy for file URIs, "false" is traditional
|
// Same-origin policy for file URIs, "false" is traditional
|
||||||
pref("security.fileuri.strict_origin_policy", true);
|
pref("security.fileuri.strict_origin_policy", true);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue