summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/webengine/quicknanobrowser/BrowserWindow.qml5
-rw-r--r--examples/webenginewidgets/simplebrowser/webpage.cpp17
-rw-r--r--examples/webenginewidgets/simplebrowser/webpage.h2
3 files changed, 24 insertions, 0 deletions
diff --git a/examples/webengine/quicknanobrowser/BrowserWindow.qml b/examples/webengine/quicknanobrowser/BrowserWindow.qml
index be1e42c73..15a8d96fe 100644
--- a/examples/webengine/quicknanobrowser/BrowserWindow.qml
+++ b/examples/webengine/quicknanobrowser/BrowserWindow.qml
@@ -445,6 +445,11 @@ ApplicationWindow {
request.reject();
}
+ onRegisterProtocolHandlerPermissionRequested: {
+ print("accepting registerProtocolHandler permission request for " + request.protocol + " from " + request.origin);
+ request.accept();
+ }
+
onRenderProcessTerminated: {
var status = "";
switch (terminationStatus) {
diff --git a/examples/webenginewidgets/simplebrowser/webpage.cpp b/examples/webenginewidgets/simplebrowser/webpage.cpp
index 903956419..ef55fd33d 100644
--- a/examples/webenginewidgets/simplebrowser/webpage.cpp
+++ b/examples/webenginewidgets/simplebrowser/webpage.cpp
@@ -63,6 +63,7 @@ WebPage::WebPage(QWebEngineProfile *profile, QObject *parent)
{
connect(this, &QWebEnginePage::authenticationRequired, this, &WebPage::handleAuthenticationRequired);
connect(this, &QWebEnginePage::proxyAuthenticationRequired, this, &WebPage::handleProxyAuthenticationRequired);
+ connect(this, &QWebEnginePage::registerProtocolHandlerPermissionRequested, this, &WebPage::handleRegisterProtocolHandlerPermissionRequested);
}
bool WebPage::certificateError(const QWebEngineCertificateError &error)
@@ -141,3 +142,19 @@ void WebPage::handleProxyAuthenticationRequired(const QUrl &, QAuthenticator *au
*auth = QAuthenticator();
}
}
+
+//! [registerProtocolHandlerPermissionRequested]
+void WebPage::handleRegisterProtocolHandlerPermissionRequested(QWebEngineRegisterProtocolHandlerPermissionRequest request)
+{
+ auto answer = QMessageBox::question(
+ view()->window(),
+ tr("Permission Request"),
+ tr("Allow %1 to open all %2 links?")
+ .arg(request.origin().host())
+ .arg(request.protocol()));
+ if (answer == QMessageBox::Yes)
+ request.accept();
+ else
+ request.reject();
+}
+//! [registerProtocolHandlerPermissionRequested]
diff --git a/examples/webenginewidgets/simplebrowser/webpage.h b/examples/webenginewidgets/simplebrowser/webpage.h
index 797943249..d44c79358 100644
--- a/examples/webenginewidgets/simplebrowser/webpage.h
+++ b/examples/webenginewidgets/simplebrowser/webpage.h
@@ -52,6 +52,7 @@
#define WEBPAGE_H
#include <QWebEnginePage>
+#include <QWebEngineRegisterProtocolHandlerPermissionRequest>
class WebPage : public QWebEnginePage
{
@@ -66,6 +67,7 @@ protected:
private slots:
void handleAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *auth);
void handleProxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *auth, const QString &proxyHost);
+ void handleRegisterProtocolHandlerPermissionRequested(QWebEngineRegisterProtocolHandlerPermissionRequest request);
};
#endif // WEBPAGE_H