webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp
branchRCL_3
changeset 62 c711bdda59f4
parent 36 0ed94ceaa377
child 64 ac77f89b1d9e
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp	Mon Mar 15 12:44:50 2010 +0200
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp	Wed Mar 31 23:16:40 2010 +0300
@@ -37,6 +37,7 @@
 #include "ResourceHandleManagerSymbian.h"
 #include "StaticObjectsContainer.h"
 #include "WebFrame.h"
+#include "ResourceHandleClient.h"
 
 // CONSTANTS
 _LIT8( KHttpProtString, "HTTP/TCP" );
@@ -58,6 +59,7 @@
     m_httpDownload = NULL;
     m_SelfDownloadContentHandler = NULL;
     m_SelfDownloadContentTypes = KNullStr().Alloc();
+    retryConnectivityFlag = EFalse;
 }
 
 HttpSessionManager::~HttpSessionManager()
@@ -256,6 +258,28 @@
         }
 }
 
+void HttpSessionManager::retryTransactions()
+{
+    Vector<HttpConnection *> requests;
+    
+    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);  
+        }
+    //Cancel all transactions first
+    //Submit them again
+    for (int i=0; i<requests.size(); ++i)
+        {
+            requests[i]->HttpTransaction()->Cancel();           
+            requests[i]->HttpTransaction()->SubmitL();
+        }
+
+}
+
 HttpConnection* HttpSessionManager::firstHttpConnection()
 {
     HashMap<HttpConnection *, ResourceHandle *>::const_iterator it = m_pendingHttpRequests.begin();