From 77c292123b89b3bfec0e6606caa054c3ee2f1d6f6fe4c078ff7b783a0eb471ff Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Thu, 24 Jun 2021 12:04:15 +0000 Subject: [PATCH 1/2] Accepting request 901368 from home:cgiboudeaux:branches:KDE:Qt:5.15 Qt WebEngine 5.15.5 OBS-URL: https://build.opensuse.org/request/show/901368 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwebengine?expand=0&rev=29 --- 0001-Fix-build-with-GCC-11.patch | 36 ------ 0001-Fix-build-with-system-ICU-69.patch | 78 ----------- 0001-Fix-normalization-of-app-locales.patch | 135 -------------------- _service | 4 +- _servicedata | 2 +- libqt5-qtwebengine.changes | 68 ++++++++++ libqt5-qtwebengine.spec | 15 +-- qtwebengine-everywhere-src-5.15.3.tar.xz | 3 - qtwebengine-everywhere-src-5.15.5.tar.xz | 3 + 9 files changed, 79 insertions(+), 265 deletions(-) delete mode 100644 0001-Fix-build-with-GCC-11.patch delete mode 100644 0001-Fix-build-with-system-ICU-69.patch delete mode 100644 0001-Fix-normalization-of-app-locales.patch delete mode 100644 qtwebengine-everywhere-src-5.15.3.tar.xz create mode 100644 qtwebengine-everywhere-src-5.15.5.tar.xz diff --git a/0001-Fix-build-with-GCC-11.patch b/0001-Fix-build-with-GCC-11.patch deleted file mode 100644 index 652fe2a..0000000 --- a/0001-Fix-build-with-GCC-11.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 7d0456664fb76572a560364172c31140ec20fc8a Mon Sep 17 00:00:00 2001 -From: Christophe Giboudeaux -Date: Wed, 14 Apr 2021 20:23:07 +0200 -Subject: [PATCH] Fix build with GCC 11. - -Origin: -https://github.com/abseil/abseil-cpp/commit/5bf048b8 -https://github.com/google/perfetto/commit/372366b4 - ---- - -diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -index 19f9aab5b1a..27fec21681d 100644 ---- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -+++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -@@ -37,6 +37,7 @@ - - #include - #include -+#include - #include "absl/base/internal/hide_ptr.h" - #include "absl/base/internal/raw_logging.h" - #include "absl/base/internal/spinlock.h" - -diff --git a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -index 11ae91cfeca..58c6db27bd6 100644 ---- a/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -+++ b/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.h -@@ -22,6 +22,7 @@ - - #include - #include -+#include - - #include "perfetto/ext/base/optional.h" - #include "perfetto/ext/base/paged_memory.h" diff --git a/0001-Fix-build-with-system-ICU-69.patch b/0001-Fix-build-with-system-ICU-69.patch deleted file mode 100644 index 8197fce..0000000 --- a/0001-Fix-build-with-system-ICU-69.patch +++ /dev/null @@ -1,78 +0,0 @@ -From e67c7b49247c8b9646790c718b85d8ba75b68945 Mon Sep 17 00:00:00 2001 -From: Jimi Huotari -Date: Thu, 22 Apr 2021 14:25:17 +0300 -Subject: [PATCH] Fix build with system ICU 69 - -- https://bugs.gentoo.org/781236 -- https://chromium-review.googlesource.com/c/v8/v8/+/2477751 - -Change-Id: I8ea93bfe0acb87da9233fced73ff5ae7c5f4cb3e -Reviewed-by: Allan Sandfeld Jensen ---- - src/3rdparty/chromium/v8/src/objects/js-list-format.cc | 35 ++++++++++++++++++++++- - 1 file changed, 34 insertions(+), 1 deletion(-) - -diff --git a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -index b17d38c43ff..7f06114b177 100644 ---- a/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -+++ b/src/3rdparty/chromium/v8/src/objects/js-list-format.cc -@@ -28,6 +28,35 @@ - namespace v8 { - namespace internal { - -+#if U_ICU_VERSION_MAJOR_NUM >= 67 -+namespace { -+ -+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) { -+ switch (style) { -+ case JSListFormat::Style::LONG: -+ return ULISTFMT_WIDTH_WIDE; -+ case JSListFormat::Style::SHORT: -+ return ULISTFMT_WIDTH_SHORT; -+ case JSListFormat::Style::NARROW: -+ return ULISTFMT_WIDTH_NARROW; -+ } -+ UNREACHABLE(); -+} -+ -+UListFormatterType GetIcuType(JSListFormat::Type type) { -+ switch (type) { -+ case JSListFormat::Type::CONJUNCTION: -+ return ULISTFMT_TYPE_AND; -+ case JSListFormat::Type::DISJUNCTION: -+ return ULISTFMT_TYPE_OR; -+ case JSListFormat::Type::UNIT: -+ return ULISTFMT_TYPE_UNITS; -+ } -+ UNREACHABLE(); -+} -+ -+} // namespace -+#else - namespace { - const char* kStandard = "standard"; - const char* kOr = "or"; -@@ -74,7 +103,7 @@ const char* GetIcuStyleString(JSListFormat::Style style, - } - - } // namespace -- -+#endif - MaybeHandle JSListFormat::New(Isolate* isolate, Handle map, - Handle locales, - Handle input_options) { -@@ -143,7 +172,11 @@ MaybeHandle JSListFormat::New(Isolate* isolate, Handle map, - icu::Locale icu_locale = r.icu_locale; - UErrorCode status = U_ZERO_ERROR; - icu::ListFormatter* formatter = icu::ListFormatter::createInstance( -+#if U_ICU_VERSION_MAJOR_NUM >= 67 -+ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status); -+#else - icu_locale, GetIcuStyleString(style_enum, type_enum), status); -+#endif - if (U_FAILURE(status) || formatter == nullptr) { - delete formatter; - THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError), --- -2.20.1 - diff --git a/0001-Fix-normalization-of-app-locales.patch b/0001-Fix-normalization-of-app-locales.patch deleted file mode 100644 index dbcad82..0000000 --- a/0001-Fix-normalization-of-app-locales.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 199ea00a9eea13315a652c62778738629185b059 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Wed, 10 Mar 2021 17:14:27 +0100 -Subject: [PATCH] Fix normalization of app locales -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Use the internal Chromium routine to get the app locale Chromium -expects. - -Fixes: QTBUG-91715 -Change-Id: I5042eb066cb6879ad69628959912f2841867b4e8 -Reviewed-by: Michael BrĂ¼ning ---- - src/core/content_browser_client_qt.cpp | 7 +++++- - src/core/content_browser_client_qt.h | 2 ++ - src/core/web_engine_library_info.cpp | 18 +++++++------- - .../qwebengineview/tst_qwebengineview.cpp | 24 +++++++++++++++++++ - 4 files changed, 40 insertions(+), 11 deletions(-) - -diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp -index e13ecd8d..c2c78ff8 100644 ---- a/src/core/content_browser_client_qt.cpp -+++ b/src/core/content_browser_client_qt.cpp -@@ -471,7 +471,12 @@ std::unique_ptr ContentBrowserClientQt::CreateClientCertSt - - std::string ContentBrowserClientQt::GetApplicationLocale() - { -- return WebEngineLibraryInfo::getApplicationLocale(); -+ std::string bcp47Name = QLocale().bcp47Name().toStdString(); -+ if (m_cachedQtLocale != bcp47Name) { -+ m_cachedQtLocale = bcp47Name; -+ m_appLocale = WebEngineLibraryInfo::getApplicationLocale(); -+ } -+ return m_appLocale; - } - - std::string ContentBrowserClientQt::GetAcceptLangs(content::BrowserContext *context) -diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h -index 7c8aa3ac..1ccd2926 100644 ---- a/src/core/content_browser_client_qt.h -+++ b/src/core/content_browser_client_qt.h -@@ -269,6 +269,8 @@ public: - - private: - scoped_refptr m_shareGroupQtQuick; -+ std::string m_appLocale; -+ std::string m_cachedQtLocale; - }; - - } // namespace QtWebEngineCore -diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp -index 2ad5b756..09a4141b 100644 ---- a/src/core/web_engine_library_info.cpp -+++ b/src/core/web_engine_library_info.cpp -@@ -46,6 +46,7 @@ - #include "components/spellcheck/spellcheck_buildflags.h" - #include "content/public/common/content_paths.h" - #include "sandbox/policy/switches.h" -+#include "ui/base/l10n/l10n_util.h" - #include "ui/base/ui_base_paths.h" - #include "ui/base/ui_base_switches.h" - -@@ -353,18 +354,15 @@ base::string16 WebEngineLibraryInfo::getApplicationName() - std::string WebEngineLibraryInfo::getApplicationLocale() - { - base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess(); -- if (!parsedCommandLine->HasSwitch(switches::kLang)) { -+ if (parsedCommandLine->HasSwitch(switches::kLang)) { -+ return parsedCommandLine->GetSwitchValueASCII(switches::kLang); -+ } else { - const QString &locale = QLocale().bcp47Name(); -- -- // QLocale::bcp47Name returns "en" for American English locale. Chromium requires the "US" suffix -- // to clarify the dialect and ignores the shorter version. -- if (locale == "en") -- return "en-US"; -- -- return locale.toStdString(); -+ std::string resolvedLocale; -+ if (l10n_util::CheckAndResolveLocale(locale.toStdString(), &resolvedLocale)) -+ return resolvedLocale; - } -- -- return parsedCommandLine->GetSwitchValueASCII(switches::kLang); -+ return "en-US"; - } - - #if defined(OS_WIN) -diff --git a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp -index 02198638..bf2c28ae 100644 ---- a/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp -+++ b/tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp -@@ -123,6 +123,7 @@ private Q_SLOTS: - void doNotBreakLayout(); - - void changeLocale(); -+ void mixLangLocale(); - void inputMethodsTextFormat_data(); - void inputMethodsTextFormat(); - void keyboardEvents(); -@@ -1210,6 +1211,29 @@ void tst_QWebEngineView::changeLocale() - QCOMPARE(errorLines.first().toUtf8(), QByteArrayLiteral("Die Website ist nicht erreichbar")); - } - -+void tst_QWebEngineView::mixLangLocale() -+{ -+ for (QString locale : { "en_DK", "de_CH", "eu_ES" }) { -+ QLocale::setDefault(locale); -+ QWebEngineView view; -+ QSignalSpy loadSpy(&view, &QWebEngineView::loadFinished); -+ -+ bool terminated = false; -+ auto sc = connect(view.page(), &QWebEnginePage::renderProcessTerminated, [&] () { terminated = true; }); -+ -+ view.load(QUrl("qrc:///resources/dummy.html")); -+ QTRY_VERIFY(terminated || loadSpy.count() == 1); -+ -+ QVERIFY2(!terminated, -+ qPrintable(QString("Locale [%1] terminated: %2, loaded: %3").arg(locale).arg(terminated).arg(loadSpy.count()))); -+ QVERIFY(loadSpy.first().first().toBool()); -+ -+ QString content = toPlainTextSync(view.page()); -+ QVERIFY2(!content.isEmpty() && content.contains("test content"), qPrintable(content)); -+ } -+ QLocale::setDefault(QLocale("en")); -+} -+ - void tst_QWebEngineView::inputMethodsTextFormat_data() - { - QTest::addColumn("string"); --- -2.30.2 - diff --git a/_service b/_service index c257322..f64b048 100644 --- a/_service +++ b/_service @@ -1,11 +1,11 @@ enable - 5.15.3 + 5.15.5 git://code.qt.io/qt/qtwebengine.git git qtwebengine-everywhere-src - 5.15.3 + v5.15.5-lts *.tar diff --git a/_servicedata b/_servicedata index 2d18b48..4d7ca76 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ git://code.qt.io/qt/qtwebengine.git - a059e7404a6db799f4da0ad696e65ae9c854b4b0 \ No newline at end of file + 9711f64c5082040cb76f6da5ef4a16037dbda08f \ No newline at end of file diff --git a/libqt5-qtwebengine.changes b/libqt5-qtwebengine.changes index b0b751b..8fbce24 100644 --- a/libqt5-qtwebengine.changes +++ b/libqt5-qtwebengine.changes @@ -1,3 +1,71 @@ +------------------------------------------------------------------- +Tue Jun 22 09:00:44 UTC 2021 - christophe@krop.fr + +- Update to version 5.15.5: + * Abort findText also right on explicit navigation request + * Adapt to new Connections syntax + * Add devtools eyedropper support + * Add more tests to tst_loadsignals + * Add support for Keyboard.getLayoutMap() + * Add web-ui chrome://net-internals + * Allow leaving OCSP off + * Always send phased wheel events beginning with Began + * Avoid accessing profileAdapter when profile is shutting down + * Avoid unknownFunc messages in qmltests + * Blacklist CertificateError::test_error for macOS + * Blacklist NewViewRequest::test_loadNewViewRequest on macOS + * Blacklist handleError on macos until we merge the fix + * Blacklist numberOfStartedAndFinishedSignalsIsSame on b2q CIs + * Depend on QCoreApplication::startingUp() for checking + existence of app + * Do not allow WebBluetooth to continue + * Do not hide virtual keyboard if the focused node is editable + * Doc: Add a note about navigation within a page to a fragment + * Docs: Suggest to use higher DPI for printing + * Fix FilePickerController's path validation for windows and + corresponding tests + * Fix application locales again + * Fix embedded PDFs when plugins are disabled + * Fix first party url for cookie filter + * Fix inconsistent number of load signals and their order + * Fix normalization of app locales + * Fix not working certificates on mac > 10.14 + * Fix prl files on ios + * Fix qmltests::WebEngineViewNavigationHistory auto tests + * Fix qtpdf static builds on windows + * Fix static build of qml qtpdf + * Follow InProcessGpuThread::Init() on thread priority + * Generate mojo bindings before compiling extension API + registration + * Implement PluginServiceFilterQt + * Load signals test: use focusProxy for link clicking test + * Make able to override disabled features from command line + * Notify canGoBack/canGoForward changes based on web actions + * Only disconnect QWebEnginePage signals that QWebEngineView + connected + * Package devtools inspector overlay + * Remove ResourceTypeSubFrame check after website update + * Remove obsolete loadSignals test + secondLoadForError_WhenErrorPageEnabled + * Remove qquickwebengineprofile test + * Remove tracking of frame which load error page + * Remove ui/snapshot overrides for aura + * Report server directs in navigation type + * Return to using the default devtools page + * Set enumaration root directory for File.webkitRelativePath API + * Set more Display properties + * Show PDF viewer in a guest view + * Support devtools close button in QuickNanoBrowser + * Support zoom-in, zoom-out and cell web cursors on macOS + * Unblacklist and fix load signals test for file download + * Update Chromium and adapt PermissionManagerQt + * Update platform notes + * View: test signal for deletion of external page set to view +- Drop patches: + * 0001-Fix-normalization-of-app-locales.patch + * 0001-Fix-build-with-GCC-11.patch + * 0001-Fix-build-with-system-ICU-69.patch + ------------------------------------------------------------------- Thu May 6 11:45:34 UTC 2021 - Fabian Vogt diff --git a/libqt5-qtwebengine.spec b/libqt5-qtwebengine.spec index a3ee90d..5ae2fbe 100644 --- a/libqt5-qtwebengine.spec +++ b/libqt5-qtwebengine.spec @@ -29,15 +29,15 @@ %global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries Name: libqt5-qtwebengine -Version: 5.15.3 +Version: 5.15.5 Release: 0 Summary: Qt 5 WebEngine Library License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only Group: Development/Libraries/X11 URL: https://www.qt.io %define base_name libqt5 -%define real_version 5.15.3 -%define so_version 5.15.3 +%define real_version 5.15.5 +%define so_version 5.15.5 %define tar_version qtwebengine-everywhere-src-%{version} Source: %{tar_version}.tar.xz # Generated from a local build @@ -51,12 +51,7 @@ Patch3: sandbox-statx-futex_time64.patch # PATCH-FIX-OPENSUSE Patch4: rtc-dont-use-h264.patch # PATCH-FIX-UPSTREAM -Patch5: 0001-Fix-normalization-of-app-locales.patch -# PATCH-FIX-UPSTREAM -Patch6: chromium-glibc-2.33.patch -# PATCH-FIX-UPSTREAM -Patch7: 0001-Fix-build-with-GCC-11.patch -Patch8: 0001-Fix-build-with-system-ICU-69.patch +Patch5: chromium-glibc-2.33.patch # http://www.chromium.org/blink not ported to PowerPC ExcludeArch: ppc ppc64 ppc64le s390 s390x # Try to fix i586 MemoryErrors with rpmlint @@ -66,7 +61,6 @@ BuildRequires: fdupes BuildRequires: flac-devel BuildRequires: flex BuildRequires: gperf -# It really wants a commit hash, even if it's not in a .git checkout... BuildRequires: binutils-gold BuildRequires: git-core BuildRequires: krb5 @@ -173,6 +167,7 @@ BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xscrnsaver) diff --git a/qtwebengine-everywhere-src-5.15.3.tar.xz b/qtwebengine-everywhere-src-5.15.3.tar.xz deleted file mode 100644 index fa15805..0000000 --- a/qtwebengine-everywhere-src-5.15.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cde63cc3986d1324667b75bb1d7cd39a9e72555a321bdda3c5ca604e170868f6 -size 319611228 diff --git a/qtwebengine-everywhere-src-5.15.5.tar.xz b/qtwebengine-everywhere-src-5.15.5.tar.xz new file mode 100644 index 0000000..03179da --- /dev/null +++ b/qtwebengine-everywhere-src-5.15.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b67e42862d312827173984fbc736aa92a6b1facb3c8024d5dab979c0ad10644b +size 319589504 From b4ae44723495643c2fa0d56155d4903137ec9cee5325570858ee9176d0505cd6 Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Thu, 24 Jun 2021 16:42:14 +0000 Subject: [PATCH 2/2] Fix the QtWE version workaround OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwebengine?expand=0&rev=30 --- libqt5-qtwebengine.changes | 5 +++++ libqt5-qtwebengine.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libqt5-qtwebengine.changes b/libqt5-qtwebengine.changes index 8fbce24..dc4905f 100644 --- a/libqt5-qtwebengine.changes +++ b/libqt5-qtwebengine.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jun 24 16:39:27 UTC 2021 - Christophe Giboudeaux + +- Update the CMake version workaround to get qtbase's real version + ------------------------------------------------------------------- Tue Jun 22 09:00:44 UTC 2021 - christophe@krop.fr diff --git a/libqt5-qtwebengine.spec b/libqt5-qtwebengine.spec index 5ae2fbe..65d611f 100644 --- a/libqt5-qtwebengine.spec +++ b/libqt5-qtwebengine.spec @@ -346,7 +346,7 @@ rm -f %{buildroot}%{_libqt5_libdir}/*.la # ln -sf %{_datadir}/icu/*/icudt*l.dat %{buildroot}%{_datadir}/qt5/icudtl.dat # Workaround to allow using QtWE with older Qt versions -%global qtcore_version %(printf %{pkg_version libQt5Core5}) +%global qtcore_version %(printf %{pkg_version libQt5Core5} | cut -d + -f 1) # NOTE the space after '%%{version}' is important to only match '5.15.X ${_Qt5XXX_FIND_VERSION_EXACT}' sed -i 's#%{version} #%{qtcore_version} #' %{buildroot}%{_libqt5_libdir}/cmake/*/*Config.cmake