unfork the core cookie backend prefs, between mozilla & firebird. this makes the cookie backend GRE-friendly. it also breaks firebird, but that's their own fault. (a firebird fix will be landing shortly).

b=221078, r=caillon, sr=darin.
This commit is contained in:
dwitte%stanford.edu 2003-10-16 20:54:29 +00:00
Родитель 36abf5f4fc
Коммит 814b640381
3 изменённых файлов: 12 добавлений и 117 удалений

Просмотреть файл

@ -6047,10 +6047,13 @@ NavigatorImpl::GetPlugins(nsIDOMPluginArray **aPlugins)
return NS_OK;
}
// values for the network.cookie.cookieBehavior pref are documented in
// nsCookieService.cpp.
#define COOKIE_BEHAVIOR_REJECT 2
NS_IMETHODIMP
NavigatorImpl::GetCookieEnabled(PRBool *aCookieEnabled)
{
nsresult rv = NS_OK;
*aCookieEnabled = PR_FALSE;
nsCOMPtr<nsIPrefBranch> prefBranch(gPrefBranch);
@ -6059,25 +6062,12 @@ NavigatorImpl::GetCookieEnabled(PRBool *aCookieEnabled)
NS_ENSURE_STATE(prefBranch);
}
#ifdef MOZ_PHOENIX
PRBool cookiesEnabled;
rv = prefBranch->GetBoolPref("network.cookie.enable", &cookiesEnabled);
if (NS_FAILED(rv))
return rv;
*aCookieEnabled = cookiesEnabled;
#else
PRInt32 cookieBehaviorPref;
rv = prefBranch->GetIntPref("network.cookie.cookieBehavior",
&cookieBehaviorPref);
if (NS_FAILED(rv))
return rv;
const PRInt32 DONT_USE = 2;
*aCookieEnabled = (cookieBehaviorPref != DONT_USE);
#endif
nsresult rv = prefBranch->GetIntPref("network.cookie.cookieBehavior",
&cookieBehaviorPref);
if (NS_SUCCEEDED(rv)) {
*aCookieEnabled = cookieBehaviorPref != COOKIE_BEHAVIOR_REJECT;
}
return rv;
}

Просмотреть файл

