[PALEMOON] [frontend vs backend] Fix cookies in Preferences

Issue #121
This commit is contained in:
janekptacijarabaci 2018-04-24 15:37:56 +02:00 • committed by Roy Tam
commit 9ee1ed3eaf

View file

@ -63,7 +63,9 @@ var gCookiesWindow = {
_cookieEquals: function (aCookieA, aCookieB, aStrippedHost) { _cookieEquals: function (aCookieA, aCookieB, aStrippedHost) {
return aCookieA.rawHost == aStrippedHost && return aCookieA.rawHost == aStrippedHost &&
aCookieA.name == aCookieB.name && aCookieA.name == aCookieB.name &&
aCookieA.path == aCookieB.path; aCookieA.path == aCookieB.path &&
ChromeUtils.isOriginAttributesEqual(aCookieA.originAttributes,
aCookieB.originAttributes);
}, },
observe: function (aCookie, aTopic, aData) { observe: function (aCookie, aTopic, aData) {
@ -268,17 +270,21 @@ var gCookiesWindow = {
var item = this._getItemAtIndex(aIndex); var item = this._getItemAtIndex(aIndex);
if (!item) return; if (!item) return;
this._invalidateCache(aIndex - 1); this._invalidateCache(aIndex - 1);
if (item.container) if (item.container) {
gCookiesWindow._hosts[item.rawHost] = null; gCookiesWindow._hosts[item.rawHost] = null;
else { } else {
var parent = this._getItemAtIndex(item.parentIndex); var parent = this._getItemAtIndex(item.parentIndex);
for (var i = 0; i < parent.cookies.length; ++i) { for (var i = 0; i < parent.cookies.length; ++i) {
var cookie = parent.cookies[i]; var cookie = parent.cookies[i];
if (item.rawHost == cookie.rawHost && if (item.rawHost == cookie.rawHost &&
item.name == cookie.name && item.path == cookie.path) item.name == cookie.name &&
item.path == cookie.path &&
ChromeUtils.isOriginAttributesEqual(item.originAttributes,
cookie.originAttributes)) {
parent.cookies.splice(i, removeCount); parent.cookies.splice(i, removeCount);
} }
} }
}
}, },
_invalidateCache: function (aIndex) { _invalidateCache: function (aIndex) {
@ -460,7 +466,8 @@ var gCookiesWindow = {
isSecure : aCookie.isSecure, isSecure : aCookie.isSecure,
expires : aCookie.expires, expires : aCookie.expires,
level : 1, level : 1,
container : false }; container : false,
originAttributes: aCookie.originAttributes };
return c; return c;
}, },
@ -567,7 +574,8 @@ var gCookiesWindow = {
blockFutureCookies = psvc.getBoolPref("network.cookie.blockFutureCookies"); blockFutureCookies = psvc.getBoolPref("network.cookie.blockFutureCookies");
for (var i = 0; i < deleteItems.length; ++i) { for (var i = 0; i < deleteItems.length; ++i) {
var item = deleteItems[i]; var item = deleteItems[i];
this._cm.remove(item.host, item.name, item.path, blockFutureCookies); this._cm.remove(item.host, item.name, item.path,
blockFutureCookies, item.originAttributes);
} }
}, },