From 7b4cf50c2b0e9326158af1cf7709eee95854ed16 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 26 Jun 2019 11:55:29 -0500 Subject: [PATCH] pull in some upstream fixes --- ...uld_override_user_agent_in_new_tabs_.patch | 34 +++++++++++++++++++ 0002-Bump-V8-patch-level.patch | 30 ++++++++++++++++ ...-segfaults-with-arm-32bit-on-metrics.patch | 31 +++++++++++++++++ qt5-qtwebengine.spec | 18 +++++++++- 4 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch create mode 100644 0002-Bump-V8-patch-level.patch create mode 100644 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch diff --git a/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch b/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch new file mode 100644 index 0000000..92b8a73 --- /dev/null +++ b/0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch @@ -0,0 +1,34 @@ +From e8eec84aac0dc626770a483d503f7b16ab0dbe70 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Fri, 7 Jun 2019 14:18:23 +0200 +Subject: [PATCH 1/3] Fix changing should_override_user_agent_in_new_tabs_ + +It wouldn't be updated if the custom user-agent didn't change. + +Change-Id: Ic31ef485e2cb84903f9b48cb9ad5f9f1a723eb92 +Reviewed-by: Michal Klocek +--- + chromium/content/browser/web_contents/web_contents_impl.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/chromium/content/browser/web_contents/web_contents_impl.cc b/chromium/content/browser/web_contents/web_contents_impl.cc +index a2659263737..4c127f835d6 100644 +--- a/chromium/content/browser/web_contents/web_contents_impl.cc ++++ b/chromium/content/browser/web_contents/web_contents_impl.cc +@@ -1230,11 +1230,11 @@ WebUI* WebContentsImpl::GetCommittedWebUI() const { + + void WebContentsImpl::SetUserAgentOverride(const std::string& override, + bool override_in_new_tabs) { ++ should_override_user_agent_in_new_tabs_ = override_in_new_tabs; ++ + if (GetUserAgentOverride() == override) + return; + +- should_override_user_agent_in_new_tabs_ = override_in_new_tabs; +- + renderer_preferences_.user_agent_override = override; + + // Send the new override string to the renderer. +-- +2.21.0 + diff --git a/0002-Bump-V8-patch-level.patch b/0002-Bump-V8-patch-level.patch new file mode 100644 index 0000000..768c923 --- /dev/null +++ b/0002-Bump-V8-patch-level.patch @@ -0,0 +1,30 @@ +From 6f3c15d2319ca11c2e31076292f5733baf64d991 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 18 Jun 2019 10:29:48 +0200 +Subject: [PATCH 2/3] Bump V8 patch level + +Otherwise it might use outdated script caches. + +Change-Id: I839c6a11c3e1991f232972ad2d87fe6318256307 +Fixes: QTBUG-72532 +Reviewed-by: Michal Klocek +--- + chromium/v8/include/v8-version.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/v8/include/v8-version.h b/chromium/v8/include/v8-version.h +index 3e703039517..8dacc30c340 100644 +--- a/chromium/v8/include/v8-version.h ++++ b/chromium/v8/include/v8-version.h +@@ -11,7 +11,7 @@ + #define V8_MAJOR_VERSION 6 + #define V8_MINOR_VERSION 9 + #define V8_BUILD_NUMBER 427 +-#define V8_PATCH_LEVEL 31 ++#define V8_PATCH_LEVEL 32 + + // Use 1 for candidates and 0 otherwise. + // (Boolean macro values are not supported by all preprocessors.) +-- +2.21.0 + diff --git a/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch b/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch new file mode 100644 index 0000000..793efb2 --- /dev/null +++ b/0003-Fix-segfaults-with-arm-32bit-on-metrics.patch @@ -0,0 +1,31 @@ +From 2323dc924a3b107647f9e5f0bdbcfc44b9713195 Mon Sep 17 00:00:00 2001 +From: Michal Klocek +Date: Thu, 20 Jun 2019 09:09:53 +0200 +Subject: [PATCH 3/3] Fix segfaults with arm 32bit on metrics + +Gcc 6 seems to misscompile pair's template constructor +in std::map emplace, use converting move constructor instead. + +Fixes: QTBUG-75097 +Change-Id: Ia50dc9eadb58f713432c0228a4a5aed73b275f32 +Reviewed-by: Allan Sandfeld Jensen +--- + chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc +index 6685a5816db..5c5380e007e 100644 +--- a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc ++++ b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc +@@ -23,7 +23,7 @@ UkmEntryBuilderBase::~UkmEntryBuilderBase() = default; + + void UkmEntryBuilderBase::SetMetricInternal(uint64_t metric_hash, + int64_t value) { +- entry_->metrics.emplace(metric_hash, value); ++ entry_->metrics.emplace(std::make_pair(metric_hash, value)); + } + + void UkmEntryBuilderBase::Record(UkmRecorder* recorder) { +-- +2.21.0 + diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index 1cf7b6b..ffd0dfd 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -47,7 +47,7 @@ Summary: Qt5 - QtWebEngine components Name: qt5-qtwebengine Version: 5.12.4 -Release: 4%{?dist} +Release: 5%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html @@ -64,6 +64,7 @@ Source2: clean_ffmpeg.sh Source3: get_free_ffmpeg_source_files.py # macros Source10: macros.qt5-qtwebengine + # some tweaks to linux.pri (system yasm, link libpci, run unbundling script) Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch # quick hack to avoid checking for the nonexistent icudtl.dat and silence the @@ -85,7 +86,12 @@ Patch10: qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch Patch21: qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch # Fix/workaround FTBFS on aarch64 with newer glibc Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch + ## Upstream patches: +# qtwebengine-chromium +Patch101: 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch +Patch102: 0002-Bump-V8-patch-level.patch +Patch103: 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch # handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches ExclusiveArch: %{qt5_qtwebengine_arches} @@ -339,6 +345,13 @@ BuildArch: noarch %prep %setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} + +pushd src/3rdparty/chromium +%patch101 -p2 -b .0001 +%patch102 -p2 -b .0002 +%patch103 -p2 -b .0003 +popd + %patch0 -p1 -b .linux-pri %patch1 -p1 -b .no-icudtl-dat %patch2 -p1 -b .fix-extractcflag @@ -572,6 +585,9 @@ done %changelog +* Wed Jun 26 2019 Rex Dieter - 5.12.4-5 +- pull in some upstream fixes + * Tue Jun 25 2019 Rex Dieter - 5.12.4-4 - rebuild (qt5)