diff options
author | Pierre Rossi <pierre.rossi@digia.com> | 2014-03-18 21:15:07 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-29 16:37:55 +0200 |
commit | 9758fd0453a7104b48d3c70246b3f9c63d003ad8 (patch) | |
tree | 52e5a3c87e60cf38706418d4c36c25331e7a68f7 /examples/webenginewidgets/browser/webview.cpp | |
parent | 6fca3ec615102f9ce2e1b3330406ef1d654d2474 (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.cpp | 13 |
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; |