6 #include "mailwebenginepage.h"
7 #include <QFontDatabase>
8 #include <QWebEngineProfile>
9 #include <QWebEngineSettings>
11 using namespace MessageViewer;
13 MailWebEnginePage::MailWebEnginePage(
QObject *parent)
14 : WebEngineViewer::WebEnginePage(parent)
19 void MailWebEnginePage::initialize()
21 const bool enableElement =
false;
22 settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, enableElement);
23 settings()->setAttribute(QWebEngineSettings::PluginsEnabled, enableElement);
24 settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, enableElement);
25 settings()->setAttribute(QWebEngineSettings::JavascriptCanAccessClipboard, enableElement);
26 settings()->setAttribute(QWebEngineSettings::LocalStorageEnabled, enableElement);
27 settings()->setAttribute(QWebEngineSettings::XSSAuditingEnabled, enableElement);
28 settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, enableElement);
31 settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, enableElement);
32 settings()->setAttribute(QWebEngineSettings::HyperlinkAuditingEnabled, enableElement);
33 settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, enableElement);
34 settings()->setAttribute(QWebEngineSettings::WebGLEnabled, enableElement);
35 settings()->setAttribute(QWebEngineSettings::AutoLoadIconsForPage, enableElement);
36 settings()->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, enableElement);
37 settings()->setAttribute(QWebEngineSettings::WebGLEnabled, enableElement);
39 settings()->setAttribute(QWebEngineSettings::FocusOnNavigationEnabled, enableElement);
40 settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, enableElement);
41 settings()->setAttribute(QWebEngineSettings::PdfViewerEnabled, enableElement);
42 profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
43 profile()->setHttpCacheType(QWebEngineProfile::MemoryHttpCache);
46 settings()->setFontFamily(QWebEngineSettings::StandardFont, font.family());
47 settings()->setFontSize(QWebEngineSettings::DefaultFontSize, font.pixelSize());
48 connect(
this, &QWebEnginePage::featurePermissionRequested,
this, &MailWebEnginePage::slotFeaturePermissionRequested);
51 void MailWebEnginePage::setPrintElementBackground(
bool printElementBackground)
53 settings()->setAttribute(QWebEngineSettings::PrintElementBackgrounds, printElementBackground);
56 void MailWebEnginePage::slotFeaturePermissionRequested(
const QUrl &url, QWebEnginePage::Feature feature)
59 setFeaturePermission(url, feature, QWebEnginePage::PermissionDeniedByUser);