diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-08-21 15:19:55 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-09-02 17:41:20 +0200 |
commit | c4a4a38062ba04b0986f53a0e307c60cf97e6fb8 (patch) | |
tree | eceaaeecf2fda5eca72eb1d472e5fadf757729b6 /src/core/api/qwebenginesettings.h | |
parent | 0870cc93ad3240f5898f231c8f8b8fd82035206d (diff) |
Move qwebenginesettings to core
Just moves qwebenginesettings to core.
[ChangeLog] QWebEngineSettings is moved to QtWebEngieCore
Change-Id: I7f623bce98213669a4b844f3377aa13e7f3dbd96
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/core/api/qwebenginesettings.h')
-rw-r--r-- | src/core/api/qwebenginesettings.h | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/src/core/api/qwebenginesettings.h b/src/core/api/qwebenginesettings.h new file mode 100644 index 000000000..3b98c0fd7 --- /dev/null +++ b/src/core/api/qwebenginesettings.h @@ -0,0 +1,152 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtWebEngine module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWEBENGINESETTINGS_H +#define QWEBENGINESETTINGS_H + +#include <QtWebEngineCore/qtwebenginecoreglobal.h> +#include <QtCore/qscopedpointer.h> +#include <QtCore/qstring.h> + +namespace QtWebEngineCore { +class WebEngineSettings; +} + +QT_BEGIN_NAMESPACE + +class QIcon; +class QPixmap; +class QUrl; + +class Q_WEBENGINECORE_EXPORT QWebEngineSettings { +public: + enum FontFamily { + StandardFont, + FixedFont, + SerifFont, + SansSerifFont, + CursiveFont, + FantasyFont, + PictographFont + }; + enum WebAttribute { + AutoLoadImages, + JavascriptEnabled, + JavascriptCanOpenWindows, + JavascriptCanAccessClipboard, + LinksIncludedInFocusChain, + LocalStorageEnabled, + LocalContentCanAccessRemoteUrls, + XSSAuditingEnabled, + SpatialNavigationEnabled, + LocalContentCanAccessFileUrls, + HyperlinkAuditingEnabled, + ScrollAnimatorEnabled, + ErrorPageEnabled, + PluginsEnabled, + FullScreenSupportEnabled, + ScreenCaptureEnabled, + WebGLEnabled, + Accelerated2dCanvasEnabled, + AutoLoadIconsForPage, + TouchIconsEnabled, + FocusOnNavigationEnabled, + PrintElementBackgrounds, + AllowRunningInsecureContent, + AllowGeolocationOnInsecureOrigins, + AllowWindowActivationFromJavaScript, + ShowScrollBars, + PlaybackRequiresUserGesture, + WebRTCPublicInterfacesOnly, + JavascriptCanPaste, + DnsPrefetchEnabled, + PdfViewerEnabled, + }; + + enum FontSize { + MinimumFontSize, + MinimumLogicalFontSize, + DefaultFontSize, + DefaultFixedFontSize + }; + + enum UnknownUrlSchemePolicy { + DisallowUnknownUrlSchemes = 1, + AllowUnknownUrlSchemesFromUserInteraction, + AllowAllUnknownUrlSchemes + }; + + //TODO: see if we still need it + //static QWebEngineSettings *defaultSettings(); + + void setFontFamily(FontFamily which, const QString &family); + QString fontFamily(FontFamily which) const; + void resetFontFamily(FontFamily which); + + void setFontSize(FontSize type, int size); + int fontSize(FontSize type) const; + void resetFontSize(FontSize type); + + void setAttribute(WebAttribute attr, bool on); + bool testAttribute(WebAttribute attr) const; + void resetAttribute(WebAttribute attr); + + void setDefaultTextEncoding(const QString &encoding); + QString defaultTextEncoding() const; + + UnknownUrlSchemePolicy unknownUrlSchemePolicy() const; + void setUnknownUrlSchemePolicy(UnknownUrlSchemePolicy policy); + void resetUnknownUrlSchemePolicy(); + +private: + Q_DISABLE_COPY(QWebEngineSettings) + typedef ::QtWebEngineCore::WebEngineSettings QWebEngineSettingsPrivate; + QWebEngineSettingsPrivate* d_func() { return d_ptr.data(); } + const QWebEngineSettingsPrivate* d_func() const { return d_ptr.data(); } + QScopedPointer<QWebEngineSettingsPrivate> d_ptr; + friend class QWebEnginePagePrivate; + friend class QWebEngineProfilePrivate; + + ~QWebEngineSettings(); + explicit QWebEngineSettings(QWebEngineSettings *parentSettings = Q_NULLPTR); +}; + +QT_END_NAMESPACE + +#endif // QWEBENGINESETTINGS_H |