browsercore/core/network/webnetworkaccessmanager.cpp
changeset 6 1c3b8676e58c
parent 5 0f2326c2a325
child 10 232fbd5a2dcb
--- a/browsercore/core/network/webnetworkaccessmanager.cpp	Wed Jun 23 17:59:43 2010 +0300
+++ b/browsercore/core/network/webnetworkaccessmanager.cpp	Tue Jul 06 14:03:49 2010 +0300
@@ -23,7 +23,6 @@
 #include <QNetworkReply>
 #include <QAuthenticator>
 #include <QNetworkInterface>
-
 #if QT_VERSION >= 0x040500
 #include <QNetworkDiskCache>
 // #include "networkdiskcache.h"
@@ -68,8 +67,8 @@
 void WebNetworkAccessManager::onfinished(QNetworkReply* reply)
 {
     QNetworkReply::NetworkError networkError = reply->error();
-    QString replyUrl = reply->url().toString();
- 
+    QString requestUrl = reply->request().url().toString(); 
+    
     if ( networkError != QNetworkReply::OperationCanceledError && 
         networkError != QNetworkReply::NoError )
     {
@@ -85,7 +84,7 @@
 	          }	  
         }
         emit networkErrorHappened(errorMsg); 
-        emit networkErrorUrl(replyUrl);
+        emit networkErrorUrl(requestUrl);
     }
 }
 
@@ -93,7 +92,6 @@
 {
     delete m_cookieJar;
     setCache(NULL);
-    delete m_reply;
 }
 
 QNetworkReply* WebNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
@@ -115,9 +113,9 @@
 
 
     if(m_browserContainer->mainFrame()) {
-        if(m_browserContainer->mainFrame()->url().scheme().contains("https")) {
+        if(m_browserContainer->mainFrame()->url().scheme() == "https") {
 
-            if (op == QNetworkAccessManager::PostOperation && req.url().scheme().contains("http")) {
+            if (op == QNetworkAccessManager::PostOperation && req.url().scheme() == "http") {
 
                 m_text = tr("Secure Page Warning:");
                 m_informativeText = tr("Do you want to continue?");
@@ -133,6 +131,12 @@
             }
         }
     }
+    if(request.url().scheme() == "qrc")
+        { 
+            reply = new NetworkErrorReply(QNetworkReply::ProtocolUnknownError, "Unknown scheme", request.url());
+            QMetaObject::invokeMethod(reply, "finished", Qt::QueuedConnection);
+        }
+                
     if (reply == NULL) {
 		reply = createRequestHelper(op, req, outgoingData);
     }
@@ -188,6 +192,7 @@
    QNetworkProxy proxy;
 	 
    QString proxyString = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("NetworkProxy");
+   QString portString = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("NetworkPort");
    
    if (proxyString.isEmpty())
    	{
@@ -199,7 +204,7 @@
 		{
       proxy.setType(QNetworkProxy::HttpProxy);
       proxy.setHostName(proxyString);
-      proxy.setPort(8080);
+      proxy.setPort(portString.toInt());
  		}
 
    	setProxy(proxy);