commit 46d85ed678423fb65ae00c1f13169bc8f6e2a184
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Wed Apr 26 01:23:16 2017 +0200
Backport upstream fix for blank pages when a link opens in a new tab
* Tue Apr 25 2017 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 5.8.0-2
- Backport upstream fix for blank pages when a link opens in a new tab
qt5-qtwebengine-freeworld.spec | 10 ++++-
...-opensource-src-5.8.0-fix-open-in-new-tab.patch | 46 ++++++++++++++++++++++
2 files changed, 54 insertions(+), 2 deletions(-)
---
diff --git a/qt5-qtwebengine-freeworld.spec b/qt5-qtwebengine-freeworld.spec
index 2977de2..dbc6b5f 100644
--- a/qt5-qtwebengine-freeworld.spec
+++ b/qt5-qtwebengine-freeworld.spec
@@ -34,7 +34,7 @@
Summary: Qt5 - QtWebEngine components (freeworld version)
Name: qt5-qtwebengine-freeworld
Version: 5.8.0
-Release: 1%{?dist}
+Release: 2%{?dist}
%global major_minor %(echo %{version} | cut -d. -f-2)
%global major %(echo %{version} | cut -d. -f1)
@@ -95,7 +95,9 @@ Patch14: qtwebengine-opensource-src-5.8.0-pdfium-gcc7.patch
# fix FTBFS in the WTF part of Blink/WebKit with GCC 7
Patch15: qtwebengine-opensource-src-5.8.0-wtf-gcc7.patch
# FTBFS using qt < 5.8
-Patch20: qtwebengine-opensource-src-5.8.0-qt57.patch
+Patch20: qtwebengine-opensource-src-5.8.0-qt57.patch
+# upstream fix for blank pages when a link opens in a new tab
+Patch100: qtwebengine-opensource-src-5.8.0-fix-open-in-new-tab.patch
%if 0%{?fedora} && 0%{?fedora} < 25
# work around missing qt5_qtwebengine_arches macro on F24
@@ -322,6 +324,7 @@ This version is compiled with support for patent-encumbered codecs
enabled.
%patch14 -p1 -b .pdfium-gcc7
%patch15 -p1 -b .wtf-gcc7
%patch20 -p1 -b .qt57
+%patch100 -p1 -b .fix-open-in-new-tab
# fix // in #include in content/renderer/gpu to avoid debugedit failure
sed -i -e 's!gpu//!gpu/!g' \
src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
@@ -404,6 +407,9 @@ echo "%{_libdir}/%{name}" \
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%changelog
+* Tue Apr 25 2017 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 5.8.0-2
+- Backport upstream fix for blank pages when a link opens in a new tab
+
* Sat Apr 01 2017 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 5.8.0-1
- Update to 5.8.0
- Update version numbers of bundled stuff
diff --git a/qtwebengine-opensource-src-5.8.0-fix-open-in-new-tab.patch
b/qtwebengine-opensource-src-5.8.0-fix-open-in-new-tab.patch
new file mode 100644
index 0000000..c95a712
--- /dev/null
+++ b/qtwebengine-opensource-src-5.8.0-fix-open-in-new-tab.patch
@@ -0,0 +1,46 @@
+From 8e147ed3be7740092de233a2a7c67ec890069649 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning(a)qt.io>
+Date: Mon, 13 Mar 2017 11:13:56 +0100
+Subject: Remove stale parent connection when initializing delegate as a child
+
+When clicking on a blank link target, the constructor of the
+RenderWidgetHostViewQtDelegateWidget instance for the newly created
+view is called with the originating QWebEngineView as its parent
+and will connect its removeParentBeforeParentDelete slot to the
+originating view's destroyed signal.
+
+This leads to the situation where the delegate's parent will be set to
+null when the originating view is closed, causing the view to display
+only an empty widget with the actual web contents remaining live in
+the background.
+
+This patch removes the connection to the old view when initializing
+the delegate as a child of the QWebEnginePagePrivate instance. The
+addition to the layout updates the parent and child relationship
+between the view and the delegate internally.
+
+Task-number: QTBUG-58381
+Change-Id: I448380478c2bcfcfbddaee8a35caf46010e57972
+Reviewed-by: Florian Bruhin <qt-project.org(a)the-compiler.org>
+Reviewed-by: Joerg Bornemann <joerg.bornemann(a)qt.io>
+---
+ src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+index e7ad5b1..14c4d72 100644
+--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
++++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+@@ -163,6 +163,9 @@ void
RenderWidgetHostViewQtDelegateWidget::initAsChild(WebContentsAdapterClient*
+
+ QWebEnginePagePrivate *pagePrivate = static_cast<QWebEnginePagePrivate
*>(container);
+ if (pagePrivate->view) {
++ if (parentWidget())
++ disconnect(parentWidget(), &QObject::destroyed,
++ this,
&RenderWidgetHostViewQtDelegateWidget::removeParentBeforeParentDelete);
+ pagePrivate->view->layout()->addWidget(this);
+ pagePrivate->view->setFocusProxy(this);
+ show();
+--
+cgit v1.0-4-g1e03
+