@ -112,14 +112,9 @@ static const PRUint32 BEHAVIOR_REJECT = 2;
static const PRUint32 BEHAVIOR_P3P = 3;
// pref string constants
#ifdef MOZ_PHOENIX
static const char kCookiesEnabled[] = "network.cookie.enable";
static const char kCookiesForDomainOnly[] = "network.cookie.enableForOriginatingWebsiteOnly";
#else
static const char kCookiesPermissions[] = "network.cookie.cookieBehavior";
static const char kCookiesP3PString[] = "network.cookie.p3p";
static const char kCookiesP3PString_Default[] = "drdraaaa";
#endif
static const char kCookiesStrictDomains[] = "network.cookie.strictDomains";
// struct for temporarily storing cookie attributes during header parsing
@ -386,28 +381,6 @@ nsCookieService::Observe(nsISupports *aSubject,
NS_LossyConvertUCS2toASCII pref(aData);
PRInt32 tempPrefValue;
#ifdef MOZ_PHOENIX
PRBool computePermissions = PR_FALSE;
if (pref.Equals(kCookiesEnabled)) {
rv = mPrefBranch->GetBoolPref(kCookiesEnabled, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = PR_FALSE;
}
mCookiesEnabled_temp = tempPrefValue;
// set flag so we know to update the enumerated permissions
computePermissions = PR_TRUE;
} else if (pref.Equals(kCookiesForDomainOnly)) {
rv = mPrefBranch->GetBoolPref(kCookiesForDomainOnly, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = PR_FALSE;
}
mCookiesForDomainOnly_temp = tempPrefValue;
// set flag so we know to update the enumerated permissions
computePermissions = PR_TRUE;
#else
if (pref.Equals(kCookiesPermissions)) {
rv = mPrefBranch->GetIntPref(kCookiesPermissions, &tempPrefValue);
if (NS_FAILED(rv) || tempPrefValue < 0 || tempPrefValue > 3) {
@ -415,7 +388,6 @@ nsCookieService::Observe(nsISupports *aSubject,
}
mCookiesPermissions = tempPrefValue;
// P3P prefs
} else if (pref.Equals(kCookiesP3PString)) {
rv = mPrefBranch->GetCharPref(kCookiesP3PString, getter_Copies(mCookiesP3PString));
// check for a malformed string
@ -424,8 +396,6 @@ nsCookieService::Observe(nsISupports *aSubject,
mCookiesP3PString = NS_LITERAL_CSTRING(kCookiesP3PString_Default);
}
#endif
// common prefs between Phoenix & Mozilla
} else if (pref.Equals(kCookiesStrictDomains)) {
rv = mPrefBranch->GetBoolPref(kCookiesStrictDomains, &tempPrefValue);
if (NS_FAILED(rv)) {
@ -433,24 +403,6 @@ nsCookieService::Observe(nsISupports *aSubject,
}
mCookiesStrictDomains = tempPrefValue;
}
#ifdef MOZ_PHOENIX
// collapse two boolean prefs into enumerated permissions
// note: BEHAVIOR_P3P is not used in Phoenix, so we won't reach any P3P code.
if (computePermissions) {
if (mCookiesEnabled_temp) {
// check if user wants cookies only for site domain
if (mCookiesForDomainOnly_temp) {
mCookiesPermissions = BEHAVIOR_REJECTFOREIGN;
} else {
mCookiesPermissions = BEHAVIOR_ACCEPT;
}
} else {
mCookiesPermissions = BEHAVIOR_REJECT;
}
}
#endif
}
return NS_OK;
@ -762,13 +714,8 @@ nsCookieService::InitPrefObservers()
// add observers
if (NS_SUCCEEDED(rv)) {
#ifdef MOZ_PHOENIX
prefInternal->AddObserver(kCookiesEnabled, this, PR_TRUE);
prefInternal->AddObserver(kCookiesForDomainOnly, this, PR_TRUE);
#else
prefInternal->AddObserver(kCookiesPermissions, this, PR_TRUE);
prefInternal->AddObserver(kCookiesP3PString, this, PR_TRUE);
#endif
prefInternal->AddObserver(kCookiesStrictDomains, this, PR_TRUE);
}
@ -780,10 +727,8 @@ nsCookieService::InitPrefObservers()
} else {
// only called if getting the prefbranch failed.
#ifndef MOZ_PHOENIX
mCookiesPermissions = BEHAVIOR_ACCEPT;
mCookiesP3PString = NS_LITERAL_CSTRING(kCookiesP3PString_Default);
#endif
mCookiesPermissions = BEHAVIOR_REJECT;
mCookiesStrictDomains = PR_FALSE;
}
}
@ -792,37 +737,8 @@ nsresult
nsCookieService::ReadPrefs()
{
nsresult rv, rv2 = NS_OK;
PRInt32 tempPrefValue;
#ifdef MOZ_PHOENIX
rv = mPrefBranch->GetBoolPref(kCookiesEnabled, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = PR_FALSE;
rv2 = rv;
}
mCookiesEnabled_temp = tempPrefValue;
rv = mPrefBranch->GetBoolPref(kCookiesForDomainOnly, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = PR_FALSE;
rv2 = rv;
}
mCookiesForDomainOnly_temp = tempPrefValue;
// collapse two boolean prefs into enumerated permissions
// note: BEHAVIOR_P3P is not used in Phoenix
if (mCookiesEnabled_temp) {
// check if user wants cookies only for site domain
if (mCookiesForDomainOnly_temp) {
mCookiesPermissions = BEHAVIOR_REJECTFOREIGN;
} else {
mCookiesPermissions = BEHAVIOR_ACCEPT;
}
} else {
mCookiesPermissions = BEHAVIOR_REJECT;
}
#else
rv = mPrefBranch->GetIntPref(kCookiesPermissions, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = BEHAVIOR_REJECT;
@ -830,7 +746,6 @@ nsCookieService::ReadPrefs()
}
mCookiesPermissions = tempPrefValue;
// P3P prefs
rv = mPrefBranch->GetCharPref(kCookiesP3PString, getter_Copies(mCookiesP3PString));
// check for a malformed string
if (NS_FAILED(rv) || mCookiesP3PString.Length() != 8) {
@ -839,9 +754,6 @@ nsCookieService::ReadPrefs()
rv2 = rv;
}
#endif
// common prefs between Phoenix & Mozilla
rv = mPrefBranch->GetBoolPref(kCookiesStrictDomains, &tempPrefValue);
if (NS_FAILED(rv)) {
tempPrefValue = PR_FALSE;

Просмотреть файл

@ -135,15 +135,8 @@ class nsCookieService : public nsICookieService
PRPackedBool mCookieIconVisible;
// cached prefs
#ifdef MOZ_PHOENIX
// unfortunately, we require this #ifdef for now, since Phoenix uses different
// (more optimized) prefs to Mozilla.
// the following variables are Phoenix hacks to reduce ifdefs in the code.
PRPackedBool mCookiesEnabled_temp, // These two prefs are collapsed
mCookiesForDomainOnly_temp; // into mCookiesPermissions.
#endif
PRPackedBool mCookiesStrictDomains; // Optional pref to apply stricter domain checks
PRUint8 mCookiesPermissions; // BEHAVIOR_{ACCEPT, REJECTFOREIGN, REJECT, P3P}
PRPackedBool mCookiesStrictDomains; // Optional pref to apply stricter domain checks
PRUint8 mCookiesPermissions; // BEHAVIOR_{ACCEPT, REJECTFOREIGN, REJECT, P3P}
/* mCookiesP3PString (below) consists of 8 characters having the following interpretation:
* [0]: behavior for first-party cookies when site has no privacy policy