1
0

Accepting request 901784 from KDE:Qt:5.15

Qt WebEngine 5.15.5

OBS-URL: https://build.opensuse.org/request/show/901784
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=70
This commit is contained in:
Dominique Leuenberger 2021-06-27 16:58:47 +00:00 committed by Git OBS Bridge
commit ad9271e61d
9 changed files with 85 additions and 266 deletions

View File

@ -1,36 +0,0 @@
From 7d0456664fb76572a560364172c31140ec20fc8a Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
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 <algorithm>
#include <array>
+#include <limits>
#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 <unordered_map>
#include <vector>
+#include <limits>
#include "perfetto/ext/base/optional.h"
#include "perfetto/ext/base/paged_memory.h"

View File

@ -1,78 +0,0 @@
From e67c7b49247c8b9646790c718b85d8ba75b68945 Mon Sep 17 00:00:00 2001
From: Jimi Huotari <chiitoo@gentoo.org>
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 <allan.jensen@qt.io>
---
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> JSListFormat::New(Isolate* isolate, Handle<Map> map,
Handle<Object> locales,
Handle<Object> input_options) {
@@ -143,7 +172,11 @@ MaybeHandle<JSListFormat> JSListFormat::New(Isolate* isolate, Handle<Map> 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

View File

@ -1,135 +0,0 @@
From 199ea00a9eea13315a652c62778738629185b059 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
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 <michael.bruning@qt.io>
---
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<net::ClientCertStore> 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<ShareGroupQtQuick> 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<QString>("string");
--
2.30.2

View File

@ -1,11 +1,11 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="changesgenerate">enable</param>
<param name="version">5.15.3</param>
<param name="version">5.15.5</param>
<param name="url">git://code.qt.io/qt/qtwebengine.git</param>
<param name="scm">git</param>
<param name="filename">qtwebengine-everywhere-src</param>
<param name="revision">5.15.3</param>
<param name="revision">v5.15.5-lts</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://code.qt.io/qt/qtwebengine.git</param>
<param name="changesrevision">a059e7404a6db799f4da0ad696e65ae9c854b4b0</param></service></servicedata>
<param name="changesrevision">9711f64c5082040cb76f6da5ef4a16037dbda08f</param></service></servicedata>

View File

@ -1,3 +1,76 @@
-------------------------------------------------------------------
Thu Jun 24 16:39:27 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Update the CMake version workaround to get qtbase's real version
-------------------------------------------------------------------
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 <fvogt@suse.com>

View File

@ -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)
@ -351,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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cde63cc3986d1324667b75bb1d7cd39a9e72555a321bdda3c5ca604e170868f6
size 319611228

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b67e42862d312827173984fbc736aa92a6b1facb3c8024d5dab979c0ad10644b
size 319589504