summaryrefslogtreecommitdiff
path: root/src/networkaccessmanager.cpp
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2010-09-01 01:39:43 +0200
committerAndrea Diamantini <adjam7@gmail.com>2010-09-01 01:39:43 +0200
commitb08c67eb1e45cb94dc6250fe555d84f0c0e7debe (patch)
treecde7d4e24a8592053842beeb861b60d6180d8195 /src/networkaccessmanager.cpp
parentLet urlbar being usable also in fullscreen mode (diff)
downloadrekonq-b08c67eb1e45cb94dc6250fe555d84f0c0e7debe.tar.xz
This hacks should fix (a lot of) javascript handling.
Hope this will be properly fixed upstream in KIO... Please, Jurian & Pano. Let me know if this has been really fixed. BUG: 242886
Diffstat (limited to 'src/networkaccessmanager.cpp')
-rw-r--r--src/networkaccessmanager.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp
index f746087a..73c8b599 100644
--- a/src/networkaccessmanager.cpp
+++ b/src/networkaccessmanager.cpp
@@ -65,7 +65,7 @@ QNetworkReply *NetworkAccessManager::createRequest(QNetworkAccessManager::Operat
QNetworkRequest req = request;
req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
req.setRawHeader("Accept-Language", _acceptLanguage);
-
+
KIO::CacheControl cc = KProtocolManager::cacheControl();
switch (cc)
{
@@ -88,6 +88,20 @@ QNetworkReply *NetworkAccessManager::createRequest(QNetworkAccessManager::Operat
break;
}
+ // WARNING
+ // There are actually 3 exceptions here handled with QNAM
+ // instead of KIO that need fixes upstream before removing. They are:
+ // 1) AJAX requests handling
+ // 2) DeleteOperation
+ // 3) CustomOperation
+
+ // this is used to handle "AJAX" requests
+ QByteArray header = req.rawHeader("x-requested-with");
+ if(!header.isNull())
+ {
+ return QNetworkAccessManager::createRequest(op, req, outgoingData);
+ }
+
switch(op)
{
case QNetworkAccessManager::HeadOperation:
@@ -107,14 +121,14 @@ QNetworkReply *NetworkAccessManager::createRequest(QNetworkAccessManager::Operat
kDebug() << "DELETE OPERATION...";
reply = QNetworkAccessManager::createRequest(op, req, outgoingData);
if(!reply)
- kDebug() << "OOOOOOOOOOOOOOOOOOO DELETE REPLY NULL";
+ kDebug() << "oh oh... DELETE REPLY NULL";
break;
case QNetworkAccessManager::CustomOperation:
kDebug() << "CUSTOM OPERATION...";
reply = QNetworkAccessManager::createRequest(op, req, outgoingData);
if(!reply)
- kDebug() << "OOOOOOOOOOOOOOOOOOO CUSTOM REPLY NULL";
+ kDebug() << "oh oh... CUSTOM REPLY NULL";
break;
default: