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