File indexing completed on 2025-02-16 04:57:43

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "templatewebenginepage.h"
0008 #include <QWebEngineProfile>
0009 #include <QWebEngineSettings>
0010 
0011 using namespace TemplateParser;
0012 
0013 TemplateWebEnginePage::TemplateWebEnginePage(QObject *parent)
0014     : QWebEnginePage(parent)
0015 {
0016     settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, false);
0017     settings()->setAttribute(QWebEngineSettings::PluginsEnabled, false);
0018     settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, false);
0019     settings()->setAttribute(QWebEngineSettings::JavascriptCanAccessClipboard, false);
0020     settings()->setAttribute(QWebEngineSettings::LocalStorageEnabled, false);
0021     settings()->setAttribute(QWebEngineSettings::XSSAuditingEnabled, false);
0022     settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, false);
0023     settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, false);
0024     // We need to activate it in qt5.15 otherwise we can't load local css file and co
0025     // settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, false);
0026     settings()->setAttribute(QWebEngineSettings::HyperlinkAuditingEnabled, false);
0027     settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, false);
0028     settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, false);
0029     settings()->setAttribute(QWebEngineSettings::WebGLEnabled, false);
0030     settings()->setAttribute(QWebEngineSettings::AutoLoadIconsForPage, false);
0031     settings()->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled, false);
0032     settings()->setAttribute(QWebEngineSettings::WebGLEnabled, false);
0033 
0034     settings()->setAttribute(QWebEngineSettings::FocusOnNavigationEnabled, false);
0035     settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, false);
0036     settings()->setAttribute(QWebEngineSettings::PdfViewerEnabled, false);
0037     settings()->setAttribute(QWebEngineSettings::NavigateOnDropEnabled, false);
0038     profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
0039     profile()->setHttpCacheType(QWebEngineProfile::MemoryHttpCache);
0040 }
0041 
0042 TemplateWebEnginePage::~TemplateWebEnginePage() = default;
0043 
0044 #include "moc_templatewebenginepage.cpp"