webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp
branchRCL_3
changeset 40 8bfb9186a8b8
parent 38 4917f9bf7995
child 41 4bd5176e1bc8
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp	Tue Apr 27 17:46:17 2010 +0300
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp	Tue May 11 17:13:44 2010 +0300
@@ -60,7 +60,6 @@
     m_SelfDownloadContentHandler = NULL;
     m_SelfDownloadContentTypes = KNullStr().Alloc();
     retryConnectivityFlag = EFalse;
-    m_inSecConnection = EFalse;
 }
 
 HttpSessionManager::~HttpSessionManager()
@@ -70,6 +69,7 @@
     delete m_ReqHdrManager;
     m_ReqHdrManager = NULL;
     delete m_cookieHandler;
+    m_cookieHandler = NULL;
     delete m_httpDownload;
     m_httpDownload = NULL;
     delete m_SelfDownloadContentHandler;
@@ -142,7 +142,7 @@
             m_ReqHdrManager = HttpRequestHeaderManager::NewL(m_httpSession);
         }
         if (!m_cookieHandler) {
-            m_cookieHandler = CookieHandler::init();
+            m_cookieHandler = CookieHandler::init(m_httpSession.StringPool());
         }
     }
     updateFilters(true);
@@ -175,6 +175,9 @@
         // disconnect the Dl Mgr
         if (m_httpDownload){
             m_httpDownload->disconnect();
+        if(m_cookieHandler)
+            m_cookieHandler->destroy();
+   
 		}
         m_httpSession.Close();
         m_sessionRunning = false;
@@ -263,20 +266,25 @@
 {
     Vector<HttpConnection *> requests;
     
+    TBool newConn = ETrue;
+    m_httpSession.ConnectionInfo().SetPropertyL(m_httpSession.StringPool().StringF(HttpFilterCommonStringsExt::EHttpNewConnFlag, HttpFilterCommonStringsExt::GetTable()), THTTPHdrVal((TBool)newConn));
+ 
     for(HashMap<HttpConnection *, ResourceHandle *>::iterator tmpit = m_pendingHttpRequests.begin();
         tmpit != m_pendingHttpRequests.end(); ++tmpit)
         {
-        	ResourceHandle *tmp = tmpit->second;
-        	ResourceHandleClient* client = tmp->client();
-            if(!client->isLoadingPlugins())
                 requests.append(tmpit->first);  
         }
     //Submit them again
     for (int i=0; i<requests.size(); ++i)
         {
+        if(requests[i]->HttpTransaction()) {
              requests[i]->HttpTransaction()->SubmitL();
         }
-
+        else {
+             removeRequest(requests[i]);
+        }
+                 
+        }
 }
 
 HttpConnection* HttpSessionManager::firstHttpConnection()
@@ -483,4 +491,20 @@
     }
 }
 
+void HttpSessionManager::cancelQueuedTransactions()
+{
+    Vector<HttpConnection *> requests;
+    for(HashMap<HttpConnection *, ResourceHandle *>::iterator tmpit = m_pendingHttpRequests.begin();
+        tmpit != m_pendingHttpRequests.end(); ++tmpit)
+        {
+                requests.append(tmpit->first);  
+        }
+    
+    for (int i = 0; i < requests.size(); ++i) {
+        if(requests[i]->HttpTransaction()) {
+            requests[i]->HttpTransaction()->Cancel();
+        }
+    }
+}
+
 // end of file