From ddb60dca5303c67693319ee65842d1f967edbfb8 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Sun, 22 Jan 2017 13:24:01 +0100 Subject: [PATCH] Bring back mouse grab permission workaround It is still needed for QtWebEngine 5.7 --- .../html5permissions/html5permissionsnotification.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/tools/html5permissions/html5permissionsnotification.cpp b/src/lib/tools/html5permissions/html5permissionsnotification.cpp index ebca9f968..b0483d2f2 100644 --- a/src/lib/tools/html5permissions/html5permissionsnotification.cpp +++ b/src/lib/tools/html5permissions/html5permissionsnotification.cpp @@ -81,7 +81,15 @@ void HTML5PermissionsNotification::grantPermissions() return; } - m_page->setFeaturePermission(m_origin, m_feature, QWebEnginePage::PermissionGrantedByUser); + QTimer::singleShot(0, this, [this]() { + // We need to have cursor inside view to correctly grab mouse + if (m_feature == QWebEnginePage::MouseLock) { + QWidget *view = m_page->view(); + QCursor::setPos(view->mapToGlobal(view->rect().center())); + } + + m_page->setFeaturePermission(m_origin, m_feature, QWebEnginePage::PermissionGrantedByUser); + }); if (ui->remember->isChecked()) { mApp->html5PermissionsManager()->rememberPermissions(m_origin, m_feature, QWebEnginePage::PermissionGrantedByUser);