diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-24 10:34:04 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-24 10:34:04 +0100 |
commit | da4d5bd985454fe2dc5fbe44c92b81a94b525088 (patch) | |
tree | 34819bb7b5c9a3f721c567f3f664bfe4d6048f2e /src/webenginewidgets/api/qwebenginepage.cpp | |
parent | b44962c8bce5489deee289212282cdf2c89b425a (diff) | |
parent | 95a22234a4671e6e79ce1cecbd720551a185d278 (diff) |
Merge branch '5.6' into 5.7
Conflicts:
src/core/api/qwebengineurlrequestinfo.cpp
src/core/api/qwebengineurlrequestinfo.h
src/core/core_gyp_generator.pro
Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index df4031712..e84c91bd7 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -152,7 +152,16 @@ QWebEnginePagePrivate::~QWebEnginePagePrivate() RenderWidgetHostViewQtDelegate *QWebEnginePagePrivate::CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client) { - return new RenderWidgetHostViewQtDelegateWidget(client); + // Set the QWebEngineView as the parent for a popup delegate, so that the new popup window + // responds properly to clicks in case the QWebEngineView is inside a modal QDialog. Setting the + // parent essentially notifies the OS that the popup window is part of the modal session, and + // should allow interaction. + // The new delegate will not be deleted by the parent view though, because we unset the parent + // when the parent is destroyed. The delegate will be destroyed by Chromium when the popup is + // dismissed. + // If the delegate is not for a popup, but for a newly created QWebEngineView, the parent is 0 + // just like before. + return new RenderWidgetHostViewQtDelegateWidget(client, this->view); } void QWebEnginePagePrivate::titleChanged(const QString &title) |