From 634ff6cb841bbc0092d3a1a7db7458e5035565ed Mon Sep 17 00:00:00 2001 From: "dwitte%stanford.edu" Date: Thu, 30 Oct 2003 02:43:07 +0000 Subject: [PATCH] optimize nsCookie a tad by not storing an isDomain parameter. b=223289 r+sr=darin --- netwerk/cookie/src/nsCookie.cpp | 2 -- netwerk/cookie/src/nsCookie.h | 4 +--- netwerk/cookie/src/nsCookieService.cpp | 10 ++-------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/netwerk/cookie/src/nsCookie.cpp b/netwerk/cookie/src/nsCookie.cpp index abc88ed7efc..c79fe9aacff 100644 --- a/netwerk/cookie/src/nsCookie.cpp +++ b/netwerk/cookie/src/nsCookie.cpp @@ -90,7 +90,6 @@ nsCookie::nsCookie(const nsACString &aName, nsInt64 aExpiry, nsInt64 aLastAccessed, PRBool aIsSession, - PRBool aIsDomain, PRBool aIsSecure, nsCookieStatus aStatus, nsCookiePolicy aPolicy) @@ -99,7 +98,6 @@ nsCookie::nsCookie(const nsACString &aName, , mLastAccessed(aLastAccessed) , mRefCnt(0) , mIsSession(aIsSession != PR_FALSE) - , mIsDomain(aIsDomain != PR_FALSE) , mIsSecure(aIsSecure != PR_FALSE) , mStatus(aStatus) , mPolicy(aPolicy) diff --git a/netwerk/cookie/src/nsCookie.h b/netwerk/cookie/src/nsCookie.h index 2a1a582ab4b..9327a2e9cf5 100644 --- a/netwerk/cookie/src/nsCookie.h +++ b/netwerk/cookie/src/nsCookie.h @@ -76,7 +76,6 @@ class nsCookie : public nsICookie2 nsInt64 aExpiry, nsInt64 aLastAccessed, PRBool aIsSession, - PRBool aIsDomain, PRBool aIsSecure, nsCookieStatus aStatus, nsCookiePolicy aPolicy); @@ -92,7 +91,7 @@ class nsCookie : public nsICookie2 inline nsInt64 Expiry() const { NS_ASSERTION(!IsSession(), "can't get expiry time for a session cookie"); return mExpiry; } inline nsInt64 LastAccessed() const { return mLastAccessed; } inline PRBool IsSession() const { return mIsSession; } - inline PRBool IsDomain() const { return mIsDomain; } + inline PRBool IsDomain() const { return *mHost == '.'; } inline PRBool IsSecure() const { return mIsSecure; } inline nsCookieStatus Status() const { return mStatus; } inline nsCookiePolicy Policy() const { return mPolicy; } @@ -122,7 +121,6 @@ class nsCookie : public nsICookie2 nsInt64 mLastAccessed; PRUint32 mRefCnt : 16; PRUint32 mIsSession : 1; - PRUint32 mIsDomain : 1; PRUint32 mIsSecure : 1; PRUint32 mStatus : 3; PRUint32 mPolicy : 3; diff --git a/netwerk/cookie/src/nsCookieService.cpp b/netwerk/cookie/src/nsCookieService.cpp index c6bbc6d87f5..42de40e7642 100644 --- a/netwerk/cookie/src/nsCookieService.cpp +++ b/netwerk/cookie/src/nsCookieService.cpp @@ -137,7 +137,6 @@ struct nsCookieAttributes nsInt64 expiryTime; PRBool isSession; PRBool isSecure; - PRBool isDomain; }; // stores linked list iteration state, and provides a rudimentary @@ -931,7 +930,7 @@ nsCookieService::Add(const nsACString &aDomain, nsRefPtr cookie = new nsCookie(aName, aValue, aDomain, aPath, nsInt64(aExpires), currentTime, - nsInt64(aExpires) == nsInt64(0), PR_TRUE, aIsSecure, + nsInt64(aExpires) == nsInt64(0), aIsSecure, nsICookie::STATUS_UNKNOWN, nsICookie::POLICY_UNKNOWN); if (!cookie) { @@ -1070,7 +1069,6 @@ nsCookieService::Read() nsInt64(expires), lastAccessedCounter, PR_FALSE, - isDomain, Substring(buffer, secureIndex, expiresIndex - secureIndex - 1).Equals(kTrue), nsICookie::STATUS_UNKNOWN, nsICookie::POLICY_UNKNOWN); @@ -1248,7 +1246,6 @@ nsCookieService::SetCookieInternal(nsIURI *aHostURI, cookieAttributes.expiryTime, currentTime, cookieAttributes.isSession, - cookieAttributes.isDomain, cookieAttributes.isSecure, aStatus, aPolicy); @@ -1904,6 +1901,7 @@ nsCookieService::CheckDomain(nsCookieAttributes &aCookieAttributes, // if a domain is given, check the host has permission if (!aCookieAttributes.host.IsEmpty()) { + aCookieAttributes.host.Trim("."); // switch to lowercase now, to avoid case-insensitive compares everywhere ToLowerCase(aCookieAttributes.host); @@ -1913,7 +1911,6 @@ nsCookieService::CheckDomain(nsCookieAttributes &aCookieAttributes, // funkiness (e.g. the alias 127.1 domain-matching 99.54.127.1). // bug 105917 originally noted the requirement to deal with IP addresses. if (IsIPAddress(aCookieAttributes.host)) { - aCookieAttributes.isDomain = PR_FALSE; return IsInDomain(aCookieAttributes.host, hostFromURI, PR_FALSE); } @@ -1923,7 +1920,6 @@ nsCookieService::CheckDomain(nsCookieAttributes &aCookieAttributes, * that a domain have at least one embedded period to prevent domains of the form * ".com" and ".edu" */ - aCookieAttributes.host.Trim("."); PRInt32 dot = aCookieAttributes.host.FindChar('.'); if (dot == kNotFound) { // fail dot test @@ -1931,7 +1927,6 @@ nsCookieService::CheckDomain(nsCookieAttributes &aCookieAttributes, } // prepend a dot, and check if the host is in the domain - aCookieAttributes.isDomain = PR_TRUE; aCookieAttributes.host.Insert(NS_LITERAL_CSTRING("."), 0); if (!IsInDomain(aCookieAttributes.host, hostFromURI)) { return PR_FALSE; @@ -1959,7 +1954,6 @@ nsCookieService::CheckDomain(nsCookieAttributes &aCookieAttributes, // no domain specified, use hostFromURI } else { - aCookieAttributes.isDomain = PR_FALSE; aCookieAttributes.host = hostFromURI; }