diff --git a/mozilla/extensions/cookie/nsCookie.cpp b/mozilla/extensions/cookie/nsCookie.cpp index 3ead32cc8c3..ceff758c6e0 100644 --- a/mozilla/extensions/cookie/nsCookie.cpp +++ b/mozilla/extensions/cookie/nsCookie.cpp @@ -1664,7 +1664,11 @@ COOKIE_SetCookieStringFromHttp(char * curURL, char * setCookieHeader, char * ser expires = cookie_ParseDate(date); *ptr=origLast; } - sDate = cookie_ParseDate(server_date); + if (server_date) { + sDate = cookie_ParseDate(server_date); + } else { + sDate = time(NULL); + } if( sDate && expires ) { if( expires < sDate ) { gmtCookieExpires=1; @@ -2192,9 +2196,11 @@ COOKIE_CookieViewerReturn(nsAutoString results) { cookie = NS_STATIC_CAST(cookie_CookieStruct*, cookie_cookieList->ElementAt(count)); if (cookie && cookie_InSequence(gone, count)) { cookie_FreeCookie(cookie); + cookie_cookiesChanged = PR_TRUE; } } } + cookie_SaveCookies(); cookie_UnlockCookieList(); nsCRT::free(gone); diff --git a/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp b/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp index 4626fb7c36f..4d3fb5996d1 100644 --- a/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp +++ b/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp @@ -176,8 +176,8 @@ nsCookieHTTPNotify::AsyncExamineResponse(nsISupports *aContext) { rv = pHTTPConnection->GetResponseHeader(header, &pDate); } if (NS_SUCCEEDED(rv)) { + COOKIE_SetCookieStringFromHttp((char*)(const char*)url, cookie, pDate); if(pDate) { - COOKIE_SetCookieStringFromHttp((char*)(const char*)url, cookie, pDate); nsCRT::free(pDate); } }