From 386eb208881e6d5c3866b28269398f7f0b66a735 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Thu, 7 Jun 2012 00:28:01 +0200 Subject: Restore previous Referer management --- src/webview.cpp | 19 +++++++++++++++++++ src/webview.h | 5 +++++ 2 files changed, 24 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index b592335c..f8f44b6a 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -104,6 +104,25 @@ WebView::~WebView() } +void WebView::load (const QUrl &url) +{ + load(QNetworkRequest(url)); +} + + +void WebView::load (const QNetworkRequest &req, QNetworkAccessManager::Operation op, const QByteArray &body) +{ + QNetworkRequest request = req; + const QUrl &reqUrl = request.url(); + if (reqUrl.host() == url().host()) + { + request.setRawHeader(QByteArray("Referer"), url().toEncoded()); + } + + KWebView::load(request, op, body); +} + + void WebView::loadStarted() { hideAccessKeys(); diff --git a/src/webview.h b/src/webview.h index bfc46135..4adc6ec7 100644 --- a/src/webview.h +++ b/src/webview.h @@ -66,6 +66,11 @@ public: WebPage *page(); + void load (const QUrl &url); + void load (const QNetworkRequest &req, + QNetworkAccessManager::Operation op = QNetworkAccessManager::GetOperation, + const QByteArray & body = QByteArray() ); + protected: void contextMenuEvent(QContextMenuEvent *event); -- cgit v1.2.1