summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/browser/webview.cpp
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2014-03-18 21:15:07 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-29 16:37:55 +0200
commit9758fd0453a7104b48d3c70246b3f9c63d003ad8 (patch)
tree52e5a3c87e60cf38706418d4c36c25331e7a68f7 /examples/webenginewidgets/browser/webview.cpp
parent6fca3ec615102f9ce2e1b3330406ef1d654d2474 (diff)
Add a feature permission bar to the demo browser
Change-Id: Ib2deac6099c37f1e112821fb3398586269e05f22 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'examples/webenginewidgets/browser/webview.cpp')
-rw-r--r--examples/webenginewidgets/browser/webview.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/examples/webenginewidgets/browser/webview.cpp b/examples/webenginewidgets/browser/webview.cpp
index bc2a4d906..edbaadca9 100644
--- a/examples/webenginewidgets/browser/webview.cpp
+++ b/examples/webenginewidgets/browser/webview.cpp
@@ -43,6 +43,7 @@
#include "browsermainwindow.h"
#include "cookiejar.h"
#include "downloadmanager.h"
+#include "featurepermissionbar.h"
#include "networkaccessmanager.h"
#include "ui_passworddialog.h"
#include "ui_proxy.h"
@@ -326,6 +327,7 @@ WebView::WebView(QWidget* parent)
connect(page(), SIGNAL(downloadRequested(QNetworkRequest)),
this, SLOT(downloadRequested(QNetworkRequest)));
#endif
+ connect(page(), &WebPage::featurePermissionRequested, this, &WebView::onFeaturePermissionRequested);
#if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT)
page()->setForwardUnsupportedContent(true);
#endif
@@ -376,6 +378,17 @@ void WebView::openLinkInNewTab()
#endif
}
+void WebView::onFeaturePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
+{
+ FeaturePermissionBar *permissionBar = new FeaturePermissionBar(this);
+ connect(permissionBar, &FeaturePermissionBar::featurePermissionProvided, page(), &QWebEnginePage::setFeaturePermission);
+
+ // Discard the bar on new loads (if we navigate away or reload).
+ connect(page(), &QWebEnginePage::loadStarted, permissionBar, &QObject::deleteLater);
+
+ permissionBar->requestPermission(securityOrigin, feature);
+}
+
void WebView::setProgress(int progress)
{
m_progress = progress;