summaryrefslogtreecommitdiff
path: root/src/webwindow
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2012-08-01 11:12:08 +0200
committerAndrea Diamantini <adjam7@gmail.com>2012-12-10 02:48:04 +0100
commit6686e9920feff933c1d8251bc48bb4d7cfc4d0a0 (patch)
treea604c1a12542433941e842770da02ff24f268143 /src/webwindow
parentLet WebView compile and work (diff)
downloadrekonq-6686e9920feff933c1d8251bc48bb4d7cfc4d0a0.tar.xz
Let WebTab compile (and everything NOT commented out...)
Diffstat (limited to 'src/webwindow')
-rw-r--r--src/webwindow/networkaccessmanager.cpp185
-rw-r--r--src/webwindow/networkaccessmanager.h63
-rw-r--r--src/webwindow/webpage.cpp74
-rw-r--r--src/webwindow/webpage.h58
4 files changed, 0 insertions, 380 deletions
diff --git a/src/webwindow/networkaccessmanager.cpp b/src/webwindow/networkaccessmanager.cpp
deleted file mode 100644
index e817faca..00000000
--- a/src/webwindow/networkaccessmanager.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2007-2008 Trolltech ASA. All rights reserved
-* Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com>
-*
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License or (at your option) version 3 or any later version
-* accepted by the membership of KDE e.V. (or its successor approved
-* by the membership of KDE e.V.), which shall act as a proxy
-* defined in Section 14 of version 3 of the license.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*
-* ============================================================ */
-
-
-
-// Self Includes
-#include "networkaccessmanager.h"
-#include "networkaccessmanager.moc"
-
-// Local Includes
-#include "adblockmanager.h"
-
-// KDE Includes
-#include <KLocale>
-#include <KProtocolManager>
-#include <KRun>
-
-// Qt Includes
-#include <QNetworkReply>
-#include <QTimer>
-#include <QWebElement>
-#include <QWebFrame>
-#include <QWidget>
-
-
-class NullNetworkReply : public QNetworkReply
-{
-public:
- NullNetworkReply(const QNetworkRequest &req, QObject* parent = 0)
- : QNetworkReply(parent)
- {
- setRequest(req);
- setUrl(req.url());
- setHeader(QNetworkRequest::ContentLengthHeader, 0);
- setHeader(QNetworkRequest::ContentTypeHeader, "text/plain");
- setError(QNetworkReply::ContentAccessDenied, i18n("Blocked by ad filter"));
- setAttribute(QNetworkRequest::User, QNetworkReply::ContentAccessDenied);
- QTimer::singleShot(0, this, SIGNAL(finished()));
- }
-
- virtual void abort() {}
- virtual qint64 bytesAvailable() const
- {
- return 0;
- }
-
-protected:
- virtual qint64 readData(char*, qint64)
- {
- return -1;
- }
-};
-
-
-// ----------------------------------------------------------------------------------------------
-
-
-#define HIDABLE_ELEMENTS QL1S("audio,img,embed,object,iframe,frame,video")
-
-
-static void hideBlockedElements(const QUrl& url, QWebElementCollection& collection)
-{
- for (QWebElementCollection::iterator it = collection.begin(); it != collection.end(); ++it)
- {
- const QUrl baseUrl ((*it).webFrame()->baseUrl());
- QString src = (*it).attribute(QL1S("src"));
-
- if (src.isEmpty())
- src = (*it).evaluateJavaScript(QL1S("this.src")).toString();
-
- if (src.isEmpty())
- continue;
- const QUrl resolvedUrl (baseUrl.resolved(src));
- if (url == resolvedUrl)
- {
- //kDebug() << "*** HIDING ELEMENT: " << (*it).tagName() << resolvedUrl;
- (*it).removeFromDocument();
- }
- }
-}
-
-
-// ----------------------------------------------------------------------------------------------
-
-
-NetworkAccessManager::NetworkAccessManager(QObject *parent)
- : AccessManager(parent)
-{
- QString c = KGlobal::locale()->language();
-
- if (c == QL1S("C"))
- c = QL1S("en-US");
- else
- c = c.replace(QL1C('_') , QL1C('-'));
-
- c.append(QL1S(", en-US; q=0.8, en; q=0.6"));
-
- _acceptLanguage = c.toLatin1();
-}
-
-
-QNetworkReply *NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData)
-{
- bool blocked = false;
-
- // Handle GET operations with AdBlock
- if (op == QNetworkAccessManager::GetOperation)
- blocked = AdBlockManager::self()->blockRequest(req);
-
- if (!blocked)
- {
- if (KProtocolInfo::isHelperProtocol(req.url()))
- {
- (void) new KRun(req.url(), qobject_cast<QWidget*>(req.originatingObject()));
- return new NullNetworkReply(req, this);
- }
-
- // set our "nice" accept-language header...
- QNetworkRequest request = req;
- request.setRawHeader("Accept-Language", _acceptLanguage);
-
- return KIO::AccessManager::createRequest(op, request, outgoingData);
- }
-
- QWebFrame* frame = qobject_cast<QWebFrame*>(req.originatingObject());
- if (frame)
- {
- if (!m_blockedRequests.contains(frame))
- connect(frame, SIGNAL(loadFinished(bool)), this, SLOT(slotFinished(bool)));
- m_blockedRequests.insert(frame, req.url());
- }
-
- return new NullNetworkReply(req, this);
-}
-
-
-void NetworkAccessManager::slotFinished(bool ok)
-{
- if (!ok)
- return;
-
- if(!AdBlockManager::self()->isEnabled())
- return;
-
- if(!AdBlockManager::self()->isHidingElements())
- return;
-
- QWebFrame* frame = qobject_cast<QWebFrame*>(sender());
- if (!frame)
- return;
-
- QList<QUrl> urls = m_blockedRequests.values(frame);
- if (urls.isEmpty())
- return;
-
- QWebElementCollection collection = frame->findAllElements(HIDABLE_ELEMENTS);
- if (frame->parentFrame())
- collection += frame->parentFrame()->findAllElements(HIDABLE_ELEMENTS);
-
- Q_FOREACH(const QUrl& url, urls)
- hideBlockedElements(url, collection);
-}
diff --git a/src/webwindow/networkaccessmanager.h b/src/webwindow/networkaccessmanager.h
deleted file mode 100644
index 1c9c3905..00000000
--- a/src/webwindow/networkaccessmanager.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2007-2008 Trolltech ASA. All rights reserved
-* Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com>
-*
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License or (at your option) version 3 or any later version
-* accepted by the membership of KDE e.V. (or its successor approved
-* by the membership of KDE e.V.), which shall act as a proxy
-* defined in Section 14 of version 3 of the license.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*
-* ============================================================ */
-
-
-#ifndef NETWORKACCESSMANAGER_H
-#define NETWORKACCESSMANAGER_H
-
-
-// Rekonq Includes
-#include "rekonq_defines.h"
-
-// KDE Includes
-#include <KIO/AccessManager>
-
-// Qt Includes
-#include <QByteArray>
-
-// Forward Declarations
-class QWebFrame;
-
-
-class REKONQ_TESTS_EXPORT NetworkAccessManager : public KIO::Integration::AccessManager
-{
- Q_OBJECT
-
-public:
- NetworkAccessManager(QObject *parent);
-
-protected:
- virtual QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0);
-
-private Q_SLOTS:
- void slotFinished(bool);
-
-private:
- QMultiHash<QWebFrame*, QUrl> m_blockedRequests;
- QByteArray _acceptLanguage;
-};
-
-#endif // NETWORKACCESSMANAGER_H
diff --git a/src/webwindow/webpage.cpp b/src/webwindow/webpage.cpp
deleted file mode 100644
index 7da39e0f..00000000
--- a/src/webwindow/webpage.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2008 Benjamin C. Meyer <ben@meyerhome.net>
-* Copyright (C) 2008 Dirk Mueller <mueller@kde.org>
-* Copyright (C) 2008 Urs Wolfer <uwolfer @ kde.org>
-* Copyright (C) 2008 Michael Howell <mhowell123@gmail.com>
-* Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com>
-* Copyright (C) 2010 by Matthieu Gicquel <matgic78 at gmail dot com>
-* Copyright (C) 2009-2010 Dawit Alemayehu <adawit at kde dot org>
-*
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License or (at your option) version 3 or any later version
-* accepted by the membership of KDE e.V. (or its successor approved
-* by the membership of KDE e.V.), which shall act as a proxy
-* defined in Section 14 of version 3 of the license.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*
-* ============================================================ */
-
-
-// Self Includes
-#include "webpage.h"
-#include "webpage.moc"
-
-#include "networkaccessmanager.h"
-
-
-WebPage::WebPage(QWidget *parent)
- : KWebPage(parent, KWalletIntegration)
-{
- // rekonq Network Manager
- NetworkAccessManager *manager = new NetworkAccessManager(this);
-
- // set network reply object to emit readyRead when it receives meta data
- manager->setEmitReadyReadOnMetaDataChange(true);
-
- // disable QtWebKit cache to just use KIO one..
- manager->setCache(0);
-
- // set cookieJar window..
- if (parent && parent->window())
- manager->setWindow(parent->window());
-
- setNetworkAccessManager(manager);
-}
-
-
-WebPage::~WebPage()
-{
-}
-
-
-WebPage *WebPage::createWindow(QWebPage::WebWindowType type)
-{
- // added to manage web modal dialogs
- if (type == QWebPage::WebModalDialog)
- kDebug() << "Modal Dialog";
-
- WebPage* p = new WebPage;
- emit pageCreated(p);
- return p;
-}
diff --git a/src/webwindow/webpage.h b/src/webwindow/webpage.h
deleted file mode 100644
index f953d3fc..00000000
--- a/src/webwindow/webpage.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* ============================================================
-*
-* This file is a part of the rekonq project
-*
-* Copyright (C) 2008 Benjamin C. Meyer <ben@meyerhome.net>
-* Copyright (C) 2008 Dirk Mueller <mueller@kde.org>
-* Copyright (C) 2008 Urs Wolfer <uwolfer @ kde.org>
-* Copyright (C) 2008 Michael Howell <mhowell123@gmail.com>
-* Copyright (C) 2008-2012 by Andrea Diamantini <adjam7 at gmail dot com>
-* Copyright (C) 2010 by Matthieu Gicquel <matgic78 at gmail dot com>
-*
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License as
-* published by the Free Software Foundation; either version 2 of
-* the License or (at your option) version 3 or any later version
-* accepted by the membership of KDE e.V. (or its successor approved
-* by the membership of KDE e.V.), which shall act as a proxy
-* defined in Section 14 of version 3 of the license.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*
-* ============================================================ */
-
-
-#ifndef WEBPAGE_H
-#define WEBPAGE_H
-
-
-// Rekonq Includes
-#include "rekonq_defines.h"
-
-// KDE Includes
-#include <KWebPage>
-
-
-class WebPage : public KWebPage
-{
- Q_OBJECT
-
-public:
- WebPage(QWidget *parent = 0);
- ~WebPage();
-
-protected:
- WebPage *createWindow(WebWindowType type);
-
-Q_SIGNALS:
- void pageCreated(WebPage *);
-};
-
-#endif