diff options
Diffstat (limited to 'src/webenginequick/api/qquickwebengineview_p.h')
-rw-r--r-- | src/webenginequick/api/qquickwebengineview_p.h | 118 |
1 files changed, 55 insertions, 63 deletions
diff --git a/src/webenginequick/api/qquickwebengineview_p.h b/src/webenginequick/api/qquickwebengineview_p.h index 3d3356a4e..c2bbc2ac3 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,18 +16,18 @@ // #include <QtWebEngineCore/qtwebenginecoreglobal.h> +#include <QtWebEngineCore/qwebenginequotarequest.h> +#include <QtWebEngineCore/qwebenginedesktopmediarequest.h> +#include <QtWebEngineCore/qwebenginedownloadrequest.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; +class QQmlComponent; class QQuickContextMenuBuilder; class QQuickWebEngineAction; class QQuickWebEngineAuthenticationDialogRequest; @@ -78,17 +42,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) @@ -117,11 +83,14 @@ 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) 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) QML_NAMED_ELEMENT(WebEngineView) QML_ADDED_IN_VERSION(1, 0) QML_EXTRA_VERSION(2, 0) @@ -204,6 +173,8 @@ QT_WARNING_POP DesktopVideoCapture, DesktopAudioVideoCapture, Notifications, + ClipboardReadWrite, + LocalFontsAccess, }; Q_ENUM(Feature) @@ -247,6 +218,7 @@ QT_WARNING_POP RequestClose, Unselect, SavePage, + OpenLinkInNewBackgroundTab, // Not supported in QML ViewSource, ToggleBold, @@ -264,6 +236,9 @@ QT_WARNING_POP InsertOrderedList, InsertUnorderedList, + ChangeTextDirectionLTR, + ChangeTextDirectionRTL, + WebActionCount }; Q_ENUM(WebAction) @@ -295,8 +270,6 @@ QT_WARNING_POP // must match QPageSize::PageSizeId enum PrintedPageSizeId { // Existing Qt sizes - A4, - B5, Letter, Legal, Executive, @@ -304,21 +277,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, @@ -328,7 +304,6 @@ QT_WARNING_POP Custom, // New values derived from PPD standard - A10, A3Extra, A4Extra, A4Plus, @@ -431,10 +406,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, @@ -489,12 +462,16 @@ QT_WARNING_POP QQuickWebEngineView *inspectedView() const; void setDevToolsView(QQuickWebEngineView *); QQuickWebEngineView *devToolsView() const; + QString devToolsId(); LifecycleState lifecycleState() const; void setLifecycleState(LifecycleState state); LifecycleState recommendedState() const; + QQmlComponent *touchHandleDelegate() const; + void setTouchHandleDelegate(QQmlComponent *delegagte); + public Q_SLOTS: void runJavaScript(const QString&, const QJSValue & = QJSValue()); Q_REVISION(1,3) void runJavaScript(const QString&, quint32 worldId, const QJSValue & = QJSValue()); @@ -507,12 +484,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(); @@ -525,17 +505,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); @@ -548,7 +533,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(); @@ -556,13 +544,18 @@ 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(); Q_REVISION(1,11) void canGoForwardChanged(); 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; @@ -578,13 +571,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 |