Accepting request 881936 from KDE:Qt:5.15
- Update to version 5.15.3: * Fix spelling and coding style * Fix new view request handling (QTBUG-87378) * Fix getDefaultScreenId on X11 * Fix flaky tst_QWebEngineView::textSelectionOutOfInputField test * Move touch input tests to separate testcase * Add touch input tests for scrolling and pinch zooming * Fix rare duplicate ids forming in touch point id's mapping * Use the module's version number for QtWebEngineProcess * Touch handling: provide id mapping without modifying TouchPoint instance (QTBUG-88001) * Touch handling: fix mapped ids cleanup for TouchCancel event * et custom headers from QWebEngineUrlRequestInfo before triggering redirect (QTBUG-88861) * Forward modifier flags for lock keys (QTBUG-89001) * Fix handling of more than one finger for touch event (QTBUG-86389) * Stabilize load signals emitting (QTBUG-65223, QTBUG-87089) * Fix building against 5.12 on most CIs * Update minimum HarfBuzz version to 2.4.0 (QTBUG-88976) * Fix building against Qt 5.14 * Migrate user script IPC to mojo * Fix crashes in user resource controller when single process * Minor. Fix namespace for user resource controller * Minor. RenderThreadObserverQt is really a RenderConfiguration * Remove RenderViewObserverHelper from UserResourceController * Cache mojo interface bindings to UserResourceControllerRenderFrame * Cache mojo interface bindings for WebChannelIPCTransport * Migrate render_view_observer_qt to mojo * Fix crash on linkedin.com (QTBUG-89740) * Suppress error pages also for http errors if they are disabled OBS-URL: https://build.opensuse.org/request/show/881936 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=67
This commit is contained in:
commit
61b69d453f
135
0001-Fix-normalization-of-app-locales.patch
Normal file
135
0001-Fix-normalization-of-app-locales.patch
Normal file
@ -0,0 +1,135 @@
|
||||
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
|
||||
|
15
_service
Normal file
15
_service
Normal file
@ -0,0 +1,15 @@
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="version">5.15.3</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>
|
||||
</service>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
<service name="set_version" mode="disabled" />
|
||||
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +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>
|
@ -1,13 +1,13 @@
|
||||
# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
|
||||
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -253,6 +253,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return RestrictKillTarget(current_pid, sysno);
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
index 4772dc0..1f31d3a 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -268,6 +268,18 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if defined(__NR_newfstatat)
|
||||
+ if (sysno == __NR_newfstatat) {
|
||||
@ -24,10 +24,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
if (SyscallSets::IsFileSystem(sysno) ||
|
||||
SyscallSets::IsCurrentDirectory(sysno)) {
|
||||
return Error(fs_denied_errno);
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
index 76eb324..ad95656 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
|
||||
@ -36,13 +36,13 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
+#include <fcntl.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/syscall.h>
|
||||
@@ -353,6 +355,35 @@ intptr_t SIGSYSSchedHandler(const struct
|
||||
#include <string.h>
|
||||
@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct arch_seccomp_data& args,
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
+intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||
+ void* aux) {
|
||||
+ void* aux) {
|
||||
+ switch (args.nr) {
|
||||
+#if defined(__NR_newfstatat)
|
||||
+ case __NR_newfstatat:
|
||||
@ -73,7 +73,7 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
bpf_dsl::ResultExpr CrashSIGSYS() {
|
||||
return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
|
||||
}
|
||||
@@ -385,6 +416,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
|
||||
@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS() {
|
||||
return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
|
||||
}
|
||||
|
||||
@ -84,23 +84,22 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
void AllocateCrashKeys() {
|
||||
#if !defined(OS_NACL_NONSFI)
|
||||
if (seccomp_crash_key)
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
@@ -63,6 +63,11 @@ SIGSYSPtraceFailure(const struct arch_se
|
||||
SANDBOX_EXPORT intptr_t
|
||||
SIGSYSSchedHandler(const struct arch_seccomp_data& args, void* aux);
|
||||
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
index 7a958b9..d0bfab7 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
|
||||
@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFailure(const arch_seccomp_data& args,
|
||||
// sched_setparam(), sched_setscheduler()
|
||||
SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
|
||||
void* aux);
|
||||
+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
|
||||
+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
|
||||
+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||
+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
|
||||
+ void* aux);
|
||||
+
|
||||
|
||||
// Variants of the above functions for use with bpf_dsl.
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSClone();
|
||||
@@ -72,6 +77,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
|
||||
@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSKill();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
|
||||
SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
|
||||
@ -108,10 +107,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
|
||||
// Allocates a crash key so that Seccomp information can be recorded.
|
||||
void AllocateCrashKeys();
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
index fcfd2aa..5396b36 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.cc
|
||||
@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
|
||||
|
||||
#endif // defined(MEMORY_SANITIZER)
|
||||
@ -126,10 +125,10 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/ser
|
||||
+}
|
||||
+
|
||||
} // namespace sandbox
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
index 1975bfb..ed7ee5a 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/services/syscall_wrappers.h
|
||||
@@ -17,6 +17,7 @@ struct sock_fprog;
|
||||
struct rlimit64;
|
||||
struct cap_hdr;
|
||||
@ -138,7 +137,7 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/ser
|
||||
|
||||
namespace sandbox {
|
||||
|
||||
@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
|
||||
@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int signum,
|
||||
const struct sigaction* act,
|
||||
struct sigaction* oldact);
|
||||
|
||||
|
@ -1,15 +1,19 @@
|
||||
Author Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
Date: 2020-04-07
|
||||
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
|
||||
From eaae274cb1975be558d8a535ba2310bc67c073a6 Mon Sep 17 00:00:00 2001
|
||||
From: "Bernhard M. Wiedemann" <bwiedemann suse de>
|
||||
Date: Wed, 24 Mar 2021 16:00:08 +0100
|
||||
Subject: [PATCH] https://bugzilla.opensuse.org/show_bug.cgi?id=1163766
|
||||
|
||||
seccomp filters disallow a new kernel syscall to get time
|
||||
used on i586
|
||||
---
|
||||
.../sandbox/linux/system_headers/x86_32_linux_syscalls.h | 8 ++++++++
|
||||
.../chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc | 3 +++
|
||||
3 files changed, 16 insertions(+)
|
||||
|
||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
index 7613c9bbc..7093ac054 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
|
||||
@@ -1710,5 +1710,13 @@
|
||||
#define __NR_clone3 435
|
||||
#endif
|
||||
@ -24,33 +28,20 @@ Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/lin
|
||||
+
|
||||
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
|
||||
|
||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -151,6 +151,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
|
||||
return RestrictClockID();
|
||||
}
|
||||
+#if defined(__NR_clock_gettime64)
|
||||
+ if (sysno == __NR_clock_gettime64 || sysno == __NR_clock_nanosleep_time64) {
|
||||
+ return RestrictClockID();
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
if (sysno == __NR_clone) {
|
||||
return RestrictCloneToThreadsAndEPERMFork();
|
||||
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_ime_policy_linux.cc
|
||||
@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSys
|
||||
diff --git a/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc b/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||
index 3fcdbcc18..c7a00c2c2 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/policy/linux/bpf_ime_policy_linux.cc
|
||||
@@ -31,6 +31,9 @@ ResultExpr ImeProcessPolicy::EvaluateSyscall(int sysno) const {
|
||||
#endif
|
||||
#if defined(__NR_clock_gettime)
|
||||
case __NR_clock_gettime:
|
||||
#endif
|
||||
+#endif
|
||||
+#if defined(__NR_clock_gettime64)
|
||||
+ case __NR_clock_gettime64:
|
||||
+#endif
|
||||
#endif
|
||||
return Allow();
|
||||
// https://crbug.com/991435
|
||||
#if defined(__NR_getrusage)
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
From b516ed189eb440e909f36baca1557b98e4d9ffd7 Mon Sep 17 00:00:00 2001
|
||||
From: Frederik Seiffert <frederik@algoriddim.com>
|
||||
Date: Thu, 12 Nov 2020 12:53:43 +0100
|
||||
Subject: [PATCH] Fix building with ICU 68.
|
||||
|
||||
ICU 68 no longer defines the TRUE macro.
|
||||
|
||||
Closes #204.
|
||||
---
|
||||
encoding.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/encoding.c b/encoding.c
|
||||
index c34aca44..264f60bb 100644
|
||||
--- a/src/3rdparty/chromium/third_party/libxml/src/encoding.c
|
||||
+++ b/src/3rdparty/chromium/third_party/libxml/src/encoding.c
|
||||
@@ -2004,7 +2004,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
|
||||
#ifdef LIBXML_ICU_ENABLED
|
||||
else if (handler->uconv_out != NULL) {
|
||||
ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen,
|
||||
- TRUE);
|
||||
+ 1);
|
||||
}
|
||||
#endif /* LIBXML_ICU_ENABLED */
|
||||
else {
|
||||
--
|
||||
GitLab
|
301
icu-68.patch
301
icu-68.patch
@ -1,301 +0,0 @@
|
||||
From 9236b21c883360482bd2c06929bfdecbc47f186c Mon Sep 17 00:00:00 2001
|
||||
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
Date: Mon, 16 Nov 2020 13:16:13 +0100
|
||||
Subject: Fix build with system ICU 68
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes: QTBUG-88116
|
||||
Change-Id: I935babf51c2670fad7cc7950a2fe07eb2829c4cb
|
||||
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
||||
---
|
||||
chromium/base/i18n/string_compare.cc | 4 ++--
|
||||
chromium/base/i18n/time_formatting.cc | 2 +-
|
||||
.../components/autofill/core/common/autofill_regexes.cc | 8 ++++----
|
||||
.../spellcheck/renderer/spellcheck_worditerator.cc | 2 +-
|
||||
.../url_formatter/spoof_checks/idn_spoof_checker.cc | 4 ++--
|
||||
.../url_formatter/spoof_checks/skeleton_generator.cc | 2 +-
|
||||
chromium/services/service_manager/zygote/zygote_linux.cc | 2 +-
|
||||
.../blink/renderer/platform/text/locale_icu.cc | 4 ++--
|
||||
.../renderer/platform/text/text_break_iterator_icu.cc | 16 ++++++++--------
|
||||
.../blink/renderer/platform/text/unicode_utilities.cc | 2 +-
|
||||
.../blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +-
|
||||
chromium/ui/base/l10n/formatter.cc | 6 +++---
|
||||
12 files changed, 27 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/chromium/base/i18n/string_compare.cc b/chromium/base/i18n/string_compare.cc
|
||||
index 6cd59b98f49..a5fa502b53f 100644
|
||||
--- a/src/3rdparty/chromium/base/i18n/string_compare.cc
|
||||
+++ b/src/3rdparty/chromium/base/i18n/string_compare.cc
|
||||
@@ -18,8 +18,8 @@ UCollationResult CompareString16WithCollator(const icu::Collator& collator,
|
||||
StringPiece16 rhs) {
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
UCollationResult result = collator.compare(
|
||||
- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())),
|
||||
- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())),
|
||||
+ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())),
|
||||
+ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())),
|
||||
error);
|
||||
DCHECK(U_SUCCESS(error));
|
||||
return result;
|
||||
diff --git a/chromium/base/i18n/time_formatting.cc b/chromium/base/i18n/time_formatting.cc
|
||||
index 1a6c1389ba0..106dd0e5b47 100644
|
||||
--- a/src/3rdparty/chromium/base/i18n/time_formatting.cc
|
||||
+++ b/src/3rdparty/chromium/base/i18n/time_formatting.cc
|
||||
@@ -236,7 +236,7 @@ bool TimeDurationFormatWithSeconds(const TimeDelta time,
|
||||
icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE);
|
||||
measure_format.formatMeasures(measures, 3, formatted, ignore, status);
|
||||
*out = i18n::UnicodeStringToString16(formatted);
|
||||
- return U_SUCCESS(status) == TRUE;
|
||||
+ return U_SUCCESS(status) == true;
|
||||
}
|
||||
|
||||
string16 DateIntervalFormat(const Time& begin_time,
|
||||
diff --git a/chromium/components/autofill/core/common/autofill_regexes.cc b/chromium/components/autofill/core/common/autofill_regexes.cc
|
||||
index b141cb2d0f6..a8a688d50c7 100644
|
||||
--- a/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
|
||||
+++ b/src/3rdparty/chromium/components/autofill/core/common/autofill_regexes.cc
|
||||
@@ -43,7 +43,7 @@ class AutofillRegexes {
|
||||
icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) {
|
||||
auto it = matchers_.find(pattern);
|
||||
if (it == matchers_.end()) {
|
||||
- const icu::UnicodeString icu_pattern(FALSE, pattern.data(),
|
||||
+ const icu::UnicodeString icu_pattern(false, pattern.data(),
|
||||
pattern.length());
|
||||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
@@ -70,20 +70,20 @@ bool MatchesPattern(const base::string16& input,
|
||||
base::AutoLock lock(*g_lock);
|
||||
|
||||
icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern);
|
||||
- icu::UnicodeString icu_input(FALSE, input.data(), input.length());
|
||||
+ icu::UnicodeString icu_input(false, input.data(), input.length());
|
||||
matcher->reset(icu_input);
|
||||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
UBool matched = matcher->find(0, status);
|
||||
DCHECK(U_SUCCESS(status));
|
||||
|
||||
- if (matched == TRUE && match) {
|
||||
+ if (matched == true && match) {
|
||||
icu::UnicodeString match_unicode = matcher->group(0, status);
|
||||
DCHECK(U_SUCCESS(status));
|
||||
*match = base::i18n::UnicodeStringToString16(match_unicode);
|
||||
}
|
||||
|
||||
- return matched == TRUE;
|
||||
+ return matched == true;
|
||||
}
|
||||
|
||||
} // namespace autofill
|
||||
diff --git a/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc b/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
||||
index 8fe8a6df381..e3a65580c08 100644
|
||||
--- a/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
||||
+++ b/src/3rdparty/chromium/components/spellcheck/renderer/spellcheck_worditerator.cc
|
||||
@@ -424,7 +424,7 @@ bool SpellcheckWordIterator::Normalize(size_t input_start,
|
||||
// spellchecker and we need manual normalization as well. The normalized
|
||||
// text does not have to be NUL-terminated since its characters are copied to
|
||||
// string16, which adds a NUL character when we need.
|
||||
- icu::UnicodeString input(FALSE, &text_[input_start],
|
||||
+ icu::UnicodeString input(false, &text_[input_start],
|
||||
base::checked_cast<int32_t>(input_length));
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
icu::UnicodeString output;
|
||||
diff --git a/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc b/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
||||
index 1964793fd3e..c4e01026c38 100644
|
||||
--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
||||
+++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
|
||||
@@ -347,7 +347,7 @@ bool IDNSpoofChecker::SafeToDisplayAsUnicode(
|
||||
if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS))
|
||||
return false;
|
||||
|
||||
- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(),
|
||||
+ icu::UnicodeString label_string(false /* isTerminated */, label.data(),
|
||||
base::checked_cast<int32_t>(label.size()));
|
||||
|
||||
// A punycode label with 'xn--' prefix is not subject to the URL
|
||||
@@ -677,7 +677,7 @@ bool IDNSpoofChecker::IsWholeScriptConfusableAllowedForTLD(
|
||||
base::StringPiece tld,
|
||||
base::StringPiece16 tld_unicode) {
|
||||
icu::UnicodeString tld_string(
|
||||
- FALSE /* isTerminated */, tld_unicode.data(),
|
||||
+ false /* isTerminated */, tld_unicode.data(),
|
||||
base::checked_cast<int32_t>(tld_unicode.size()));
|
||||
// Allow if the TLD contains any letter from the script, in which case it's
|
||||
// likely to be a TLD in that script.
|
||||
diff --git a/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc b/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
||||
index 41485914007..b8c1c2f547a 100644
|
||||
--- a/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
||||
+++ b/src/3rdparty/chromium/components/url_formatter/spoof_checks/skeleton_generator.cc
|
||||
@@ -117,7 +117,7 @@ SkeletonGenerator::~SkeletonGenerator() = default;
|
||||
Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) {
|
||||
Skeletons skeletons;
|
||||
size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 : 0);
|
||||
- icu::UnicodeString host(FALSE, hostname.data(), hostname_length);
|
||||
+ icu::UnicodeString host(false, hostname.data(), hostname_length);
|
||||
// If input has any characters outside Latin-Greek-Cyrillic and [0-9._-],
|
||||
// there is no point in getting rid of diacritics because combining marks
|
||||
// attached to non-LGC characters are already blocked.
|
||||
diff --git a/chromium/services/service_manager/zygote/zygote_linux.cc b/chromium/services/service_manager/zygote/zygote_linux.cc
|
||||
index aa601ab28d7..920438e5b50 100644
|
||||
--- a/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
|
||||
+++ b/src/3rdparty/chromium/services/service_manager/zygote/zygote_linux.cc
|
||||
@@ -564,7 +564,7 @@ base::ProcessId Zygote::ReadArgsAndFork(base::PickleIterator iter,
|
||||
if (!iter.ReadString16(&timezone_id))
|
||||
return -1;
|
||||
icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone(
|
||||
- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length())));
|
||||
+ icu::UnicodeString(false, timezone_id.data(), timezone_id.length())));
|
||||
|
||||
if (!iter.ReadInt(&numfds))
|
||||
return -1;
|
||||
diff --git a/chromium/third_party/blink/renderer/platform/text/locale_icu.cc b/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
||||
index abff1b1d809..57f1286d4e4 100644
|
||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/locale_icu.cc
|
||||
@@ -169,12 +169,12 @@ static String GetDateFormatPattern(const UDateFormat* date_format) {
|
||||
return g_empty_string;
|
||||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status);
|
||||
+ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status);
|
||||
if (status != U_BUFFER_OVERFLOW_ERROR || !length)
|
||||
return g_empty_string;
|
||||
StringBuffer<UChar> buffer(length);
|
||||
status = U_ZERO_ERROR;
|
||||
- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status);
|
||||
+ udat_toPattern(date_format, true, buffer.Characters(), length, &status);
|
||||
if (U_FAILURE(status))
|
||||
return g_empty_string;
|
||||
return String::Adopt(buffer);
|
||||
diff --git a/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc b/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
||||
index a257cd75ccf..898d0c47bb1 100644
|
||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
|
||||
@@ -311,13 +311,13 @@ static inline bool TextInChunkOrOutOfRange(UText* text,
|
||||
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
|
||||
? static_cast<int32_t>(offset)
|
||||
: 0;
|
||||
- is_accessible = TRUE;
|
||||
+ is_accessible = true;
|
||||
return true;
|
||||
}
|
||||
if (native_index >= native_length &&
|
||||
text->chunkNativeLimit == native_length) {
|
||||
text->chunkOffset = text->chunkLength;
|
||||
- is_accessible = FALSE;
|
||||
+ is_accessible = false;
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
@@ -330,12 +330,12 @@ static inline bool TextInChunkOrOutOfRange(UText* text,
|
||||
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
|
||||
? static_cast<int32_t>(offset)
|
||||
: 0;
|
||||
- is_accessible = TRUE;
|
||||
+ is_accessible = true;
|
||||
return true;
|
||||
}
|
||||
if (native_index <= 0 && !text->chunkNativeStart) {
|
||||
text->chunkOffset = 0;
|
||||
- is_accessible = FALSE;
|
||||
+ is_accessible = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -346,7 +346,7 @@ static UBool TextLatin1Access(UText* text,
|
||||
int64_t native_index,
|
||||
UBool forward) {
|
||||
if (!text->context)
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
int64_t native_length = TextNativeLength(text);
|
||||
UBool is_accessible;
|
||||
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
|
||||
@@ -370,7 +370,7 @@ static UBool TextLatin1Access(UText* text,
|
||||
DCHECK_EQ(new_context, kPriorContext);
|
||||
TextLatin1SwitchToPriorContext(text, native_index, native_length, forward);
|
||||
}
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
static const struct UTextFuncs kTextLatin1Funcs = {
|
||||
@@ -510,7 +510,7 @@ static void TextUTF16SwitchToPriorContext(UText* text,
|
||||
|
||||
static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) {
|
||||
if (!text->context)
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
int64_t native_length = TextNativeLength(text);
|
||||
UBool is_accessible;
|
||||
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
|
||||
@@ -532,7 +532,7 @@ static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) {
|
||||
DCHECK_EQ(new_context, kPriorContext);
|
||||
TextUTF16SwitchToPriorContext(text, native_index, native_length, forward);
|
||||
}
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
static const struct UTextFuncs kTextUTF16Funcs = {
|
||||
diff --git a/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc b/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
||||
index 2cefd5390b6..b8c4515dc13 100644
|
||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/unicode_utilities.cc
|
||||
@@ -300,7 +300,7 @@ void NormalizeCharactersIntoNFCForm(const UChar* characters,
|
||||
DCHECK(U_SUCCESS(status));
|
||||
int32_t input_length = static_cast<int32_t>(length);
|
||||
// copy-on-write.
|
||||
- icu::UnicodeString normalized(FALSE, characters, input_length);
|
||||
+ icu::UnicodeString normalized(false, characters, input_length);
|
||||
// In the vast majority of cases, input is already NFC. Run a quick check
|
||||
// to avoid normalizing the entire input unnecessarily.
|
||||
int32_t normalized_prefix_length =
|
||||
diff --git a/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
||||
index 810d1cd9181..9074b640fff 100644
|
||||
--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
||||
+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
|
||||
@@ -326,7 +326,7 @@ void TextCodecICU::CreateICUConverter() const {
|
||||
DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING)
|
||||
<< "ICU ambiguous alias warning for encoding: " << encoding_.GetName();
|
||||
if (converter_icu_)
|
||||
- ucnv_setFallback(converter_icu_, TRUE);
|
||||
+ ucnv_setFallback(converter_icu_, true);
|
||||
}
|
||||
|
||||
int TextCodecICU::DecodeToBuffer(UChar* target,
|
||||
diff --git a/chromium/ui/base/l10n/formatter.cc b/chromium/ui/base/l10n/formatter.cc
|
||||
index 486a3a029cb..d7a41724628 100644
|
||||
--- a/src/3rdparty/chromium/ui/base/l10n/formatter.cc
|
||||
+++ b/src/3rdparty/chromium/ui/base/l10n/formatter.cc
|
||||
@@ -232,7 +232,7 @@ void Formatter::Format(Unit unit,
|
||||
int value,
|
||||
icu::UnicodeString* formatted_string) const {
|
||||
DCHECK(simple_format_[unit]);
|
||||
- DCHECK(formatted_string->isEmpty() == TRUE);
|
||||
+ DCHECK(formatted_string->isEmpty() == true);
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
FormatNumberInPlural(*simple_format_[unit],
|
||||
value, formatted_string, &error);
|
||||
@@ -248,7 +248,7 @@ void Formatter::Format(TwoUnits units,
|
||||
<< "Detailed() not implemented for your (format, length) combination!";
|
||||
DCHECK(detailed_format_[units][1])
|
||||
<< "Detailed() not implemented for your (format, length) combination!";
|
||||
- DCHECK(formatted_string->isEmpty() == TRUE);
|
||||
+ DCHECK(formatted_string->isEmpty() == true);
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
FormatNumberInPlural(*detailed_format_[units][0], value_1,
|
||||
formatted_string, &error);
|
||||
@@ -281,7 +281,7 @@ std::unique_ptr<icu::MessageFormat> Formatter::InitFormat(
|
||||
base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id);
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat(
|
||||
- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error));
|
||||
+ icu::UnicodeString(false, pattern.data(), pattern.length()), error));
|
||||
DCHECK(U_SUCCESS(error));
|
||||
if (format.get())
|
||||
return format;
|
||||
--
|
||||
cgit v1.2.1
|
@ -1,3 +1,145 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 24 12:45:13 UTC 2021 - christophe@krop.fr
|
||||
|
||||
- Update to version 5.15.3:
|
||||
* Fix spelling and coding style
|
||||
* Fix new view request handling (QTBUG-87378)
|
||||
* Fix getDefaultScreenId on X11
|
||||
* Fix flaky tst_QWebEngineView::textSelectionOutOfInputField test
|
||||
* Move touch input tests to separate testcase
|
||||
* Add touch input tests for scrolling and pinch zooming
|
||||
* Fix rare duplicate ids forming in touch point id's mapping
|
||||
* Use the module's version number for QtWebEngineProcess
|
||||
* Touch handling: provide id mapping without modifying TouchPoint instance
|
||||
(QTBUG-88001)
|
||||
* Touch handling: fix mapped ids cleanup for TouchCancel event
|
||||
* et custom headers from QWebEngineUrlRequestInfo before triggering redirect
|
||||
(QTBUG-88861)
|
||||
* Forward modifier flags for lock keys (QTBUG-89001)
|
||||
* Fix handling of more than one finger for touch event (QTBUG-86389)
|
||||
* Stabilize load signals emitting (QTBUG-65223, QTBUG-87089)
|
||||
* Fix building against 5.12 on most CIs
|
||||
* Update minimum HarfBuzz version to 2.4.0 (QTBUG-88976)
|
||||
* Fix building against Qt 5.14
|
||||
* Migrate user script IPC to mojo
|
||||
* Fix crashes in user resource controller when single process
|
||||
* Minor. Fix namespace for user resource controller
|
||||
* Minor. RenderThreadObserverQt is really a RenderConfiguration
|
||||
* Remove RenderViewObserverHelper from UserResourceController
|
||||
* Cache mojo interface bindings to UserResourceControllerRenderFrame
|
||||
* Cache mojo interface bindings for WebChannelIPCTransport
|
||||
* Migrate render_view_observer_qt to mojo
|
||||
* Fix crash on linkedin.com (QTBUG-89740)
|
||||
* Suppress error pages also for http errors if they are disabled
|
||||
* Fix leak in QQuickWebEngineViewPrivate::contextMenuRequested
|
||||
* Register PerformanceNode early enough
|
||||
* Quiet log on webrtc usage
|
||||
* Remove configure option that doesn't work
|
||||
* Remove Java build dependency
|
||||
* Fix blank popups in qml (QTBUG-86034)
|
||||
* Fix position of popup on qml (QTBUG-86034, QTBUG-89358)
|
||||
* Enable hangout services extension (QTBUG-85731)
|
||||
* Allow to fallback to default locale for non existent data packs (QTBUG-90490)
|
||||
* Support devtools close button
|
||||
* Do not extract download file names from certain url schemes (QTBUG-90355)
|
||||
* Leave room for the null-termination byte when checking remote drive path
|
||||
(QTBUG-90347)
|
||||
* Do not set open files limit for linking if not necessary
|
||||
* Remove even more remains of non network service code
|
||||
* Add back prefers-color-scheme support (QTBUG-89753)
|
||||
* Start supporting chrome.resourcesPrivate API (QTBUG-90035)
|
||||
* Enable chrome://user-actions WebUI
|
||||
* Remove remains of chrome://flash
|
||||
* Fix loadFinished signal if page has content but server sends HTTP error
|
||||
(QTBUG-90517)
|
||||
* Fix devtools page resource loading as raw data instead of html string
|
||||
* Remove frame metadata observer (RenderWidgetHostViewQt) on destroy
|
||||
* Resolve installed interceptors right before interception point (QTBUG-86286)
|
||||
* Update searches faster
|
||||
* Remove more leftovers of the old compositor
|
||||
* Enable webrtc logging and the corresponding WebUI
|
||||
* Support mips64el platform CPU(loongson 3A4000)
|
||||
* Add tracing UI resources
|
||||
* Fix crash on meet.google.com
|
||||
* Fix mad popup qquickwindows on wayland
|
||||
* Fix crashes on BrowserContext destruction
|
||||
* Fix crash on exit in quicknanobrowser when popup
|
||||
* Remove QtPdf dependency on nss at build-time
|
||||
* Avoid accessing profileAdapter when profile is shutting down (QTBUG-91187)
|
||||
* Do not flush messages form profile destructor
|
||||
* Ignore QQuickWebEngineNewViewRequest if it is unhandled
|
||||
* Fix ScopedGLContextChecker with QTWEBENGINE_DISABLE_GPU_THREAD=1
|
||||
* Don't send duplicate load progress values
|
||||
* Fix neon support in libpng
|
||||
* Do not call deprecated profile interceptor on ui thread (QTBUG-86267)
|
||||
* Add certificate error message for ERR_SSL_OBSOLETE_VERSION
|
||||
* Fix assert in WebContentsAdapter::devToolsFrontendDestroyed
|
||||
* Avoid to reject a certificate error twice in Quick
|
||||
* Fix PDF viewer plugin
|
||||
* FIXUP: Fix swap condition in DisplayGLOutputSurface::updatePaintNode
|
||||
(QTBUG-86599)
|
||||
* Fix favicon engine under device pixel scaling
|
||||
* Do not pass a native keycode matching the menu key when it is remapped
|
||||
(QTBUG-86672)
|
||||
* Optimize WebEngineSettings::testAttribute
|
||||
* Warn about QtWebengineProcess launching from network share (QTBUG-84632)
|
||||
* Handle non-ascii names for pulseaudio (QTBUG-85363)
|
||||
* Do not set audio device for desktop capture if audio loopback is unsupported
|
||||
* Fix new view request handling (QTBUG-87378)
|
||||
* Fix getDefaultScreenId on X11
|
||||
* Touch handling: provide id mapping without modifying TouchPoint instance
|
||||
(QTBUG-88001)
|
||||
* Set custom headers from QWebEngineUrlRequestInfo before triggering redirect
|
||||
(QTBUG-88861)
|
||||
* Stabilize load signals emitting (QTBUG-65223)
|
||||
|
||||
- CVE fixes backported in chromium updates:
|
||||
* CVE-2020-16044: Use after free in WebRTC
|
||||
* CVE-2021-21118: Heap buffer overflow in Blink
|
||||
* CVE-2021-21119: Use after free in Media
|
||||
* CVE-2021-21120: Use after free in WebSQL
|
||||
* CVE-2021-21121: Use after free in Omnibox
|
||||
* CVE-2021-21122: Use after free in Blink
|
||||
* CVE-2021-21123: Insufficient data validation in File System API
|
||||
* CVE-2021-21125: Insufficient policy enforcement in File System API
|
||||
* CVE-2021-21126: Insufficient policy enforcement in extensions
|
||||
* CVE-2021-21127: Insufficient policy enforcement in extensions
|
||||
* CVE-2021-21128: Heap buffer overflow in Blink
|
||||
* CVE-2021-21129: Insufficient policy enforcement in File System API
|
||||
* CVE-2021-21130: Insufficient policy enforcement in File System API
|
||||
* CVE-2021-21131: Insufficient policy enforcement in File System API
|
||||
* CVE-2021-21132: Inappropriate implementation in DevTools
|
||||
* CVE-2021-21135: Inappropriate implementation in Performance API
|
||||
* CVE-2021-21137: Inappropriate implementation in DevTools
|
||||
* CVE-2021-21140: Uninitialized Use in USB
|
||||
* CVE-2021-21141: Insufficient policy enforcement in File System API
|
||||
* CVE-2021-21145: Use after free in Fonts
|
||||
* CVE-2021-21146: Use after free in Navigation
|
||||
* CVE-2021-21147: Inappropriate implementation in Skia
|
||||
* CVE-2021-21148: Heap buffer overflow in V8
|
||||
* CVE-2021-21149: Stack overflow in Data Transfer
|
||||
* CVE-2021-21150: Use after free in Downloads
|
||||
* CVE-2021-21152: Heap buffer overflow in Media
|
||||
* CVE-2021-21153: Stack overflow in GPU Process
|
||||
* CVE-2021-21156: Heap buffer overflow in V8
|
||||
* CVE-2021-21157: Use after free in Web Sockets
|
||||
- Drop obsolete patches:
|
||||
* icu-68.patch
|
||||
* icu-68-2.patch
|
||||
- Rebase patches:
|
||||
* fix1163766.patch
|
||||
* sandbox-statx-futex_time64.patch
|
||||
* rtc-dont-use-h264.patch
|
||||
* chromium-glibc-2.33.patch
|
||||
- Add patch to fix crash with certain locales:
|
||||
* 0001-Fix-normalization-of-app-locales.patch
|
||||
- Clean the spec file a bit
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 10 16:52:28 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Can't use system_vpx on Leap 15.3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 17 13:19:20 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package libqt5-qtwebengine
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright © 2017 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@ -17,16 +17,7 @@
|
||||
#
|
||||
|
||||
|
||||
%define qt5_snapshot 0
|
||||
|
||||
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150100
|
||||
%bcond_without system_harfbuzz
|
||||
%bcond_without system_icu
|
||||
%else
|
||||
%bcond_with system_harfbuzz
|
||||
%bcond_with system_icu
|
||||
%endif
|
||||
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150200
|
||||
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
||||
%bcond_without system_vpx
|
||||
%else
|
||||
%bcond_with system_vpx
|
||||
@ -38,29 +29,31 @@
|
||||
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
|
||||
|
||||
Name: libqt5-qtwebengine
|
||||
Version: 5.15.2
|
||||
Version: 5.15.3
|
||||
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.2
|
||||
%define so_version 5.15.2
|
||||
%define tar_version qtwebengine-everywhere-src-5.15.2
|
||||
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
%define real_version 5.15.3
|
||||
%define so_version 5.15.3
|
||||
%define tar_version qtwebengine-everywhere-src-%{version}
|
||||
Source: %{tar_version}.tar.xz
|
||||
# Generated from a local build
|
||||
Source1: sync.profile
|
||||
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
||||
Patch1: armv6-ffmpeg-no-thumb.patch
|
||||
Patch0: armv6-ffmpeg-no-thumb.patch
|
||||
# PATCH-FIX-OPENSUSE disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||
Patch3: fix1163766.patch
|
||||
Patch4: chromium-glibc-2.33.patch
|
||||
Patch5: sandbox-statx-futex_time64.patch
|
||||
Patch1: disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||
Patch2: fix1163766.patch
|
||||
Patch3: sandbox-statx-futex_time64.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch9: rtc-dont-use-h264.patch
|
||||
Patch4: rtc-dont-use-h264.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch10: icu-68.patch
|
||||
Patch11: icu-68-2.patch
|
||||
Patch5: 0001-Fix-normalization-of-app-locales.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch6: 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
|
||||
@ -80,29 +73,33 @@ BuildRequires: libQt5QuickControls2-devel
|
||||
BuildRequires: libqt5-qtsvg-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qttools-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.9
|
||||
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.12
|
||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.12
|
||||
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.12
|
||||
BuildRequires: libqt5-qttools-private-headers-devel >= 5.12
|
||||
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.12
|
||||
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.12
|
||||
BuildRequires: memory-constraints
|
||||
BuildRequires: ninja
|
||||
# nodejs-default doesn't exist on Leap 15.2 and nodejs/nodejs-common is confused on TW/i586
|
||||
%if 0%{?suse_version} == 1500 && 0%{?sle_version} == 150200
|
||||
BuildRequires: nodejs-common
|
||||
%else
|
||||
BuildRequires: nodejs-default
|
||||
%endif
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: pciutils-devel
|
||||
BuildRequires: perl
|
||||
BuildRequires: perl-JSON
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-xml
|
||||
BuildRequires: re2-devel
|
||||
BuildRequires: re2c
|
||||
BuildRequires: sed
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: usbutils
|
||||
BuildRequires: util-linux
|
||||
@ -119,13 +116,23 @@ BuildRequires: pkgconfig(bzip2)
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(freetype2) >= 2.4.2
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.32
|
||||
BuildRequires: pkgconfig(glproto)
|
||||
BuildRequires: pkgconfig(gmodule-2.0)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gthread-2.0)
|
||||
BuildRequires: pkgconfig(harfbuzz) >= 2.4.0
|
||||
BuildRequires: pkgconfig(icu-uc) >= 65.0
|
||||
BuildRequires: pkgconfig(icu-i18n) >= 65.0
|
||||
BuildRequires: pkgconfig(jsoncpp)
|
||||
BuildRequires: pkgconfig(lcms2)
|
||||
%if %{with system_ffmpeg}
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libcrypto)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libevent)
|
||||
@ -140,13 +147,22 @@ BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(libwebp)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: pkgconfig(libxslt)
|
||||
%if %{with system_minizip}
|
||||
BuildRequires: pkgconfig(minizip)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(nspr)
|
||||
BuildRequires: pkgconfig(nss)
|
||||
BuildRequires: pkgconfig(opus)
|
||||
BuildRequires: pkgconfig(pangocairo)
|
||||
BuildRequires: pkgconfig(pangoft2)
|
||||
BuildRequires: pkgconfig(poppler-cpp)
|
||||
BuildRequires: pkgconfig(protobuf)
|
||||
BuildRequires: pkgconfig(re2)
|
||||
BuildRequires: pkgconfig(speex)
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
%if %{with system_vpx}
|
||||
BuildRequires: pkgconfig(vpx) >= 1.8.0
|
||||
%endif
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
@ -161,28 +177,6 @@ BuildRequires: pkgconfig(xt)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: yasm-devel
|
||||
%if %{with system_minizip}
|
||||
BuildRequires: pkgconfig(minizip)
|
||||
%endif
|
||||
%if %{with system_harfbuzz}
|
||||
BuildRequires: pkgconfig(harfbuzz) >= 2.2.0
|
||||
%endif
|
||||
%if %{with system_icu}
|
||||
BuildRequires: pkgconfig(icu-uc) >= 64.0
|
||||
BuildRequires: pkgconfig(icu-i18n) >= 64.0
|
||||
%endif
|
||||
%if %{with system_vpx}
|
||||
BuildRequires: pkgconfig(vpx) >= 1.8.0
|
||||
%endif
|
||||
%if %{with system_ffmpeg}
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
%endif
|
||||
%if %qt5_snapshot
|
||||
#to create the forwarding headers
|
||||
BuildRequires: perl
|
||||
%endif
|
||||
%requires_ge libQt5Network5
|
||||
%requires_ge libQtQuick5
|
||||
%requires_ge libQt5Widgets5
|
||||
@ -212,10 +206,10 @@ You need this package if you want to compile programs with Qt WebEngine.
|
||||
%package private-headers-devel
|
||||
Summary: Non-ABI stable experimental API for the Qt5 WebEngine library
|
||||
Group: Development/Libraries/C and C++
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-devel = %{version}
|
||||
%requires_ge libqt5-qtbase-private-headers-devel
|
||||
%requires_ge libqt5-qtdeclarative-private-headers-devel
|
||||
BuildArch: noarch
|
||||
|
||||
%description private-headers-devel
|
||||
This package provides private headers of libqt5-qtwebengine that are normally
|
||||
@ -265,9 +259,9 @@ You need this package if you want to compile programs with Qt PDF.
|
||||
%package -n libqt5-qtpdf-private-headers-devel
|
||||
Summary: Non-ABI stable experimental API for the Qt5 PDF library
|
||||
Group: Development/Libraries/C and C++
|
||||
BuildArch: noarch
|
||||
Requires: libqt5-qtpdf-devel = %{version}
|
||||
%requires_ge libqt5-qtbase-private-headers-devel
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n libqt5-qtpdf-private-headers-devel
|
||||
This package provides private headers of libqt5-qtpdf that are normally
|
||||
@ -293,11 +287,6 @@ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
|
||||
src/3rdparty/chromium/build/toolchain/linux/BUILD.gn
|
||||
|
||||
%build
|
||||
%if %qt5_snapshot
|
||||
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
||||
mkdir .git
|
||||
%endif
|
||||
|
||||
# TODO: Get the manual unbundling from chromium.spec working here as well
|
||||
rm -r src/3rdparty/chromium/third_party/openh264/src
|
||||
|
||||
@ -313,48 +302,64 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type"
|
||||
QMAKE_CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads" \
|
||||
gn_args+="link_pulseaudio=true" \
|
||||
gn_args+="media_use_openh264=false" \
|
||||
gn_args+="use_system_libxml=true use_system_libxslt=true" \
|
||||
qtwebengine.pro -- \
|
||||
-webengine-alsa -webengine-kerberos -no-webengine-embedded-build \
|
||||
%if %{with system_icu}
|
||||
-webengine-alsa \
|
||||
-no-webengine-embedded-build \
|
||||
-webengine-kerberos \
|
||||
-system-webengine-icu \
|
||||
%endif
|
||||
-system-webengine-opus \
|
||||
-system-webengine-webp \
|
||||
-webengine-pepper-plugins \
|
||||
-webengine-printing-and-pdf \
|
||||
%if %{with system_ffmpeg}
|
||||
-system-webengine-ffmpeg \
|
||||
-webengine-proprietary-codecs \
|
||||
%endif
|
||||
-system-webengine-opus -system-webengine-webp -webengine-pepper-plugins -webengine-printing-and-pdf
|
||||
|
||||
# For an unknown reason, syncqt isn't executed when building the package on the build service
|
||||
cp %{SOURCE1} .
|
||||
for i in QtWebEngine QtWebEngineCore QtWebEngineWidgets QtPdf QtPdfWidgets ; do
|
||||
perl -w %{_libqt5_bindir}/syncqt.pl -module $i -version %{version} -outdir $PWD -builddir $PWD $PWD
|
||||
done
|
||||
|
||||
# Determine the right number of parallel processes based on the available memory
|
||||
%limit_build -m 2750
|
||||
|
||||
# Ensure that also the internal chromium build follows the right number of parallel
|
||||
# processes instead of its defaults.
|
||||
export NINJAFLAGS="%{_smp_mflags}"
|
||||
export NINJAFLAGS="%{?_smp_mflags}"
|
||||
|
||||
make %{_smp_mflags} VERBOSE=1
|
||||
|
||||
%install
|
||||
%qmake5_install
|
||||
#cat %{buildroot}/%{_libdir}/pkgconfig/Qt*Web*.pc
|
||||
find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} + -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} +
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} +
|
||||
|
||||
find %{buildroot}%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
|
||||
find %{buildroot}%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} + -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} +
|
||||
find %{buildroot}%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} +
|
||||
sed -i '/^Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/Qt*Web*.pc
|
||||
|
||||
# kill .la files
|
||||
rm -f %{buildroot}%{_libqt5_libdir}/*.la
|
||||
|
||||
# webenginecore expects icudatl.dat at this location
|
||||
# ln -sf %{_datadir}/icu/*/icudt*l.dat %{buildroot}%{_datadir}/qt5/icudtl.dat
|
||||
|
||||
# Workaround to allow using QtWE with older Qt versions
|
||||
sed -i -r '/ EXACT\)/d' \
|
||||
%{buildroot}%{_libqt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake
|
||||
|
||||
sed -i '/find_package/!b;n;s/'%{so_version}/$(rpm -q --qf %%{version} libQt5Core5 | sed 's/~.*$//')/ \
|
||||
%{buildroot}%{_libqt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake
|
||||
%global qtcore_version %(printf %{pkg_version libQt5Core5})
|
||||
# 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
|
||||
|
||||
# Hunspell dictionaries will be converted and put here on package installation
|
||||
mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
|
||||
|
||||
%if %{pkg_vcmp libQt5Core5 >= 5.15}
|
||||
# CMake files for plugins are only useful for static builds
|
||||
rm -r %{buildroot}%{_libqt5_libdir}/cmake/Qt5Gui
|
||||
%endif
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
%post -n libQt5Pdf5 -p /sbin/ldconfig
|
||||
@ -362,7 +367,6 @@ mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
|
||||
%post -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
||||
%postun -n libQt5PdfWidgets5 -p /sbin/ldconfig
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
%filetriggerin -- %{_datadir}/hunspell
|
||||
# Convert Hunspell dictionaries on package installation
|
||||
while read filename ; do
|
||||
@ -373,26 +377,22 @@ while read filename ; do
|
||||
;;
|
||||
esac
|
||||
done
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license LICENSE.*
|
||||
%dir %{_datadir}/qt5/
|
||||
%dir %{_qtwebengine_dictionaries_dir}
|
||||
%dir %{_datadir}/qt5/resources/
|
||||
%{_datadir}/qt5/resources/qtwebengine_*
|
||||
%dir %{_datadir}/qt5/translations/
|
||||
%{_datadir}/qt5/translations/qtwebengine_locales/
|
||||
%{_libqt5_archdatadir}/qml/QtWebEngine/
|
||||
%{_libqt5_bindir}/qwebengine_convert_dict
|
||||
%{_libqt5_libdir}/libQt5WebEngine.so.*
|
||||
%{_libqt5_libdir}/libQt5WebEngineCore.so.*
|
||||
%{_libqt5_libdir}/libQt5WebEngineWidgets.so.*
|
||||
%dir %{_datadir}/qt5/
|
||||
%dir %{_datadir}/qt5/translations/
|
||||
%{_datadir}/qt5/translations/qtwebengine_locales/
|
||||
%dir %{_datadir}/qt5/resources/
|
||||
%{_datadir}/qt5/resources/qtwebengine_*
|
||||
%if %{without system_icu}
|
||||
%{_datadir}/qt5/resources/icudtl.dat
|
||||
%endif
|
||||
%dir %{_qtwebengine_dictionaries_dir}
|
||||
%dir %{_libqt5_libexecdir}
|
||||
%{_libqt5_libexecdir}/QtWebEngineProcess
|
||||
%{_libqt5_archdatadir}/qml/QtWebEngine/
|
||||
%{_libqt5_bindir}/qwebengine_convert_dict
|
||||
|
||||
%files private-headers-devel
|
||||
%license LICENSE.*
|
||||
@ -401,15 +401,15 @@ done
|
||||
%files devel
|
||||
%exclude %{_libqt5_includedir}/QtWebEngine*/%{so_version}
|
||||
%{_libqt5_includedir}/QtWebEngine*/
|
||||
%{_libqt5_libdir}/libQt5WebEngine*.so
|
||||
%{_libqt5_libdir}/libQt5WebEngine*.prl
|
||||
%{_libqt5_libdir}/pkgconfig/Qt5WebEngine*.pc
|
||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_webengine*.pri
|
||||
%dir %{_libqt5_libdir}/cmake/Qt5Designer/
|
||||
%{_libqt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebEngineViewPlugin.cmake
|
||||
%{_libqt5_libdir}/cmake/Qt5WebEngine*/
|
||||
%{_libqt5_libdir}/libQt5WebEngine*.prl
|
||||
%{_libqt5_libdir}/libQt5WebEngine*.so
|
||||
%{_libqt5_libdir}/pkgconfig/Qt5WebEngine*.pc
|
||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_webengine*.pri
|
||||
%dir %{_libqt5_plugindir}/designer/
|
||||
%{_libqt5_plugindir}/designer/libqwebengineview.so
|
||||
%{_libqt5_libdir}/cmake/Qt5WebEngine*/
|
||||
|
||||
%files examples
|
||||
%license LICENSE.*
|
||||
@ -418,12 +418,8 @@ done
|
||||
|
||||
%files -n libQt5Pdf5
|
||||
%license LICENSE.*
|
||||
%{_libqt5_libdir}/libQt5Pdf.so.*
|
||||
%{_libqt5_archdatadir}/plugins/imageformats/libqpdf.so
|
||||
# Not quite sure what this would be used by
|
||||
%dir %{_libqt5_libdir}/cmake/
|
||||
%dir %{_libqt5_libdir}/cmake/Qt5Gui/
|
||||
%{_libqt5_libdir}/cmake/Qt5Gui/Qt5Gui_QPdfPlugin.cmake
|
||||
%{_libqt5_libdir}/libQt5Pdf.so.*
|
||||
|
||||
%files -n libQt5PdfWidgets5
|
||||
%license LICENSE.*
|
||||
@ -445,13 +441,13 @@ done
|
||||
%{_libqt5_includedir}/QtPdfWidgets/
|
||||
%{_libqt5_libdir}/cmake/Qt5Pdf/
|
||||
%{_libqt5_libdir}/cmake/Qt5PdfWidgets/
|
||||
%{_libqt5_libdir}/libQt5Pdf.so
|
||||
%{_libqt5_libdir}/libQt5PdfWidgets.so
|
||||
%{_libqt5_libdir}/libQt5Pdf.prl
|
||||
%{_libqt5_libdir}/libQt5Pdf.so
|
||||
%{_libqt5_libdir}/libQt5PdfWidgets.prl
|
||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri
|
||||
%{_libqt5_libdir}/libQt5PdfWidgets.so
|
||||
%{_libqt5_libdir}/pkgconfig/Qt5Pdf.pc
|
||||
%{_libqt5_libdir}/pkgconfig/Qt5PdfWidgets.pc
|
||||
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_pdf*.pri
|
||||
|
||||
%files -n libqt5-qtpdf-examples
|
||||
%license LICENSE.*
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0
|
||||
size 280142544
|
3
qtwebengine-everywhere-src-5.15.3.tar.xz
Normal file
3
qtwebengine-everywhere-src-5.15.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cde63cc3986d1324667b75bb1d7cd39a9e72555a321bdda3c5ca604e170868f6
|
||||
size 319611228
|
@ -1,11 +1,11 @@
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Subject: Don't require open264 when proprietary_codecs are supported
|
||||
|
||||
Index: qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.1.orig/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||
+++ qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||
@@ -149,8 +149,7 @@ declare_args() {
|
||||
diff --git a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni b/chromium/third_party/webrtc/webrtc.gni
|
||||
index ca8acdbf259..36897a72aa8 100644
|
||||
--- a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||
+++ b/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
|
||||
@@ -151,8 +151,7 @@ declare_args() {
|
||||
#
|
||||
# Enabling H264 when building with MSVC is currently not supported, see
|
||||
# bugs.webrtc.org/9213#c13 for more info.
|
||||
@ -13,13 +13,14 @@ Index: qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrt
|
||||
- proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang)
|
||||
+ rtc_use_h264 = false
|
||||
|
||||
# By default, use normal platform audio support or dummy audio, but don't
|
||||
# use file-based audio playout and record.
|
||||
Index: qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.1.orig/src/core/config/common.pri
|
||||
+++ qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
|
||||
@@ -27,9 +27,6 @@ qtConfig(webengine-webrtc) {
|
||||
# Enable this flag to make webrtc::Mutex be implemented by absl::Mutex.
|
||||
rtc_use_absl_mutex = false
|
||||
|
||||
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
|
||||
index d9d64e76..cd0fd120 100644
|
||||
--- a/src/core/config/common.pri
|
||||
+++ b/src/core/config/common.pri
|
||||
@@ -26,9 +26,6 @@ qtConfig(webengine-webrtc) {
|
||||
|
||||
qtConfig(webengine-proprietary-codecs) {
|
||||
gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
|
||||
|
@ -8,11 +8,11 @@ Return -ENOSYS instead to trigger the fallback in glibc.
|
||||
futex_time64 is also used internally in glibc, so handle that as well.
|
||||
The signature is identical where it matters.
|
||||
|
||||
Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
===================================================================
|
||||
--- qtwebengine-everywhere-src-5.15.2.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -190,6 +190,11 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
index 3c67b124786..4772dc096f5 100644
|
||||
--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
+++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
|
||||
@@ -194,6 +194,11 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||
if (sysno == __NR_futex)
|
||||
return RestrictFutex();
|
||||
|
||||
@ -24,9 +24,9 @@ Index: qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/sec
|
||||
if (sysno == __NR_set_robust_list)
|
||||
return Error(EPERM);
|
||||
|
||||
@@ -265,6 +270,12 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
@@ -257,6 +262,12 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
|
||||
return RestrictKillTarget(current_pid, sysno);
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if defined(__NR_statx)
|
||||
+ if (sysno == __NR_statx) {
|
||||
|
15
sync.profile
Normal file
15
sync.profile
Normal file
@ -0,0 +1,15 @@
|
||||
%modules = ( # path to module name map
|
||||
"QtWebEngine" => "$basedir/src/webengine",
|
||||
"QtWebEngineWidgets" => "$basedir/src/webenginewidgets",
|
||||
"QtWebEngineCore" => "$basedir/src/core",
|
||||
"QtPdf" => "$basedir/src/pdf",
|
||||
"QtPdfWidgets" => "$basedir/src/pdfwidgets",
|
||||
);
|
||||
%moduleheaders = ( # restrict the module headers to those found in relative path
|
||||
"QtWebEngine" => "api",
|
||||
"QtWebEngineWidgets" => "api",
|
||||
"QtWebEngineCore" => "api",
|
||||
"QtPdf" => "api"
|
||||
);
|
||||
%classnames = (
|
||||
);
|
Loading…
Reference in New Issue
Block a user