summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine/chromium
diff options
context:
space:
mode:
authorMikko Gronoff <mikko.gronoff@qt.io>2020-01-15 10:19:24 +0200
committerMikko Gronoff <mikko.gronoff@qt.io>2020-01-15 10:20:17 +0200
commitf29e5bf1d15372a21e3e79a23afbc2be9fbaa004 (patch)
treeb2256fc1ebc713c8d51897eb46116b35d28551e9 /recipes-qt/qt5/qtwebengine/chromium
parent07393133a7c0c27c71a24da5ec09834281fd0f13 (diff)
parentf6ebff397a53e9c2a23f67d1fc74b5fed11df4f9 (diff)
downloadmeta-qt5-f29e5bf1d15372a21e3e79a23afbc2be9fbaa004.tar.gz
Merge remote-tracking branch 'qt/5.14' into 5.15
* qt/5.14: f6ebff39 Merge remote-tracking branch 'qt/upstream/master' into 5.14 1b8e5570 qtbase: Use pcre packages by default fd7ac089 qt5: use PACKAGECONFIG to disable tests and examples 1a7c8fa4 qtlocation: use geoclue 2 ddbf8dd0 qtbase: use offscreen platform plugin for tools 4f701ea1 qtbase: add openssl PACKAGECONFIG for native nativesdk 56b2c13d qtbase-native: disable vulkan support 6b34fd17 maliit-framework-qt5: fix test installations aa50163c qtenginio: remove obsolete module 32edd746 ogl-runtime: update to v2.5.0 release f7dcc706 qtquick3d: add recipe b814111e qtwebengine: refresh the patches and upload them to meta-qt5 forks on github for maintenance 1fde17e1 qtbase: refresh the patches and upload them to meta-qt5 forks on github for maintenance ca649e3f qt5: Update to Qt 5.14.0 ede15adc qtbase: Fix patch fuzz detected with devtool e8221c2c qtbase: Backport the patch from upstream gerrit ca2f53f9 qt5-creator: Update musl patch to link qmldesigner with -lexecinfo 6e7cc682 qtwebengine: Move CharAllocator definition to header 33a86256 qt5-creator: Add missing dep on libz.so 3d47a569 qt5-creator: Make clang-format patch work with multiple clang versions d8f0db7f qtwebengine: Include cstddef for size_t definition b6bd407e qmllive: Fix build with multilib settings 69e1fd33 quazip: Fix multilib builds a4db065b qtwebkit: Fix linking errors on clang/mips/ppc f756a065 ogl-runtime: Only compile for supported architectures 710d995b qttools: Add option to disable qdoc a02e01ca qttools: Use CONFIG+=disable_external_rpath 0d88f448 packagegroup-qt5-toolchain-target: Make machine specific 2a2055fa recipes: Disable clang dependent recipes for riscv64/32 Conflicts: recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch Change-Id: Ie1c25965f512eccade0a7518b3a2d23c6dc6b3c1
Diffstat (limited to 'recipes-qt/qt5/qtwebengine/chromium')
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch6
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch)12
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch48
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch554
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch)6
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-include-fcntl.h-for-loff_t.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-include-fcntl.h-for-loff_t.patch)4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-use-off64_t-instead-of-the-internal-__.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-use-off64_t-instead-of-the-internal-__.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-linux-glibc-make-the-distinction.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-linux-glibc-make-the-distinction.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch)4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-correct-member-name-__si_fields-fr.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Use-correct-member-name-__si_fields-fr.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch)4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Do-not-define-__sbrk-on-musl.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Adjust-default-pthread-stack-size.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch)4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-pread-pwrite.patch)4
23 files changed, 641 insertions, 41 deletions
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch
index 1bcea021..ff2cf2ed 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch
@@ -1,4 +1,4 @@
1From 97bbc1219c360f3a27aa9b8bf21dd4b755c979b6 Mon Sep 17 00:00:00 2001 1From 8dc7d83d58f6f036d021ed27dd05322b654e21bf Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io> 2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Thu, 30 Mar 2017 11:37:24 +0300 3Date: Thu, 30 Mar 2017 11:37:24 +0300
4Subject: [PATCH] chromium: workaround for too long .rps file name 4Subject: [PATCH] chromium: workaround for too long .rps file name
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch
index ed7f78f6..e2e86212 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch
@@ -1,4 +1,4 @@
1From 90881e8b608658e766bcf96fc62d97b39e005f01 Mon Sep 17 00:00:00 2001 1From dcc7962a9e9eb8fc10728df0b72e91794d1ee9d9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 23 Dec 2018 16:58:04 -0800 3Date: Sun, 23 Dec 2018 16:58:04 -0800
4Subject: [PATCH] chromium: stack pointer clobber 4Subject: [PATCH] chromium: stack pointer clobber
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17 1 file changed, 3 insertions(+), 3 deletions(-) 17 1 file changed, 3 insertions(+), 3 deletions(-)
18 18
19diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h 19diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
20index 9276f56..622cc1f 100644 20index 9276f5627af..622cc1fbf7e 100644
21--- a/chromium/third_party/lss/linux_syscall_support.h 21--- a/chromium/third_party/lss/linux_syscall_support.h
22+++ b/chromium/third_party/lss/linux_syscall_support.h 22+++ b/chromium/third_party/lss/linux_syscall_support.h
23@@ -2012,7 +2012,7 @@ struct kernel_statfs { 23@@ -2012,7 +2012,7 @@ struct kernel_statfs {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch
index 278a9b0c..55f61d03 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch
@@ -1,4 +1,4 @@
1From 156dd87c5579c355a8668c6b78c3853f2d288846 Mon Sep 17 00:00:00 2001 1From e44d59aff5c23049ed765d872b167c27f9d2be23 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 2 Feb 2019 19:28:59 -0800 3Date: Sat, 2 Feb 2019 19:28:59 -0800
4Subject: [PATCH] chromium: fix build with clang 4Subject: [PATCH] chromium: fix build with clang
@@ -10,7 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 1 file changed, 2 insertions(+), 25 deletions(-) 10 1 file changed, 2 insertions(+), 25 deletions(-)
11 11
12diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn 12diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
13index 17f486447fe..06c93e5b3cf 100644 13index be485fd89b9..7179df05451 100644
14--- a/chromium/build/config/compiler/BUILD.gn 14--- a/chromium/build/config/compiler/BUILD.gn
15+++ b/chromium/build/config/compiler/BUILD.gn 15+++ b/chromium/build/config/compiler/BUILD.gn
16@@ -773,8 +773,6 @@ config("compiler_cpu_abi") { 16@@ -773,8 +773,6 @@ config("compiler_cpu_abi") {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch
index bb628fd2..e5c1dcbd 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch
@@ -1,4 +1,4 @@
1From ed03bdbaaa07414a310414e9fa7624acf6241b19 Mon Sep 17 00:00:00 2001 1From fc3765e4f2f8cff17a13736085a402425696e6e7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 5 Feb 2019 14:32:20 -0800 3Date: Tue, 5 Feb 2019 14:32:20 -0800
4Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm 4Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 1 file changed, 4 insertions(+), 1 deletion(-) 15 1 file changed, 4 insertions(+), 1 deletion(-)
16 16
17diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn 17diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn
18index 29dda54..6870dbb 100644 18index 29dda54ac20..6870dbb9f08 100644
19--- a/chromium/third_party/zlib/BUILD.gn 19--- a/chromium/third_party/zlib/BUILD.gn
20+++ b/chromium/third_party/zlib/BUILD.gn 20+++ b/chromium/third_party/zlib/BUILD.gn
21@@ -78,8 +78,11 @@ if (use_arm_neon_optimizations) { 21@@ -78,8 +78,11 @@ if (use_arm_neon_optimizations) {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch
index 12128d3c..c9df775d 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch
@@ -1,4 +1,4 @@
1From 85a1cd44983263b59942d83bd7626ed4700b29fe Mon Sep 17 00:00:00 2001 1From 998a4037e9c057c9735d8b0df57c2eca5b452d0b Mon Sep 17 00:00:00 2001
2From: Johannes Pointner <johannes.pointner@br-automation.com> 2From: Johannes Pointner <johannes.pointner@br-automation.com>
3Date: Fri, 3 May 2019 09:12:38 +0200 3Date: Fri, 3 May 2019 09:12:38 +0200
4Subject: [PATCH] chromium: Do not try to set the guessed values for 4Subject: [PATCH] chromium: Do not try to set the guessed values for
@@ -17,7 +17,7 @@ Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com>
17 1 file changed, 9 deletions(-) 17 1 file changed, 9 deletions(-)
18 18
19diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn 19diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
20index 06c93e5b3cf..8ba0f8a3109 100644 20index 7179df05451..884c9714bbb 100644
21--- a/chromium/build/config/compiler/BUILD.gn 21--- a/chromium/build/config/compiler/BUILD.gn
22+++ b/chromium/build/config/compiler/BUILD.gn 22+++ b/chromium/build/config/compiler/BUILD.gn
23@@ -774,15 +774,6 @@ config("compiler_cpu_abi") { 23@@ -774,15 +774,6 @@ config("compiler_cpu_abi") {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch
index 4dafd779..6a659ae9 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch
@@ -1,4 +1,4 @@
1From 89338139ee40ab93065a915dcde9af79ba52b381 Mon Sep 17 00:00:00 2001 1From 2ce7742c9dfde9ccbf2ede0db6359beb18c49189 Mon Sep 17 00:00:00 2001
2From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 2From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
3Date: Thu, 8 Mar 2018 15:39:55 +0100 3Date: Thu, 8 Mar 2018 15:39:55 +0100
4Subject: [PATCH] chromium: aarch64 skia build fix 4Subject: [PATCH] chromium: aarch64 skia build fix
@@ -24,11 +24,11 @@ moment.
24 24
25Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 25Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
26--- 26---
27 .../third_party/skia/src/opts/SkRasterPipeline_opts.h | 17 ++--------------- 27 .../skia/src/opts/SkRasterPipeline_opts.h | 17 ++---------------
28 1 file changed, 2 insertions(+), 15 deletions(-) 28 1 file changed, 2 insertions(+), 15 deletions(-)
29 29
30diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h 30diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
31index b59506d..b8f22c9 100644 31index b59506dcd6d..b8f22c948c0 100644
32--- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h 32--- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
33+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h 33+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
34@@ -972,13 +972,7 @@ SI F approx_powf(F x, F y) { 34@@ -972,13 +972,7 @@ SI F approx_powf(F x, F y) {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch
index 6d9f73e4..aeb496bd 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch
@@ -1,4 +1,4 @@
1From 5408581e2ac5225ba2c6d6b0d88636751930577d Mon Sep 17 00:00:00 2001 1From a0bd9300aa9c405216f504d602c7dd8d5b35eb21 Mon Sep 17 00:00:00 2001
2From: Jiri Slaby <jslaby@suse.cz> 2From: Jiri Slaby <jslaby@suse.cz>
3Date: Thu, 11 Jul 2019 09:35:13 +0200 3Date: Thu, 11 Jul 2019 09:35:13 +0200
4Subject: [PATCH] chromium: fix build after y2038 changes in glibc 4Subject: [PATCH] chromium: fix build after y2038 changes in glibc
@@ -15,7 +15,7 @@ Upstream-Status: Pending
15 1 file changed, 1 insertion(+) 15 1 file changed, 1 insertion(+)
16 16
17diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc 17diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
18index c38d7fdfac9..575e0001ca1 100644 18index c1d6d26acc6..6de81b751dd 100644
19--- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc 19--- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
20+++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc 20+++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
21@@ -71,6 +71,7 @@ typedef void* SockOptArg; 21@@ -71,6 +71,7 @@ typedef void* SockOptArg;
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch
index ac16068c..0bd4a451 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -1,7 +1,7 @@
1From 6ae9112ffea9a5b7d41a06c3d33e55e4f32d8b5a Mon Sep 17 00:00:00 2001 1From b0d3cfec7837dcf818c08454a16eb44d78337a9f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 30 Nov 2019 10:07:43 -0800 3Date: Sat, 30 Nov 2019 10:07:43 -0800
4Subject: [PATCH] Fix build on 32bit arches with 64bit time_t 4Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t
5 5
6time element is deprecated on new input_event structure in kernel's 6time element is deprecated on new input_event structure in kernel's
7input.h [1] 7input.h [1]
@@ -9,6 +9,7 @@ input.h [1]
9[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f 9[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
10 10
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12--- 13---
13 chromium/ui/events/ozone/evdev/event_converter_evdev.cc | 4 ++-- 14 chromium/ui/events/ozone/evdev/event_converter_evdev.cc | 4 ++--
14 chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 6 +++--- 15 chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 6 +++---
@@ -16,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
16 3 files changed, 10 insertions(+), 5 deletions(-) 17 3 files changed, 10 insertions(+), 5 deletions(-)
17 18
18diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc 19diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc
19index 684514ff011..e2f2ae0b633 100644 20index 5684f4121be..10f6357e6b5 100644
20--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc 21--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc
21+++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc 22+++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc
22@@ -168,8 +168,8 @@ void EventConverterEvdev::SetPalmSuppressionCallback( 23@@ -176,8 +176,8 @@ void EventConverterEvdev::SetPalmSuppressionCallback(
23 base::TimeTicks EventConverterEvdev::TimeTicksFromInputEvent( 24 base::TimeTicks EventConverterEvdev::TimeTicksFromInputEvent(
24 const input_event& event) { 25 const input_event& event) {
25 base::TimeTicks timestamp = 26 base::TimeTicks timestamp =
@@ -65,6 +66,3 @@ index ccd3a499a38..5a2da89d09a 100644
65 namespace ui { 66 namespace ui {
66 67
67 class EventDeviceInfo; 68 class EventDeviceInfo;
68--
692.24.0
70
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch
new file mode 100644
index 00000000..1f4a7c14
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch
@@ -0,0 +1,48 @@
1From ef41260060293cf53c279b675c470341fd635a4e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 25 Dec 2019 15:41:16 -0800
4Subject: [PATCH] chromium: Include cstddef for size_t definition
5
6Include ctsdint for uintXX_t
7
8Fixes
9In file included from ../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.cc:10:
10../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type
11 34 | size_t stability_counter_;
12 | ^~~~~~
13
14Upstream-Status: Pending
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16
17ccc
18
19Signed-off-by: Khem Raj <raj.khem@gmail.com>
20---
21 .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h | 1 +
22 .../third_party/webrtc/modules/video_coding/decoding_state.h | 1 +
23 2 files changed, 2 insertions(+)
24
25diff --git a/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
26index 22528c94892..69e624e8b19 100644
27--- a/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
28+++ b/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
29@@ -12,6 +12,7 @@
30 #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
31
32 #include <array>
33+#include <cstddef>
34
35 namespace webrtc {
36
37diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
38index b87fb2d0345..b3faffcfc79 100644
39--- a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
40+++ b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
41@@ -14,6 +14,7 @@
42 #include <map>
43 #include <set>
44 #include <vector>
45+#include <cstdint>
46
47 namespace webrtc {
48
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch
new file mode 100644
index 00000000..352e553b
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch
@@ -0,0 +1,554 @@
1From d47414a793f9c1bf1eb01fd3a723b2bc871037de Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 2 Jan 2020 17:13:55 -0800
4Subject: [PATCH] chromium: Move CharAllocator definition to a header file
5
6Fixes
7error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator'
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 chromium/cc/base/list_container_helper.cc | 251 ---------------------
12 chromium/cc/base/list_container_helper.h | 255 ++++++++++++++++++++++
13 2 files changed, 255 insertions(+), 251 deletions(-)
14
15diff --git a/chromium/cc/base/list_container_helper.cc b/chromium/cc/base/list_container_helper.cc
16index 3a4c0b6a2f9..89df57a7b8e 100644
17--- a/chromium/cc/base/list_container_helper.cc
18+++ b/chromium/cc/base/list_container_helper.cc
19@@ -12,259 +12,8 @@
20 #include "base/logging.h"
21 #include "base/memory/aligned_memory.h"
22
23-namespace {
24-const size_t kDefaultNumElementTypesToReserve = 32;
25-} // namespace
26-
27 namespace cc {
28
29-// CharAllocator
30-////////////////////////////////////////////////////
31-// This class deals only with char* and void*. It does allocation and passing
32-// out raw pointers, as well as memory deallocation when being destroyed.
33-class ListContainerHelper::CharAllocator {
34- public:
35- // CharAllocator::InnerList
36- /////////////////////////////////////////////
37- // This class holds the raw memory chunk, as well as information about its
38- // size and availability.
39- struct InnerList {
40- InnerList(const InnerList&) = delete;
41- InnerList& operator=(const InnerList&) = delete;
42-
43- std::unique_ptr<char[], base::AlignedFreeDeleter> data;
44- // The number of elements in total the memory can hold. The difference
45- // between capacity and size is the how many more elements this list can
46- // hold.
47- size_t capacity;
48- // The number of elements have been put into this list.
49- size_t size;
50- // The size of each element is in bytes. This is used to move from between
51- // elements' memory locations.
52- size_t step;
53-
54- InnerList() : capacity(0), size(0), step(0) {}
55-
56- void Erase(char* position) {
57- // Confident that destructor is called by caller of this function. Since
58- // CharAllocator does not handle construction after
59- // allocation, it doesn't handle desctrution before deallocation.
60- DCHECK_LE(position, LastElement());
61- DCHECK_GE(position, Begin());
62- char* start = position + step;
63- std::copy(start, End(), position);
64-
65- --size;
66- // Decrease capacity to avoid creating not full not last InnerList.
67- --capacity;
68- }
69-
70- void InsertBefore(size_t alignment, char** position, size_t count) {
71- DCHECK_LE(*position, LastElement() + step);
72- DCHECK_GE(*position, Begin());
73-
74- // Adjust the size and capacity
75- size_t old_size = size;
76- size += count;
77- capacity = size;
78-
79- // Allocate the new data and update the iterator's pointer.
80- std::unique_ptr<char[], base::AlignedFreeDeleter> new_data(
81- static_cast<char*>(base::AlignedAlloc(size * step, alignment)));
82- size_t position_offset = *position - Begin();
83- *position = new_data.get() + position_offset;
84-
85- // Copy the data before the inserted segment
86- memcpy(new_data.get(), data.get(), position_offset);
87- // Copy the data after the inserted segment.
88- memcpy(new_data.get() + position_offset + count * step,
89- data.get() + position_offset, old_size * step - position_offset);
90- data = std::move(new_data);
91- }
92-
93- bool IsEmpty() const { return !size; }
94- bool IsFull() { return capacity == size; }
95- size_t NumElementsAvailable() const { return capacity - size; }
96-
97- void* AddElement() {
98- DCHECK_LT(size, capacity);
99- ++size;
100- return LastElement();
101- }
102-
103- void RemoveLast() {
104- DCHECK(!IsEmpty());
105- --size;
106- }
107-
108- char* Begin() const { return data.get(); }
109- char* End() const { return data.get() + size * step; }
110- char* LastElement() const { return data.get() + (size - 1) * step; }
111- char* ElementAt(size_t index) const { return data.get() + index * step; }
112- };
113-
114- CharAllocator(size_t alignment, size_t element_size, size_t element_count)
115- // base::AlignedAlloc does not accept alignment less than sizeof(void*).
116- : alignment_(std::max(sizeof(void*), alignment)),
117- element_size_(element_size),
118- size_(0),
119- last_list_index_(0),
120- last_list_(nullptr) {
121- // If this fails, then alignment of elements after the first could be wrong,
122- // and we need to pad sizes to fix that.
123- DCHECK_EQ(element_size % alignment, 0u);
124- AllocateNewList(element_count > 0 ? element_count
125- : kDefaultNumElementTypesToReserve);
126- last_list_ = storage_[last_list_index_].get();
127- }
128-
129- CharAllocator(const CharAllocator&) = delete;
130- ~CharAllocator() = default;
131-
132- CharAllocator& operator=(const CharAllocator&) = delete;
133-
134- void* Allocate() {
135- if (last_list_->IsFull()) {
136- // Only allocate a new list if there isn't a spare one still there from
137- // previous usage.
138- if (last_list_index_ + 1 >= storage_.size())
139- AllocateNewList(last_list_->capacity * 2);
140-
141- ++last_list_index_;
142- last_list_ = storage_[last_list_index_].get();
143- }
144-
145- ++size_;
146- return last_list_->AddElement();
147- }
148-
149- size_t alignment() const { return alignment_; }
150- size_t element_size() const { return element_size_; }
151- size_t list_count() const { return storage_.size(); }
152- size_t size() const { return size_; }
153- bool IsEmpty() const { return size() == 0; }
154-
155- size_t Capacity() const {
156- size_t capacity_sum = 0;
157- for (const auto& inner_list : storage_)
158- capacity_sum += inner_list->capacity;
159- return capacity_sum;
160- }
161-
162- void Clear() {
163- // Remove all except for the first InnerList.
164- DCHECK(!storage_.empty());
165- storage_.erase(storage_.begin() + 1, storage_.end());
166- last_list_index_ = 0;
167- last_list_ = storage_[0].get();
168- last_list_->size = 0;
169- size_ = 0;
170- }
171-
172- void RemoveLast() {
173- DCHECK(!IsEmpty());
174- last_list_->RemoveLast();
175- if (last_list_->IsEmpty() && last_list_index_ > 0) {
176- --last_list_index_;
177- last_list_ = storage_[last_list_index_].get();
178-
179- // If there are now two empty inner lists, free one of them.
180- if (last_list_index_ + 2 < storage_.size())
181- storage_.pop_back();
182- }
183- --size_;
184- }
185-
186- void Erase(PositionInCharAllocator* position) {
187- DCHECK_EQ(this, position->ptr_to_container);
188-
189- // Update |position| to point to the element after the erased element.
190- InnerList* list = storage_[position->vector_index].get();
191- char* item_iterator = position->item_iterator;
192- if (item_iterator == list->LastElement())
193- position->Increment();
194-
195- list->Erase(item_iterator);
196- // TODO(weiliangc): Free the InnerList if it is empty.
197- --size_;
198- }
199-
200- void InsertBefore(ListContainerHelper::Iterator* position, size_t count) {
201- if (!count)
202- return;
203-
204- // If |position| is End(), then append |count| elements at the end. This
205- // will happen to not invalidate any iterators or memory.
206- if (!position->item_iterator) {
207- // Set |position| to be the first inserted element.
208- Allocate();
209- position->vector_index = storage_.size() - 1;
210- position->item_iterator = storage_[position->vector_index]->LastElement();
211- // Allocate the rest.
212- for (size_t i = 1; i < count; ++i)
213- Allocate();
214- } else {
215- storage_[position->vector_index]->InsertBefore(
216- alignment_, &position->item_iterator, count);
217- size_ += count;
218- }
219- }
220-
221- InnerList* InnerListById(size_t id) const {
222- DCHECK_LT(id, storage_.size());
223- return storage_[id].get();
224- }
225-
226- size_t FirstInnerListId() const {
227- // |size_| > 0 means that at least one vector in |storage_| will be
228- // non-empty.
229- DCHECK_GT(size_, 0u);
230- size_t id = 0;
231- while (storage_[id]->size == 0)
232- ++id;
233- return id;
234- }
235-
236- size_t LastInnerListId() const {
237- // |size_| > 0 means that at least one vector in |storage_| will be
238- // non-empty.
239- DCHECK_GT(size_, 0u);
240- size_t id = storage_.size() - 1;
241- while (storage_[id]->size == 0)
242- --id;
243- return id;
244- }
245-
246- size_t NumAvailableElementsInLastList() const {
247- return last_list_->NumElementsAvailable();
248- }
249-
250- private:
251- void AllocateNewList(size_t list_size) {
252- std::unique_ptr<InnerList> new_list(new InnerList);
253- new_list->capacity = list_size;
254- new_list->size = 0;
255- new_list->step = element_size_;
256- new_list->data.reset(static_cast<char*>(
257- base::AlignedAlloc(list_size * element_size_, alignment_)));
258- storage_.push_back(std::move(new_list));
259- }
260-
261- std::vector<std::unique_ptr<InnerList>> storage_;
262- const size_t alignment_;
263- const size_t element_size_;
264-
265- // The number of elements in the list.
266- size_t size_;
267-
268- // The index of the last list to have had elements added to it, or the only
269- // list if the container has not had elements added since being cleared.
270- size_t last_list_index_;
271-
272- // This is equivalent to |storage_[last_list_index_]|.
273- InnerList* last_list_;
274-};
275-
276 // PositionInCharAllocator
277 //////////////////////////////////////////////////////
278 ListContainerHelper::PositionInCharAllocator::PositionInCharAllocator(
279diff --git a/chromium/cc/base/list_container_helper.h b/chromium/cc/base/list_container_helper.h
280index 31658bc8486..9e65013cbdb 100644
281--- a/chromium/cc/base/list_container_helper.h
282+++ b/chromium/cc/base/list_container_helper.h
283@@ -8,9 +8,17 @@
284 #include <stddef.h>
285
286 #include <memory>
287+#include <algorithm>
288+#include <vector>
289
290+#include "base/logging.h"
291+#include "base/memory/aligned_memory.h"
292 #include "cc/base/base_export.h"
293
294+namespace {
295+const size_t kDefaultNumElementTypesToReserve = 32;
296+} // namespace
297+
298 namespace cc {
299
300 // Helper class for ListContainer non-templated logic. All methods are private,
301@@ -174,6 +182,253 @@ class CC_BASE_EXPORT ListContainerHelper final {
302 std::unique_ptr<CharAllocator> data_;
303 };
304
305+// CharAllocator
306+////////////////////////////////////////////////////
307+// This class deals only with char* and void*. It does allocation and passing
308+// out raw pointers, as well as memory deallocation when being destroyed.
309+class ListContainerHelper::CharAllocator {
310+ public:
311+ // CharAllocator::InnerList
312+ /////////////////////////////////////////////
313+ // This class holds the raw memory chunk, as well as information about its
314+ // size and availability.
315+ struct InnerList {
316+ InnerList(const InnerList&) = delete;
317+ InnerList& operator=(const InnerList&) = delete;
318+
319+ std::unique_ptr<char[], base::AlignedFreeDeleter> data;
320+ // The number of elements in total the memory can hold. The difference
321+ // between capacity and size is the how many more elements this list can
322+ // hold.
323+ size_t capacity;
324+ // The number of elements have been put into this list.
325+ size_t size;
326+ // The size of each element is in bytes. This is used to move from between
327+ // elements' memory locations.
328+ size_t step;
329+
330+ InnerList() : capacity(0), size(0), step(0) {}
331+
332+ void Erase(char* position) {
333+ // Confident that destructor is called by caller of this function. Since
334+ // CharAllocator does not handle construction after
335+ // allocation, it doesn't handle desctrution before deallocation.
336+ DCHECK_LE(position, LastElement());
337+ DCHECK_GE(position, Begin());
338+ char* start = position + step;
339+ std::copy(start, End(), position);
340+
341+ --size;
342+ // Decrease capacity to avoid creating not full not last InnerList.
343+ --capacity;
344+ }
345+
346+ void InsertBefore(size_t alignment, char** position, size_t count) {
347+ DCHECK_LE(*position, LastElement() + step);
348+ DCHECK_GE(*position, Begin());
349+
350+ // Adjust the size and capacity
351+ size_t old_size = size;
352+ size += count;
353+ capacity = size;
354+
355+ // Allocate the new data and update the iterator's pointer.
356+ std::unique_ptr<char[], base::AlignedFreeDeleter> new_data(
357+ static_cast<char*>(base::AlignedAlloc(size * step, alignment)));
358+ size_t position_offset = *position - Begin();
359+ *position = new_data.get() + position_offset;
360+
361+ // Copy the data before the inserted segment
362+ memcpy(new_data.get(), data.get(), position_offset);
363+ // Copy the data after the inserted segment.
364+ memcpy(new_data.get() + position_offset + count * step,
365+ data.get() + position_offset, old_size * step - position_offset);
366+ data = std::move(new_data);
367+ }
368+
369+ bool IsEmpty() const { return !size; }
370+ bool IsFull() { return capacity == size; }
371+ size_t NumElementsAvailable() const { return capacity - size; }
372+
373+ void* AddElement() {
374+ DCHECK_LT(size, capacity);
375+ ++size;
376+ return LastElement();
377+ }
378+
379+ void RemoveLast() {
380+ DCHECK(!IsEmpty());
381+ --size;
382+ }
383+
384+ char* Begin() const { return data.get(); }
385+ char* End() const { return data.get() + size * step; }
386+ char* LastElement() const { return data.get() + (size - 1) * step; }
387+ char* ElementAt(size_t index) const { return data.get() + index * step; }
388+ };
389+
390+ CharAllocator(size_t alignment, size_t element_size, size_t element_count)
391+ // base::AlignedAlloc does not accept alignment less than sizeof(void*).
392+ : alignment_(std::max(sizeof(void*), alignment)),
393+ element_size_(element_size),
394+ size_(0),
395+ last_list_index_(0),
396+ last_list_(nullptr) {
397+ // If this fails, then alignment of elements after the first could be wrong,
398+ // and we need to pad sizes to fix that.
399+ DCHECK_EQ(element_size % alignment, 0u);
400+ AllocateNewList(element_count > 0 ? element_count
401+ : kDefaultNumElementTypesToReserve);
402+ last_list_ = storage_[last_list_index_].get();
403+ }
404+
405+ CharAllocator(const CharAllocator&) = delete;
406+ ~CharAllocator() = default;
407+
408+ CharAllocator& operator=(const CharAllocator&) = delete;
409+
410+ void* Allocate() {
411+ if (last_list_->IsFull()) {
412+ // Only allocate a new list if there isn't a spare one still there from
413+ // previous usage.
414+ if (last_list_index_ + 1 >= storage_.size())
415+ AllocateNewList(last_list_->capacity * 2);
416+
417+ ++last_list_index_;
418+ last_list_ = storage_[last_list_index_].get();
419+ }
420+
421+ ++size_;
422+ return last_list_->AddElement();
423+ }
424+
425+ size_t alignment() const { return alignment_; }
426+ size_t element_size() const { return element_size_; }
427+ size_t list_count() const { return storage_.size(); }
428+ size_t size() const { return size_; }
429+ bool IsEmpty() const { return size() == 0; }
430+
431+ size_t Capacity() const {
432+ size_t capacity_sum = 0;
433+ for (const auto& inner_list : storage_)
434+ capacity_sum += inner_list->capacity;
435+ return capacity_sum;
436+ }
437+
438+ void Clear() {
439+ // Remove all except for the first InnerList.
440+ DCHECK(!storage_.empty());
441+ storage_.erase(storage_.begin() + 1, storage_.end());
442+ last_list_index_ = 0;
443+ last_list_ = storage_[0].get();
444+ last_list_->size = 0;
445+ size_ = 0;
446+ }
447+
448+ void RemoveLast() {
449+ DCHECK(!IsEmpty());
450+ last_list_->RemoveLast();
451+ if (last_list_->IsEmpty() && last_list_index_ > 0) {
452+ --last_list_index_;
453+ last_list_ = storage_[last_list_index_].get();
454+
455+ // If there are now two empty inner lists, free one of them.
456+ if (last_list_index_ + 2 < storage_.size())
457+ storage_.pop_back();
458+ }
459+ --size_;
460+ }
461+
462+ void Erase(PositionInCharAllocator* position) {
463+ DCHECK_EQ(this, position->ptr_to_container);
464+
465+ // Update |position| to point to the element after the erased element.
466+ InnerList* list = storage_[position->vector_index].get();
467+ char* item_iterator = position->item_iterator;
468+ if (item_iterator == list->LastElement())
469+ position->Increment();
470+
471+ list->Erase(item_iterator);
472+ // TODO(weiliangc): Free the InnerList if it is empty.
473+ --size_;
474+ }
475+
476+ void InsertBefore(ListContainerHelper::Iterator* position, size_t count) {
477+ if (!count)
478+ return;
479+
480+ // If |position| is End(), then append |count| elements at the end. This
481+ // will happen to not invalidate any iterators or memory.
482+ if (!position->item_iterator) {
483+ // Set |position| to be the first inserted element.
484+ Allocate();
485+ position->vector_index = storage_.size() - 1;
486+ position->item_iterator = storage_[position->vector_index]->LastElement();
487+ // Allocate the rest.
488+ for (size_t i = 1; i < count; ++i)
489+ Allocate();
490+ } else {
491+ storage_[position->vector_index]->InsertBefore(
492+ alignment_, &position->item_iterator, count);
493+ size_ += count;
494+ }
495+ }
496+
497+ InnerList* InnerListById(size_t id) const {
498+ DCHECK_LT(id, storage_.size());
499+ return storage_[id].get();
500+ }
501+
502+ size_t FirstInnerListId() const {
503+ // |size_| > 0 means that at least one vector in |storage_| will be
504+ // non-empty.
505+ DCHECK_GT(size_, 0u);
506+ size_t id = 0;
507+ while (storage_[id]->size == 0)
508+ ++id;
509+ return id;
510+ }
511+
512+ size_t LastInnerListId() const {
513+ // |size_| > 0 means that at least one vector in |storage_| will be
514+ // non-empty.
515+ DCHECK_GT(size_, 0u);
516+ size_t id = storage_.size() - 1;
517+ while (storage_[id]->size == 0)
518+ --id;
519+ return id;
520+ }
521+
522+ size_t NumAvailableElementsInLastList() const {
523+ return last_list_->NumElementsAvailable();
524+ }
525+
526+ private:
527+ void AllocateNewList(size_t list_size) {
528+ std::unique_ptr<InnerList> new_list(new InnerList);
529+ new_list->capacity = list_size;
530+ new_list->size = 0;
531+ new_list->step = element_size_;
532+ new_list->data.reset(static_cast<char*>(
533+ base::AlignedAlloc(list_size * element_size_, alignment_)));
534+ storage_.push_back(std::move(new_list));
535+ }
536+
537+ std::vector<std::unique_ptr<InnerList>> storage_;
538+ const size_t alignment_;
539+ const size_t element_size_;
540+
541+ // The number of elements in the list.
542+ size_t size_;
543+
544+ // The index of the last list to have had elements added to it, or the only
545+ // list if the container has not had elements added since being cleared.
546+ size_t last_list_index_;
547+
548+ // This is equivalent to |storage_[last_list_index_]|.
549+ InnerList* last_list_;
550+};
551+
552 } // namespace cc
553
554 #endif // CC_BASE_LIST_CONTAINER_HELPER_H_
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
index e03df6f4..3e595591 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
@@ -1,4 +1,4 @@
1From be5e6f573faedf13d6f327bd168a3d90e840a3ae Mon Sep 17 00:00:00 2001 1From d38a63908f5c49705abd85bd9c2aee0ec334221d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:01:12 -0700 3Date: Fri, 7 Jul 2017 14:01:12 -0700
4Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not 4Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
index 6df3ce0e..2fdb0d82 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
@@ -1,4 +1,4 @@
1From 51795812310685d2a392e3592b238a6fb92b75d3 Mon Sep 17 00:00:00 2001 1From 4b16ad982ff10945a37a7dd90735a5a1be3d6a8b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:09:06 -0700 3Date: Fri, 7 Jul 2017 14:09:06 -0700
4Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux 4Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux
@@ -10,10 +10,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 2 files changed, 4 insertions(+), 2 deletions(-) 10 2 files changed, 4 insertions(+), 2 deletions(-)
11 11
12diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc 12diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc
13index a09bbf2c56e..b309f6b694e 100644 13index 5763432aa4f..ff00b7307c0 100644
14--- a/chromium/base/process/process_metrics_posix.cc 14--- a/chromium/base/process/process_metrics_posix.cc
15+++ b/chromium/base/process/process_metrics_posix.cc 15+++ b/chromium/base/process/process_metrics_posix.cc
16@@ -100,14 +100,14 @@ size_t ProcessMetrics::GetMallocUsage() { 16@@ -109,14 +109,14 @@ size_t ProcessMetrics::GetMallocUsage() {
17 malloc_statistics_t stats = {0}; 17 malloc_statistics_t stats = {0};
18 malloc_zone_statistics(nullptr, &stats); 18 malloc_zone_statistics(nullptr, &stats);
19 return stats.size_in_use; 19 return stats.size_in_use;
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-include-fcntl.h-for-loff_t.patch
index a4cffc76..05576b02 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-include-fcntl.h-for-loff_t.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-include-fcntl.h-for-loff_t.patch
@@ -1,4 +1,4 @@
1From 67c66a3af0a0268f1ab9a9af47d002cd75b57ca1 Mon Sep 17 00:00:00 2001 1From e087d26af9bdd2f045f8a81fdd2688c50b77e938 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:37:49 -0700 3Date: Fri, 7 Jul 2017 14:37:49 -0700
4Subject: [PATCH] chromium: musl: include fcntl.h for loff_t 4Subject: [PATCH] chromium: musl: include fcntl.h for loff_t
@@ -9,7 +9,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
9 1 file changed, 1 insertion(+) 9 1 file changed, 1 insertion(+)
10 10
11diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 11diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
12index 13aa415e250..9d1309b836f 100644 12index ca5936d6e63..5484dbadfbd 100644
13--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 13--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
14+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 14+++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
15@@ -154,6 +154,7 @@ extern "C" { 15@@ -154,6 +154,7 @@ extern "C" {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
index c09d7ad0..ad7a085f 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
@@ -1,4 +1,4 @@
1From 612a1903c096dc497ecf2324a97fdab000dc1ae3 Mon Sep 17 00:00:00 2001 1From 5cde4d2fb5affc6e739dba412453b4bf076f19e9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:38:37 -0700 3Date: Fri, 7 Jul 2017 14:38:37 -0700
4Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t 4Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-linux-glibc-make-the-distinction.patch
index e2c738ae..2fdc4944 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-linux-glibc-make-the-distinction.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-linux-glibc-make-the-distinction.patch
@@ -1,4 +1,4 @@
1From 4ba6b9ae21289cbaa04b531082e1089c06c845bc Mon Sep 17 00:00:00 2001 1From 04a11fa6f38987091b6b65244950d3d83579c9a8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 14:54:38 -0700 3Date: Fri, 7 Jul 2017 14:54:38 -0700
4Subject: [PATCH] chromium: musl: linux != glibc, make the distinction 4Subject: [PATCH] chromium: musl: linux != glibc, make the distinction
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
index ec54908b..81d555f9 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
@@ -1,4 +1,4 @@
1From 02c6554c372709fd8573d66e4f128ffe0d74f237 Mon Sep 17 00:00:00 2001 1From 59ab7f11b90bd2114ff8cc16d6502e0ad6bb6538 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:09:02 -0700 3Date: Fri, 7 Jul 2017 15:09:02 -0700
4Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols 4Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols
@@ -10,7 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
10 1 file changed, 1 insertion(+), 1 deletion(-) 10 1 file changed, 1 insertion(+), 1 deletion(-)
11 11
12diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc 12diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc
13index 1233ae2a8aa..6f1b3e87224 100644 13index e6838ebda84..7296cc9ed81 100644
14--- a/chromium/base/allocator/allocator_shim.cc 14--- a/chromium/base/allocator/allocator_shim.cc
15+++ b/chromium/base/allocator/allocator_shim.cc 15+++ b/chromium/base/allocator/allocator_shim.cc
16@@ -351,7 +351,7 @@ ALWAYS_INLINE void ShimAlignedFree(void* address, void* context) { 16@@ -351,7 +351,7 @@ ALWAYS_INLINE void ShimAlignedFree(void* address, void* context) {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
index c9080a07..b611781b 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
@@ -1,4 +1,4 @@
1From 1099551ba6ee52734d14c29232837720a7454669 Mon Sep 17 00:00:00 2001 1From b8735496287b7c2a15224f7d837dc74a09434bdb Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:12:39 -0700 3Date: Fri, 7 Jul 2017 15:12:39 -0700
4Subject: [PATCH] chromium: musl: Use correct member name __si_fields from 4Subject: [PATCH] chromium: musl: Use correct member name __si_fields from
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
index 459f13ba..4b531624 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
@@ -1,4 +1,4 @@
1From 106c8aa7bc2dab7f7b04014d85d93082fae20632 Mon Sep 17 00:00:00 2001 1From 09c0c63a65770465ef2ec0a3b028e22a9a0164f6 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:27:50 -0700 3Date: Fri, 7 Jul 2017 15:27:50 -0700
4Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc 4Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 create mode 100644 chromium/net/dns/resolv_compat.h 13 create mode 100644 chromium/net/dns/resolv_compat.h
14 14
15diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc 15diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc
16index 31c564faeee..222ff65b6e1 100644 16index ee2d5721425..bcb83b07f6e 100644
17--- a/chromium/net/dns/dns_config_service_posix.cc 17--- a/chromium/net/dns/dns_config_service_posix.cc
18+++ b/chromium/net/dns/dns_config_service_posix.cc 18+++ b/chromium/net/dns/dns_config_service_posix.cc
19@@ -29,6 +29,10 @@ 19@@ -29,6 +29,10 @@
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch
index dbab1ab2..b20456b0 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Do-not-define-__sbrk-on-musl.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch
@@ -1,4 +1,4 @@
1From b5e59b5ca71ecab2f5515162fad92524230736ec Mon Sep 17 00:00:00 2001 1From 57ebdf59c45c70ab13b724a2293fdd78241a8a37 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 15:39:57 -0700 3Date: Fri, 7 Jul 2017 15:39:57 -0700
4Subject: [PATCH] chromium: musl: Do not define __sbrk on musl 4Subject: [PATCH] chromium: musl: Do not define __sbrk on musl
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
index 790bf140..62b9531b 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Adjust-default-pthread-stack-size.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -1,4 +1,4 @@
1From 3628242064040d8ac5c20a85dc04ba8166cc4065 Mon Sep 17 00:00:00 2001 1From 50d5b6fa29696c873830af7632b51cb4836c2210 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 7 Jul 2017 16:41:23 -0700 3Date: Fri, 7 Jul 2017 16:41:23 -0700
4Subject: [PATCH] chromium: musl: Adjust default pthread stack size 4Subject: [PATCH] chromium: musl: Adjust default pthread stack size
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
index 58c869fa..7ed278b0 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
@@ -1,4 +1,4 @@
1From c98e81a6c88d056a6e093f6fbcc985bd2d7b1ed4 Mon Sep 17 00:00:00 2001 1From 1f839bf6ac48d81a8acbf3def4f57a555a05fa18 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Sep 2018 12:35:07 -0700 3Date: Tue, 25 Sep 2018 12:35:07 -0700
4Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on 4Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
index bb0d13a7..34761950 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
@@ -1,4 +1,4 @@
1From 350739f3986367253e476093eaaa653b7320c54d Mon Sep 17 00:00:00 2001 1From 8f16cec0583c9de1ceb2c34a3bea527096f34075 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 25 Sep 2018 12:59:05 -0700 3Date: Tue, 25 Sep 2018 12:59:05 -0700
4Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get 4Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get
@@ -13,7 +13,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
13 3 files changed, 4 insertions(+), 2 deletions(-) 13 3 files changed, 4 insertions(+), 2 deletions(-)
14 14
15diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac 15diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac
16index 9cca5aa069c..04139a728cc 100644 16index 492d09038f9..a6403ed8c3c 100644
17--- a/chromium/third_party/breakpad/breakpad/configure.ac 17--- a/chromium/third_party/breakpad/breakpad/configure.ac
18+++ b/chromium/third_party/breakpad/breakpad/configure.ac 18+++ b/chromium/third_party/breakpad/breakpad/configure.ac
19@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, 19@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch
index a12e28c4..631ae8a0 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-pread-pwrite.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-pread-pwrite.patch
@@ -1,4 +1,4 @@
1From debbdd4f419ef2d48c3e1fb0128dc4ac6c9f687b Mon Sep 17 00:00:00 2001 1From 725941687b118b90904fbc7e6b25a288b9d3c52b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 23 Dec 2018 16:58:04 -0800 3Date: Sun, 23 Dec 2018 16:58:04 -0800
4Subject: [PATCH] chromium: musl: pread pwrite 4Subject: [PATCH] chromium: musl: pread pwrite
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 5 insertions(+) 14 1 file changed, 5 insertions(+)
15 15
16diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h 16diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
17index e19e51dd304..5c661949d1e 100644 17index 622cc1fbf7e..cd561b80c05 100644
18--- a/chromium/third_party/lss/linux_syscall_support.h 18--- a/chromium/third_party/lss/linux_syscall_support.h
19+++ b/chromium/third_party/lss/linux_syscall_support.h 19+++ b/chromium/third_party/lss/linux_syscall_support.h
20@@ -1239,6 +1239,11 @@ struct kernel_statfs { 20@@ -1239,6 +1239,11 @@ struct kernel_statfs {