diff options
Diffstat (limited to 'src/webenginequick/api/qquickwebengineview_p.h')
-rw-r--r-- | src/webenginequick/api/qquickwebengineview_p.h | 114 |
1 files changed, 51 insertions, 63 deletions
diff --git a/src/webenginequick/api/qquickwebengineview_p.h b/src/webenginequick/api/qquickwebengineview_p.h index 867e37d06..37e39dfed 100644 --- a/src/webenginequick/api/qquickwebengineview_p.h +++ b/src/webenginequick/api/qquickwebengineview_p.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QQUICKWEBENGINEVIEW_P_H #define QQUICKWEBENGINEVIEW_P_H @@ -52,15 +16,15 @@ // #include <QtWebEngineCore/qtwebenginecoreglobal.h> +#include <QtWebEngineCore/qwebenginequotarequest.h> +#include <QtWebEngineCore/qwebenginedesktopmediarequest.h> +#include <QtWebEngineCore/qwebenginedownloadrequest.h> +#include <QtWebEngineCore/qwebengineframe.h> #include <QtWebEngineQuick/private/qtwebenginequickglobal_p.h> #include <QtGui/qcolor.h> #include <QtQml/qqmlregistration.h> #include <QtQuick/qquickitem.h> -namespace QtWebEngineCore { -class RenderWidgetHostViewQtDelegateQuick; -} - QT_BEGIN_NAMESPACE class QQmlWebChannel; @@ -79,18 +43,19 @@ class QQuickWebEngineTooltipRequest; class QQuickWebEngineViewPrivate; class QWebEngineCertificateError; class QWebEngineContextMenuRequest; +class QWebEngineFileSystemAccessRequest; class QWebEngineFindTextResult; class QWebEngineFullScreenRequest; class QWebEngineHistory; class QWebEngineLoadingInfo; class QWebEngineNavigationRequest; class QWebEngineNewWindowRequest; -class QWebEngineQuotaRequest; class QWebEngineRegisterProtocolHandlerRequest; class QQuickWebEngineScriptCollection; class QQuickWebEngineTouchSelectionMenuRequest; +class QWebEngineWebAuthUxRequest; -class Q_WEBENGINEQUICK_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem { +class Q_WEBENGINEQUICK_EXPORT QQuickWebEngineView : public QQuickItem { Q_OBJECT Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged FINAL) @@ -119,6 +84,7 @@ class Q_WEBENGINEQUICK_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem { Q_PROPERTY(QQuickWebEngineView *inspectedView READ inspectedView WRITE setInspectedView NOTIFY inspectedViewChanged REVISION(1,7) FINAL) Q_PROPERTY(QQuickWebEngineView *devToolsView READ devToolsView WRITE setDevToolsView NOTIFY devToolsViewChanged REVISION(1,7) FINAL) + Q_PROPERTY(QString devToolsId READ devToolsId CONSTANT REVISION(6,6) FINAL) Q_PROPERTY(LifecycleState lifecycleState READ lifecycleState WRITE setLifecycleState NOTIFY lifecycleStateChanged REVISION(1,10) FINAL) Q_PROPERTY(LifecycleState recommendedState READ recommendedState NOTIFY recommendedStateChanged REVISION(1,10) FINAL) @@ -126,6 +92,7 @@ class Q_WEBENGINEQUICK_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem { Q_PROPERTY(qint64 renderProcessPid READ renderProcessPid NOTIFY renderProcessPidChanged FINAL REVISION(1,11)) Q_PROPERTY(QQmlComponent *touchHandleDelegate READ touchHandleDelegate WRITE setTouchHandleDelegate NOTIFY touchHandleDelegateChanged REVISION(0) FINAL) + Q_PROPERTY(QWebEngineFrame mainFrame READ mainFrame FINAL REVISION(6, 8)) QML_NAMED_ELEMENT(WebEngineView) QML_ADDED_IN_VERSION(1, 0) QML_EXTRA_VERSION(2, 0) @@ -208,6 +175,8 @@ QT_WARNING_POP DesktopVideoCapture, DesktopAudioVideoCapture, Notifications, + ClipboardReadWrite, + LocalFontsAccess, }; Q_ENUM(Feature) @@ -251,6 +220,7 @@ QT_WARNING_POP RequestClose, Unselect, SavePage, + OpenLinkInNewBackgroundTab, // Not supported in QML ViewSource, ToggleBold, @@ -268,6 +238,9 @@ QT_WARNING_POP InsertOrderedList, InsertUnorderedList, + ChangeTextDirectionLTR, + ChangeTextDirectionRTL, + WebActionCount }; Q_ENUM(WebAction) @@ -299,8 +272,6 @@ QT_WARNING_POP // must match QPageSize::PageSizeId enum PrintedPageSizeId { // Existing Qt sizes - A4, - B5, Letter, Legal, Executive, @@ -308,21 +279,24 @@ QT_WARNING_POP A1, A2, A3, + A4, A5, A6, A7, A8, A9, + A10, B0, B1, - B10, B2, B3, B4, + B5, B6, B7, B8, B9, + B10, C5E, Comm10E, DLE, @@ -332,7 +306,6 @@ QT_WARNING_POP Custom, // New values derived from PPD standard - A10, A3Extra, A4Extra, A4Plus, @@ -435,10 +408,8 @@ QT_WARNING_POP EnvelopePrc10, EnvelopeYou4, - // Last item, with commonly used synynoms from QPagedPrintEngine / QPrinter + // Last item LastPageSize = EnvelopeYou4, - NPageSize = LastPageSize, - NPaperSize = LastPageSize, // Convenience overloads for naming consistency AnsiA = Letter, @@ -493,6 +464,7 @@ QT_WARNING_POP QQuickWebEngineView *inspectedView() const; void setDevToolsView(QQuickWebEngineView *); QQuickWebEngineView *devToolsView() const; + QString devToolsId(); LifecycleState lifecycleState() const; void setLifecycleState(LifecycleState state); @@ -502,6 +474,9 @@ QT_WARNING_POP QQmlComponent *touchHandleDelegate() const; void setTouchHandleDelegate(QQmlComponent *delegagte); + QWebEngineFrame mainFrame(); + Q_REVISION(6, 8) Q_INVOKABLE QWebEngineFrame findFrameByName(const QString &name); + public Q_SLOTS: void runJavaScript(const QString&, const QJSValue & = QJSValue()); Q_REVISION(1,3) void runJavaScript(const QString&, quint32 worldId, const QJSValue & = QJSValue()); @@ -514,12 +489,15 @@ public Q_SLOTS: void stop(); Q_REVISION(1,1) void findText(const QString &subString, FindFlags options = { }, const QJSValue &callback = QJSValue()); Q_REVISION(1,1) void fullScreenCancelled(); - Q_REVISION(1,1) void grantFeaturePermission(const QUrl &securityOrigin, Feature, bool granted); + Q_REVISION(1,1) void grantFeaturePermission(const QUrl &securityOrigin, QQuickWebEngineView::Feature, bool granted); Q_REVISION(1,2) void setActiveFocusOnPress(bool arg); Q_REVISION(1,2) void triggerWebAction(WebAction action); Q_REVISION(1,3) void printToPdf(const QString &filePath, PrintedPageSizeId pageSizeId = PrintedPageSizeId::A4, PrintedPageOrientation orientation = PrintedPageOrientation::Portrait); Q_REVISION(1,3) void printToPdf(const QJSValue &callback, PrintedPageSizeId pageSizeId = PrintedPageSizeId::A4, PrintedPageOrientation orientation = PrintedPageOrientation::Portrait); Q_REVISION(1,4) void replaceMisspelledWord(const QString &replacement); + Q_REVISION(6, 6) void save(const QString &filePath, + QWebEngineDownloadRequest::SavePageFormat format = + QWebEngineDownloadRequest::MimeHtmlSaveFormat) const; private Q_SLOTS: void lazyInitialize(); @@ -532,17 +510,22 @@ Q_SIGNALS: void loadProgressChanged(); void linkHovered(const QUrl &hoveredUrl); void navigationRequested(QWebEngineNavigationRequest *request); - void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID); + void javaScriptConsoleMessage(QQuickWebEngineView::JavaScriptConsoleMessageLevel level, + const QString &message, int lineNumber, const QString &sourceID); Q_REVISION(1,1) void certificateError(const QWebEngineCertificateError &error); Q_REVISION(1,1) void fullScreenRequested(const QWebEngineFullScreenRequest &request); Q_REVISION(1,1) void isFullScreenChanged(); - Q_REVISION(1,1) void featurePermissionRequested(const QUrl &securityOrigin, Feature feature); + Q_REVISION(1, 1) + void featurePermissionRequested(const QUrl &securityOrigin, + QQuickWebEngineView::Feature feature); Q_REVISION(1,1) void zoomFactorChanged(qreal arg); Q_REVISION(1,1) void profileChanged(); Q_REVISION(1,1) void webChannelChanged(); Q_REVISION(1,2) void activeFocusOnPressChanged(bool); Q_REVISION(1,2) void backgroundColorChanged(); - Q_REVISION(1,2) void renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode); + Q_REVISION(1, 2) + void renderProcessTerminated(QQuickWebEngineView::RenderProcessTerminationStatus terminationStatus, + int exitCode); Q_REVISION(1,2) void windowCloseRequested(); Q_REVISION(1,3) void contentsSizeChanged(const QSizeF& size); Q_REVISION(1,3) void scrollPositionChanged(const QPointF& position); @@ -555,7 +538,10 @@ Q_SIGNALS: Q_REVISION(1,4) void colorDialogRequested(QQuickWebEngineColorDialogRequest *request); Q_REVISION(1,4) void fileDialogRequested(QQuickWebEngineFileDialogRequest *request); Q_REVISION(1,5) void pdfPrintingFinished(const QString &filePath, bool success); - Q_REVISION(1,7) void quotaRequested(const QWebEngineQuotaRequest &request); +#if QT_DEPRECATED_SINCE(6, 5) + QT_DEPRECATED_VERSION_X_6_5("Requesting host quota is no longer supported.") + Q_REVISION(1, 7) void quotaRequested(const QWebEngineQuotaRequest &request); +#endif Q_REVISION(1,7) void geometryChangeRequested(const QRect &geometry, const QRect &frameGeometry); Q_REVISION(1,7) void inspectedViewChanged(); Q_REVISION(1,7) void devToolsViewChanged(); @@ -563,8 +549,8 @@ Q_SIGNALS: Q_REVISION(1,8) void printRequested(); Q_REVISION(1,9) void selectClientCertificate(QQuickWebEngineClientCertificateSelection *clientCertSelection); Q_REVISION(1,10) void tooltipRequested(QQuickWebEngineTooltipRequest *request); - Q_REVISION(1,10) void lifecycleStateChanged(LifecycleState state); - Q_REVISION(1,10) void recommendedStateChanged(LifecycleState state); + Q_REVISION(1, 10) void lifecycleStateChanged(QQuickWebEngineView::LifecycleState state); + Q_REVISION(1, 10) void recommendedStateChanged(QQuickWebEngineView::LifecycleState state); Q_REVISION(1,10) void findTextFinished(const QWebEngineFindTextResult &result); Q_REVISION(1,11) void renderProcessPidChanged(qint64 pid); Q_REVISION(1,11) void canGoBackChanged(); @@ -572,6 +558,9 @@ Q_SIGNALS: Q_REVISION(1,12) void newWindowRequested(QQuickWebEngineNewWindowRequest *request); Q_REVISION(6,3) void touchSelectionMenuRequested(QQuickWebEngineTouchSelectionMenuRequest *request); Q_REVISION(6,4) void touchHandleDelegateChanged(); + Q_REVISION(6,4) void fileSystemAccessRequested(const QWebEngineFileSystemAccessRequest &request); + Q_REVISION(6, 7) void webAuthUxRequested(QWebEngineWebAuthUxRequest *request); + Q_REVISION(6,7) void desktopMediaRequested(const QWebEngineDesktopMediaRequest &request); protected: void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override; @@ -587,13 +576,12 @@ private: Q_DECLARE_PRIVATE(QQuickWebEngineView) QScopedPointer<QQuickWebEngineViewPrivate> d_ptr; - friend class QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick; friend class QQuickContextMenuBuilder; - friend class FaviconImageResponse; - friend class FaviconImageResponseRunnable; -#ifndef QT_NO_ACCESSIBILITY + friend class FaviconProviderHelper; + friend class FaviconImageRequester; +#if QT_CONFIG(accessibility) friend class QQuickWebEngineViewAccessible; -#endif // QT_NO_ACCESSIBILITY +#endif // QT_CONFIG(accessibility) }; QT_END_NAMESPACE |