--- 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();