aboutsummaryrefslogtreecommitdiffstats
path: root/PageRunner.cpp
blob: 5314ba4e680c1fcb91c2c21d3ea0a94231c69ce9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "PageRunner.h"
#include <QApplication>
#include <QWebPage>
#include <QWebFrame>
#include <QWebSettings>
#include <iostream>

PageRunner::PageRunner(const QUrl &webpage, QObject *parent) :
	QObject(parent)
{
	m_page = new QWebPage(this);
	m_page->settings()->setAttribute(QWebSettings::AutoLoadImages, false);
	m_page->settings()->setAttribute(QWebSettings::DnsPrefetchEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::JavaEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::PluginsEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
	m_page->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, false);
	m_page->settings()->setAttribute(QWebSettings::JavascriptCanAccessClipboard, false);
	m_page->settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::LocalStorageEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, false);
	m_page->settings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, false);
	m_page->settings()->setAttribute(QWebSettings::XSSAuditingEnabled, true);
	m_page->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, false);
	m_page->settings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, false);
	connect(m_page, SIGNAL(loadFinished(bool)), this, SLOT(loaded()));
	m_page->mainFrame()->load(webpage);
}
void PageRunner::loaded()
{
	std::wcout << m_page->mainFrame()->toHtml().toStdWString() << std::endl;
	qApp->quit();
}