diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2018-01-15 17:57:05 +0100 |
---|---|---|
committer | Jüri Valdmann <juri.valdmann@qt.io> | 2018-02-13 08:18:06 +0000 |
commit | 2a4a5b2ec17189d4ea8fa783cf219c65560e81f8 (patch) | |
tree | 547f48440093ec3fe77e3d787696aa242e82d794 /src/webengine/api/qquickwebengineview_p.h | |
parent | 58fea877aa61cf0e7bc81d0c3c91f732c2791ff3 (diff) |
Add support for registerProtocolHandler
Extend initialization of URLRequestContextGetterQt to create a
content::ProtocolHandlerRegistry for each content::BrowserContext and add the
registry's URL request interceptor to the front of the interceptor chain.
Implement methods in WebContentsDelegateQt to add/remove protocol handlers
to/from the ProtocolHandlerRegistry.
Add permission request signal and classes for core, quick and widgets.
Add widgets autotest.
Add signal handlers to quicknanobrowser and simplebrowser.
Task-number: QTBUG-62783
Change-Id: I808e7eb9a1cb4d7216686deed4895de14fe46310
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebengineview_p.h')
-rw-r--r-- | src/webengine/api/qquickwebengineview_p.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h index 8bda609c0..5b018b8a8 100644 --- a/src/webengine/api/qquickwebengineview_p.h +++ b/src/webengine/api/qquickwebengineview_p.h @@ -59,6 +59,7 @@ namespace QtWebEngineCore { class QuotaPermissionController; + class RegisterProtocolHandlerPermissionController; } @@ -123,6 +124,24 @@ private: QSharedPointer<QtWebEngineCore::QuotaPermissionController> d_ptr; }; +class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineRegisterProtocolHandlerPermissionRequest { + Q_GADGET + Q_PROPERTY(QUrl origin READ origin CONSTANT FINAL) + Q_PROPERTY(QString protocol READ protocol CONSTANT FINAL) +public: + QQuickWebEngineRegisterProtocolHandlerPermissionRequest() {} + QQuickWebEngineRegisterProtocolHandlerPermissionRequest( + QSharedPointer<QtWebEngineCore::RegisterProtocolHandlerPermissionController>); + + Q_INVOKABLE void accept(); + Q_INVOKABLE void reject(); + QUrl origin() const; + QString protocol() const; + +private: + QSharedPointer<QtWebEngineCore::RegisterProtocolHandlerPermissionController> d_ptr; +}; + #define LATEST_WEBENGINEVIEW_REVISION 7 class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem { @@ -567,6 +586,7 @@ Q_SIGNALS: Q_REVISION(7) void geometryChangeRequested(const QRect &geometry, const QRect &frameGeometry); Q_REVISION(7) void inspectedViewChanged(); Q_REVISION(7) void devToolsViewChanged(); + Q_REVISION(7) void registerProtocolHandlerPermissionRequested(const QQuickWebEngineRegisterProtocolHandlerPermissionRequest &request); #ifdef ENABLE_QML_TESTSUPPORT_API void testSupportChanged(); @@ -597,5 +617,6 @@ QT_END_NAMESPACE QML_DECLARE_TYPE(QQuickWebEngineView) Q_DECLARE_METATYPE(QQuickWebEngineFullScreenRequest) Q_DECLARE_METATYPE(QQuickWebEngineQuotaPermissionRequest) +Q_DECLARE_METATYPE(QQuickWebEngineRegisterProtocolHandlerPermissionRequest) #endif // QQUICKWEBENGINEVIEW_P_H |