diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2010-09-01 01:39:43 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2010-09-01 01:39:43 +0200 |
commit | b08c67eb1e45cb94dc6250fe555d84f0c0e7debe (patch) | |
tree | cde7d4e24a8592053842beeb861b60d6180d8195 /src/networkaccessmanager.cpp | |
parent | Let urlbar being usable also in fullscreen mode (diff) | |
download | rekonq-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.cpp | 20 |
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: |