diff options
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 19 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 115 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineprofile_p.h | 4 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp | 98 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginequotapermissionrequest.h | 71 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginesettings.cpp | 25 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginesettings.h | 10 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 18 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview_p.h | 6 |
10 files changed, 296 insertions, 72 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 76c705c6e..a6ff4583f 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -53,6 +53,7 @@ #include "qwebenginehistory_p.h" #include "qwebengineprofile.h" #include "qwebengineprofile_p.h" +#include "qwebenginequotapermissionrequest.h" #include "qwebenginescriptcollection_p.h" #include "qwebenginesettings.h" #include "qwebengineview.h" @@ -579,6 +580,13 @@ void QWebEnginePagePrivate::runMouseLockPermissionRequest(const QUrl &securityOr Q_EMIT q->featurePermissionRequested(securityOrigin, QWebEnginePage::MouseLock); } +void QWebEnginePagePrivate::runQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller) +{ + Q_Q(QWebEnginePage); + QWebEngineQuotaPermissionRequest request(controller); + Q_EMIT q->quotaPermissionRequested(request); +} + QObject *QWebEnginePagePrivate::accessibilityParentObject() { return view; @@ -740,6 +748,17 @@ QWebEnginePage::QWebEnginePage(QObject* parent) */ /*! + \fn QWebEnginePage::quotaPermissionRequested(QWebEngineQuotaPermissionRequest request) + \since 5.11 + + This signal is emitted when the web page requests larger persistent storage + than the application's current allocation in File System API. The default quota + is 0 bytes. + + The request object \a request can be used to accept or reject the request. +*/ + +/*! \fn void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success) \since 5.9 diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 295527e74..3fad6ca09 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -64,6 +64,7 @@ class QWebEngineHistory; class QWebEnginePage; class QWebEnginePagePrivate; class QWebEngineProfile; +class QWebEngineQuotaPermissionRequest; class QWebEngineScriptCollection; class QWebEngineSettings; @@ -330,6 +331,7 @@ Q_SIGNALS: void featurePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature); void featurePermissionRequestCanceled(const QUrl &securityOrigin, QWebEnginePage::Feature feature); void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest); + void quotaPermissionRequested(QWebEngineQuotaPermissionRequest quotaPermissionRequest); void authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator); void proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost); diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index ec84f05e1..1724a9dde 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -82,69 +82,70 @@ public: QWebEnginePagePrivate(QWebEngineProfile *profile = 0); ~QWebEnginePagePrivate(); - virtual QtWebEngineCore::RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegate(QtWebEngineCore::RenderWidgetHostViewQtDelegateClient *client) Q_DECL_OVERRIDE; - virtual QtWebEngineCore::RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegateForPopup(QtWebEngineCore::RenderWidgetHostViewQtDelegateClient *client) Q_DECL_OVERRIDE { return CreateRenderWidgetHostViewQtDelegate(client); } - virtual void titleChanged(const QString&) Q_DECL_OVERRIDE; - virtual void urlChanged(const QUrl&) Q_DECL_OVERRIDE; - virtual void iconChanged(const QUrl&) Q_DECL_OVERRIDE; - virtual void loadProgressChanged(int progress) Q_DECL_OVERRIDE; - virtual void didUpdateTargetURL(const QUrl&) Q_DECL_OVERRIDE; - virtual void selectionChanged() Q_DECL_OVERRIDE; - virtual void recentlyAudibleChanged(bool recentlyAudible) Q_DECL_OVERRIDE; - virtual QRectF viewportRect() const Q_DECL_OVERRIDE; - virtual qreal dpiScale() const Q_DECL_OVERRIDE; - virtual QColor backgroundColor() const Q_DECL_OVERRIDE; - virtual void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) Q_DECL_OVERRIDE; - virtual void loadCommitted() Q_DECL_OVERRIDE; - virtual void loadVisuallyCommitted() Q_DECL_OVERRIDE { } - virtual void loadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString()) Q_DECL_OVERRIDE; - virtual void focusContainer() Q_DECL_OVERRIDE; - virtual void unhandledKeyEvent(QKeyEvent *event) Q_DECL_OVERRIDE; - virtual void adoptNewWindow(QSharedPointer<QtWebEngineCore::WebContentsAdapter> newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &initialGeometry, const QUrl &targetUrl) Q_DECL_OVERRIDE; + QtWebEngineCore::RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegate(QtWebEngineCore::RenderWidgetHostViewQtDelegateClient *client) override; + QtWebEngineCore::RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegateForPopup(QtWebEngineCore::RenderWidgetHostViewQtDelegateClient *client) override { return CreateRenderWidgetHostViewQtDelegate(client); } + void titleChanged(const QString&) override; + void urlChanged(const QUrl&) override; + void iconChanged(const QUrl&) override; + void loadProgressChanged(int progress) override; + void didUpdateTargetURL(const QUrl&) override; + void selectionChanged() override; + void recentlyAudibleChanged(bool recentlyAudible) override; + QRectF viewportRect() const override; + qreal dpiScale() const override; + QColor backgroundColor() const override; + void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override; + void loadCommitted() override; + void loadVisuallyCommitted() override { } + void loadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString()) override; + void focusContainer() override; + void unhandledKeyEvent(QKeyEvent *event) override; + void adoptNewWindow(QSharedPointer<QtWebEngineCore::WebContentsAdapter> newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect &initialGeometry, const QUrl &targetUrl) override; void adoptNewWindowImpl(QWebEnginePage *newPage, const QSharedPointer<QtWebEngineCore::WebContentsAdapter> &newWebContents, const QRect &initialGeometry); - virtual bool isBeingAdopted() Q_DECL_OVERRIDE; - virtual void close() Q_DECL_OVERRIDE; - virtual void windowCloseRejected() Q_DECL_OVERRIDE; - virtual bool contextMenuRequested(const QtWebEngineCore::WebEngineContextMenuData &data) Q_DECL_OVERRIDE; - virtual void navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) Q_DECL_OVERRIDE; - virtual void requestFullScreenMode(const QUrl &origin, bool fullscreen) Q_DECL_OVERRIDE; - virtual bool isFullScreenMode() const Q_DECL_OVERRIDE; - virtual void javascriptDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController>) Q_DECL_OVERRIDE; - virtual void runFileChooser(QSharedPointer<QtWebEngineCore::FilePickerController>) Q_DECL_OVERRIDE; - virtual void showColorDialog(QSharedPointer<QtWebEngineCore::ColorChooserController>) Q_DECL_OVERRIDE; - virtual void didRunJavaScript(quint64 requestId, const QVariant& result) Q_DECL_OVERRIDE; - virtual void didFetchDocumentMarkup(quint64 requestId, const QString& result) Q_DECL_OVERRIDE; - virtual void didFetchDocumentInnerText(quint64 requestId, const QString& result) Q_DECL_OVERRIDE; - virtual void didFindText(quint64 requestId, int matchCount) Q_DECL_OVERRIDE; - virtual void didPrintPage(quint64 requestId, const QByteArray &result) Q_DECL_OVERRIDE; - virtual void didPrintPageToPdf(const QString &filePath, bool success) Q_DECL_OVERRIDE; - virtual void passOnFocus(bool reverse) Q_DECL_OVERRIDE; - virtual void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) Q_DECL_OVERRIDE; - virtual void authenticationRequired(QSharedPointer<QtWebEngineCore::AuthenticationDialogController>) Q_DECL_OVERRIDE; - virtual void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) Q_DECL_OVERRIDE; - virtual void runGeolocationPermissionRequest(const QUrl &securityOrigin) Q_DECL_OVERRIDE; - virtual void runMouseLockPermissionRequest(const QUrl &securityOrigin) Q_DECL_OVERRIDE; - virtual QObject *accessibilityParentObject() Q_DECL_OVERRIDE; - virtual QtWebEngineCore::WebEngineSettings *webEngineSettings() const Q_DECL_OVERRIDE; - virtual void allowCertificateError(const QSharedPointer<CertificateErrorController> &controller) Q_DECL_OVERRIDE; - virtual void showValidationMessage(const QRect &anchor, const QString &mainText, const QString &subText) Q_DECL_OVERRIDE; - virtual void hideValidationMessage() Q_DECL_OVERRIDE; - virtual void moveValidationMessage(const QRect &anchor) Q_DECL_OVERRIDE; + bool isBeingAdopted() override; + void close() override; + void windowCloseRejected() override; + bool contextMenuRequested(const QtWebEngineCore::WebEngineContextMenuData &data) override; + void navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) override; + void requestFullScreenMode(const QUrl &origin, bool fullscreen) override; + bool isFullScreenMode() const override; + void javascriptDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController>) override; + void runFileChooser(QSharedPointer<QtWebEngineCore::FilePickerController>) override; + void showColorDialog(QSharedPointer<QtWebEngineCore::ColorChooserController>) override; + void didRunJavaScript(quint64 requestId, const QVariant& result) override; + void didFetchDocumentMarkup(quint64 requestId, const QString& result) override; + void didFetchDocumentInnerText(quint64 requestId, const QString& result) override; + void didFindText(quint64 requestId, int matchCount) override; + void didPrintPage(quint64 requestId, const QByteArray &result) override; + void didPrintPageToPdf(const QString &filePath, bool success) override; + void passOnFocus(bool reverse) override; + void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) override; + void authenticationRequired(QSharedPointer<QtWebEngineCore::AuthenticationDialogController>) override; + void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) override; + void runGeolocationPermissionRequest(const QUrl &securityOrigin) override; + void runMouseLockPermissionRequest(const QUrl &securityOrigin) override; + void runQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController>) override; + QObject *accessibilityParentObject() override; + QtWebEngineCore::WebEngineSettings *webEngineSettings() const override; + void allowCertificateError(const QSharedPointer<CertificateErrorController> &controller) override; + void showValidationMessage(const QRect &anchor, const QString &mainText, const QString &subText) override; + void hideValidationMessage() override; + void moveValidationMessage(const QRect &anchor) override; virtual void renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, - int exitCode) Q_DECL_OVERRIDE; - virtual void requestGeometryChange(const QRect &geometry) Q_DECL_OVERRIDE; - virtual void updateScrollPosition(const QPointF &position) Q_DECL_OVERRIDE; - virtual void updateContentsSize(const QSizeF &size) Q_DECL_OVERRIDE; + int exitCode) override; + void requestGeometryChange(const QRect &geometry) override; + void updateScrollPosition(const QPointF &position) override; + void updateContentsSize(const QSizeF &size) override; void startDragging(const content::DropData &dropData, Qt::DropActions allowedActions, - const QPixmap &pixmap, const QPoint &offset) Q_DECL_OVERRIDE; - virtual bool isEnabled() const Q_DECL_OVERRIDE; - virtual void setToolTip(const QString &toolTipText) Q_DECL_OVERRIDE; - const QObject *holdingQObject() const Q_DECL_OVERRIDE; + const QPixmap &pixmap, const QPoint &offset) override; + bool isEnabled() const override; + void setToolTip(const QString &toolTipText) override; + const QObject *holdingQObject() const override; - virtual QSharedPointer<QtWebEngineCore::BrowserContextAdapter> browserContextAdapter() Q_DECL_OVERRIDE; - QtWebEngineCore::WebContentsAdapter *webContentsAdapter() Q_DECL_OVERRIDE; + QSharedPointer<QtWebEngineCore::BrowserContextAdapter> browserContextAdapter() override; + QtWebEngineCore::WebContentsAdapter *webContentsAdapter() override; void updateAction(QWebEnginePage::WebAction) const; void updateNavigationActions(); diff --git a/src/webenginewidgets/api/qwebengineprofile_p.h b/src/webenginewidgets/api/qwebengineprofile_p.h index c5a75f6d4..ffb28ec6d 100644 --- a/src/webenginewidgets/api/qwebengineprofile_p.h +++ b/src/webenginewidgets/api/qwebengineprofile_p.h @@ -78,8 +78,8 @@ public: void downloadDestroyed(quint32 downloadId); - void downloadRequested(DownloadItemInfo &info) Q_DECL_OVERRIDE; - void downloadUpdated(const DownloadItemInfo &info) Q_DECL_OVERRIDE; + void downloadRequested(DownloadItemInfo &info) override; + void downloadUpdated(const DownloadItemInfo &info) override; private: QWebEngineProfile *q_ptr; diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp b/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp new file mode 100644 index 000000000..0841854ea --- /dev/null +++ b/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2017 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$ +** +****************************************************************************/ + +#include "qwebenginequotapermissionrequest.h" + +#include "quota_permission_controller.h" + +QT_BEGIN_NAMESPACE + +/*! + \class QWebEngineQuotaPermissionRequest + \brief The QWebEngineQuotaPermissionRequest class enables accepting or rejecting + requests for larger persistent storage than the application's current allocation + in File System API. + + \since 5.11 + + \inmodule QtWebEngineWidgets +*/ + +QWebEngineQuotaPermissionRequest::QWebEngineQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller) + : d_ptr(controller) +{ +} + +/*! + Rejects a request for larger persistent storage. +*/ +void QWebEngineQuotaPermissionRequest::reject() +{ + d_ptr->cancel(); +} + +/*! + Accepts a request for larger persistent storage. +*/ +void QWebEngineQuotaPermissionRequest::accept() +{ + d_ptr->accept(); +} + +/*! + \property QWebEngineQuotaPermissionRequest::origin + \brief The URL of the web page that issued the quota permission request. +*/ + +QUrl QWebEngineQuotaPermissionRequest::origin() const +{ + return d_ptr->origin(); +} + +/*! + \property QWebEngineQuotaPermissionRequest::requestedSize + \brief Contains the size of the requested disk space in bytes. +*/ + +qint64 QWebEngineQuotaPermissionRequest::requestedSize() const +{ + return d_ptr->requestedSize(); +} + +QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.h b/src/webenginewidgets/api/qwebenginequotapermissionrequest.h new file mode 100644 index 000000000..aa0184fad --- /dev/null +++ b/src/webenginewidgets/api/qwebenginequotapermissionrequest.h @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2017 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 QWEBENGINEQUOTAPERMISSIONREQUEST_H +#define QWEBENGINEQUOTAPERMISSIONREQUEST_H + +#include <QtCore/qsharedpointer.h> +#include <QtCore/qurl.h> +#include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h> + +namespace QtWebEngineCore { + class QuotaPermissionController; +} + +QT_BEGIN_NAMESPACE + +class QWEBENGINEWIDGETS_EXPORT QWebEngineQuotaPermissionRequest { + Q_GADGET + Q_PROPERTY(QUrl origin READ origin) + Q_PROPERTY(qint64 requestedSize READ requestedSize) +public: + Q_INVOKABLE void accept(); + Q_INVOKABLE void reject(); + QUrl origin() const; + qint64 requestedSize() const; + +private: + QWebEngineQuotaPermissionRequest(QSharedPointer<QtWebEngineCore::QuotaPermissionController> controller); + QSharedPointer<QtWebEngineCore::QuotaPermissionController> d_ptr; + friend class QWebEnginePagePrivate; +}; + +QT_END_NAMESPACE + +#endif // QWEBENGINEQUOTAPERMISSIONREQUEST_H diff --git a/src/webenginewidgets/api/qwebenginesettings.cpp b/src/webenginewidgets/api/qwebenginesettings.cpp index 1def61cb6..2d7c68926 100644 --- a/src/webenginewidgets/api/qwebenginesettings.cpp +++ b/src/webenginewidgets/api/qwebenginesettings.cpp @@ -182,7 +182,6 @@ void QWebEngineSettings::resetFontSize(QWebEngineSettings::FontSize type) d->resetFontSize(static_cast<WebEngineSettings::FontSize>(type)); } - void QWebEngineSettings::setDefaultTextEncoding(const QString &encoding) { Q_D(QWebEngineSettings); @@ -195,6 +194,30 @@ QString QWebEngineSettings::defaultTextEncoding() const return d->defaultTextEncoding(); } +ASSERT_ENUMS_MATCH(WebEngineSettings::DisallowUnknownUrlSchemes, QWebEngineSettings::DisallowUnknownUrlSchemes) +ASSERT_ENUMS_MATCH(WebEngineSettings::AllowUnknownUrlSchemesFromUserInteraction, QWebEngineSettings::AllowUnknownUrlSchemesFromUserInteraction) +ASSERT_ENUMS_MATCH(WebEngineSettings::AllowAllUnknownUrlSchemes, QWebEngineSettings::AllowAllUnknownUrlSchemes) + +QWebEngineSettings::UnknownUrlSchemePolicy QWebEngineSettings::unknownUrlSchemePolicy() const +{ + Q_D(const QWebEngineSettings); + WebEngineSettings::UnknownUrlSchemePolicy result = d->unknownUrlSchemePolicy(); + Q_ASSERT(result != WebEngineSettings::InheritedUnknownUrlSchemePolicy); + return static_cast<QWebEngineSettings::UnknownUrlSchemePolicy>(result); +} + +void QWebEngineSettings::setUnknownUrlSchemePolicy(QWebEngineSettings::UnknownUrlSchemePolicy policy) +{ + Q_D(QWebEngineSettings); + d->setUnknownUrlSchemePolicy(static_cast<WebEngineSettings::UnknownUrlSchemePolicy>(policy)); +} + +void QWebEngineSettings::resetUnknownUrlSchemePolicy() +{ + Q_D(QWebEngineSettings); + d->setUnknownUrlSchemePolicy(WebEngineSettings::InheritedUnknownUrlSchemePolicy); +} + void QWebEngineSettings::setAttribute(QWebEngineSettings::WebAttribute attr, bool on) { Q_D(QWebEngineSettings); diff --git a/src/webenginewidgets/api/qwebenginesettings.h b/src/webenginewidgets/api/qwebenginesettings.h index 470609227..fc9372968 100644 --- a/src/webenginewidgets/api/qwebenginesettings.h +++ b/src/webenginewidgets/api/qwebenginesettings.h @@ -101,6 +101,12 @@ public: DefaultFixedFontSize }; + enum UnknownUrlSchemePolicy { + DisallowUnknownUrlSchemes = 1, + AllowUnknownUrlSchemesFromUserInteraction, + AllowAllUnknownUrlSchemes + }; + #if QT_DEPRECATED_SINCE(5, 5) static QWebEngineSettings *globalSettings(); #endif @@ -121,6 +127,10 @@ public: 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; diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 487cc2316..795e011ad 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -103,7 +103,7 @@ public: void findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>()); #endif - virtual QSize sizeHint() const Q_DECL_OVERRIDE; + QSize sizeHint() const override; QWebEngineSettings *settings() const; public Q_SLOTS: @@ -126,14 +126,14 @@ Q_SIGNALS: protected: virtual QWebEngineView *createWindow(QWebEnginePage::WebWindowType type); - virtual void contextMenuEvent(QContextMenuEvent*) Q_DECL_OVERRIDE; - virtual bool event(QEvent*) Q_DECL_OVERRIDE; - virtual void showEvent(QShowEvent *) Q_DECL_OVERRIDE; - virtual void hideEvent(QHideEvent *) Q_DECL_OVERRIDE; - void dragEnterEvent(QDragEnterEvent *e) Q_DECL_OVERRIDE; - void dragLeaveEvent(QDragLeaveEvent *e) Q_DECL_OVERRIDE; - void dragMoveEvent(QDragMoveEvent *e) Q_DECL_OVERRIDE; - void dropEvent(QDropEvent *e) Q_DECL_OVERRIDE; + void contextMenuEvent(QContextMenuEvent*) override; + bool event(QEvent*) override; + void showEvent(QShowEvent *) override; + void hideEvent(QHideEvent *) override; + void dragEnterEvent(QDragEnterEvent *e) override; + void dragLeaveEvent(QDragLeaveEvent *e) override; + void dragMoveEvent(QDragMoveEvent *e) override; + void dropEvent(QDropEvent *e) override; private: Q_DISABLE_COPY(QWebEngineView) diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index f3a37225b..7f0cdac45 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -80,9 +80,9 @@ public: QWebEngineViewAccessible(QWebEngineView *o) : QAccessibleWidget(o) {} - int childCount() const Q_DECL_OVERRIDE; - QAccessibleInterface *child(int index) const Q_DECL_OVERRIDE; - int indexOfChild(const QAccessibleInterface *child) const Q_DECL_OVERRIDE; + int childCount() const override; + QAccessibleInterface *child(int index) const override; + int indexOfChild(const QAccessibleInterface *child) const override; private: QWebEngineView *view() const { return static_cast<QWebEngineView*>(object()); } |