diff -r 26ce6fb6aee2 -r bdd8a827a7de httpfilters/cookie/ManagerSrc/CookieClientData.cpp --- a/httpfilters/cookie/ManagerSrc/CookieClientData.cpp Wed Jun 09 10:16:57 2010 +0300 +++ b/httpfilters/cookie/ManagerSrc/CookieClientData.cpp Mon Jun 21 16:17:02 2010 +0300 @@ -9,7 +9,8 @@ #include "cookie.h" #include "CookieArray.h" #include "CookieLogger.h" - +#include "CookieCommonConstants.h" +#include // --------------------------------------------------------- // CCookieGroupData::NewL @@ -122,9 +123,29 @@ { CLOG(( EClient, 0, _L("-> RCookieManager::StoreCookieAtClientSideL: aUri:%S"), &aUri )); //Creates a clone of the passed cookie objects as the ownership of this object is held by Clint of Cookie Manager Dll + TUriParser8 uriParser; - CCookie* clone = CCookie::CloneL( *aCookie ); - CleanupStack::PushL( clone ); + TInt err = uriParser.Parse( aUri ); + CCookie* clone(NULL); + if (err !=KErrNone) + return; + else + { + // first get the details of the current requestUri, + // that is, Domain, Path and port + TPtrC8 requestPath( uriParser.IsPresent( EUriPath ) ? + uriParser.Extract( EUriPath ) : KNullDesC8() ); + TPtrC8 requestDomain( uriParser.IsPresent( EUriHost ) ? + uriParser.Extract( EUriHost ) : KNullDesC8() ); + TPtrC8 requestPort( uriParser.IsPresent( EUriPort ) ? + uriParser.Extract( EUriPort ) : KCookieDefaultRequestPort() ); + + clone = CCookie::CloneL( *aCookie,requestDomain,requestPath,requestPort); + CleanupStack::PushL( clone ); + } + + //CCookie* clone = CCookie::CloneL( *aCookie,requestDomain,requestPath); + //CleanupStack::PushL( clone ); TInt index(0); CCookieArray* perscookiearray = CookieArray();