Changes of Revision 18

chromium-ffmpeg-extra.changes Changed
x
 
1
@@ -1,4 +1,11 @@
2
 -------------------------------------------------------------------
3
+Sun Sep 19 19:41:03 UTC 2021 - Carsten Ziepke <kieltux@gmail.com>
4
+
5
+- Update to 93.0.4577.82
6
+  Branch of https://build.opensuse.org/project/show/network:chromium
7
+- Drop conditional build for libffmpeg, we want it here definitely
8
+
9
+-------------------------------------------------------------------
10
 Tue Oct 16 05:18:00 UTC 2018 - avvissu@yandex.by
11
 
12
 - Add chromium-old-glibc.patch
13
chromium-ffmpeg-extra.spec Changed
201
 
1
@@ -1,7 +1,7 @@
2
 #
3
 # spec file for package chromium-ffmpeg-extra
4
 #
5
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
6
+# Copyright (c) 2021 SUSE LLC
7
 #
8
 # All modifications and additions to the file contributed by third parties
9
 # remain the property of their copyright owners, unless otherwise agreed
10
@@ -12,47 +12,248 @@
11
 # license that conforms to the Open Source Definition (Version 1.9)
12
 # published by the Open Source Initiative.
13
 
14
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
15
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
16
 #
17
 
18
 
19
+%define rname chromium
20
+# bsc#1108175
21
+%define __provides_exclude ^lib.*\\.so.*$
22
+%if 0%{?suse_version} > 1500
23
+%bcond_without system_icu
24
+%bcond_with system_vpx
25
+%else
26
+%bcond_with system_icu
27
+%bcond_with system_vpx
28
+%endif
29
+%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200
30
+%bcond_without system_harfbuzz
31
+%bcond_without pipewire
32
+%else
33
+%bcond_with system_harfbuzz
34
+%bcond_with pipewire
35
+%endif
36
+%ifarch %{arm} aarch64
37
+%bcond_with swiftshader
38
+%else
39
+%bcond_without swiftshader
40
+%endif
41
+%bcond_with lto
42
+%bcond_without clang
43
 Name:           chromium-ffmpeg-extra
44
-Version:        69.0.3497.100
45
+Version:        93.0.4577.82
46
 Release:        0
47
 Summary:        Extra ffmpeg codecs for browsers based on Chromium
48
-License: GPL-2.0
49
-Group:          Productivity/Networking/Web/Browsers
50
-URL:            http://code.google.com/p/chromium/
51
-Source0:        http://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz
52
-Source1:        BUILD.gn
53
-Patch0:         fix_building_widevinecdm_with_chromium.patch
54
-Patch1:         chromium-dma-buf.patch
55
-Patch2:         chromium-non-void-return.patch
56
-Patch3:         chromium-system-icu.patch
57
-Patch4:         chromium-skia-system-fontconfig.patch
58
-Patch5:         chromium-old-glibc.patch
59
-BuildRequires:  ninja
60
+License:        BSD-3-Clause AND LGPL-2.1-or-later
61
+URL:            https://www.chromium.org/
62
+Source0:        https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz
63
+Source1:        README.SUSE
64
+Source2:        https://github.com/google/highway/archive/refs/tags/0.12.2.tar.gz#/highway-0.12.2.tar.gz
65
+# Toolchain definitions
66
+Source30:       master_preferences
67
+Source104:      chromium-symbolic.svg
68
+# https://github.com/chromium/chromium/tree/%{version}/chrome/installer/linux/common/installer.include
69
+Source105:      INSTALL.sh
70
+#
71
+Patch0:         chromium-libusb_interrupt_event_handler.patch
72
+# PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059]
73
+Patch1:         exclude_ymp.patch
74
+# PATCH-FIX-OPENSUSE enables reading of the master preference
75
+Patch2:         chromium-master-prefs-path.patch
76
+# PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin
77
+Patch3:         fix_building_widevinecdm_with_chromium.patch
78
+Patch4:         chromium-buildname.patch
79
+Patch5:         chromium-system-libusb.patch
80
+Patch6:         gcc-enable-lto.patch
81
+# Do not use unrar code, it is non-free
82
+Patch7:         chromium-norar.patch
83
+# revert location on old GCC on 15.1, 15.2 gets it right tho
84
+Patch8:         no-location-leap151.patch
85
+Patch9:         system-libdrm.patch
86
+Patch10:        chromium-disable-parallel-gold.patch
87
+Patch11:        chromium-lp151-old-drm.patch
88
+# gentoo/fedora/arch patchset
89
+Patch12:        chromium-78-protobuf-RepeatedPtrField-export.patch
90
+Patch13:        chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
91
+Patch15:        chromium-91-compiler.patch
92
+Patch17:        chromium-86-ImageMemoryBarrierData-init.patch
93
+Patch18:        chromium-86-nearby-explicit.patch
94
+Patch19:        chromium-86-nearby-include.patch
95
+Patch20:        chromium-86-f_seal.patch
96
+Patch21:        chromium-gcc11.patch
97
+Patch23:        chromium-glibc-2.33.patch
98
+Patch25:        chromium-90-fseal.patch
99
+Patch29:        chromium-93-EnumTable-crash.patch
100
+Patch30:        chromium-shim_headers.patch
101
+Patch31:        chromium-89-missing-cstring-header.patch
102
+Patch36:        chromium-90-ruy-include.patch
103
+Patch40:        chromium-91-java-only-allowed-in-android-builds.patch
104
+Patch44:        chromium-91-libyuv-aarch64.patch
105
+Patch46:        chromium-91-sql-standard-layout-type.patch
106
+Patch49:        chromium-freetype-2.11.patch
107
+Patch50:        chromium-clang-nomerge.patch
108
+Patch51:        chromium-glibc-2.34.patch
109
+Patch53:        chromium-93-ContextSet-permissive.patch
110
+Patch54:        chromium-93-ClassProperty-include.patch
111
+Patch55:        chromium-93-BluetoothLowEnergyScanFilter-include.patch
112
+Patch56:        chromium-93-HashPasswordManager-include.patch
113
+Patch57:        chromium-93-pdfium-include.patch
114
+Patch58:        chromium-93-DevToolsEmbedderMessageDispatcher-include.patch
115
+Patch59:        chromium-93-FormForest-constexpr.patch
116
+Patch60:        chromium-93-ScopedTestDialogAutoConfirm-include.patch
117
+Patch61:        chromium-93-InkDropHost-crash.patch
118
+Patch62:        chromium-93-ffmpeg-4.4.patch
119
+# Google seem not too keen on merging this but GPU accel is quite important
120
+#  https://chromium-review.googlesource.com/c/chromium/src/+/532294
121
+#  https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches
122
+#  Recreated from scratch to be smaller and use system the orginal switches
123
+#  (default on) compared to the PR
124
+Patch100:       chromium-vaapi.patch
125
+Patch101:       chromium-86-fix-vaapi-on-intel.patch
126
+# PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding
127
+Patch102:       chromium-prop-codecs.patch
128
+BuildRequires:  SDL-devel
129
+BuildRequires:  bison
130
+BuildRequires:  cups-devel
131
+BuildRequires:  desktop-file-utils
132
+BuildRequires:  elfutils
133
+BuildRequires:  fdupes
134
+BuildRequires:  flex
135
+BuildRequires:  gn >= 0.1807
136
+BuildRequires:  gperf
137
+BuildRequires:  hicolor-icon-theme
138
+# Java used during build
139
+BuildRequires:  java-openjdk-headless
140
+BuildRequires:  libcap-devel
141
+BuildRequires:  libdc1394
142
+BuildRequires:  libgcrypt-devel
143
+BuildRequires:  libgsm-devel
144
+BuildRequires:  libjpeg-devel >= 8.1
145
+BuildRequires:  libpng-devel
146
+BuildRequires:  memory-constraints
147
+BuildRequires:  nasm
148
+BuildRequires:  ncurses-devel
149
+BuildRequires:  ninja >= 1.7.2
150
+BuildRequires:  nodejs >= 8.0
151
+BuildRequires:  pam-devel
152
 BuildRequires:  pkgconfig
153
-BuildRequires:  python-xml
154
+BuildRequires:  python
155
+BuildRequires:  python3
156
+BuildRequires:  python3-setuptools
157
+BuildRequires:  snappy-devel
158
+BuildRequires:  update-desktop-files
159
+BuildRequires:  util-linux
160
+BuildRequires:  wdiff
161
+BuildRequires:  perl(Switch)
162
+BuildRequires:  pkgconfig(alsa)
163
+BuildRequires:  pkgconfig(bzip2)
164
+BuildRequires:  pkgconfig(cairo) >= 1.6
165
+BuildRequires:  pkgconfig(dbus-1)
166
+BuildRequires:  pkgconfig(dirac) >= 1.0.0
167
 BuildRequires:  pkgconfig(dri)
168
+BuildRequires:  pkgconfig(expat)
169
+BuildRequires:  pkgconfig(flac++)
170
+BuildRequires:  pkgconfig(freetype2)
171
+BuildRequires:  pkgconfig(gbm)
172
+BuildRequires:  pkgconfig(glib-2.0)
173
 BuildRequires:  pkgconfig(gtk+-2.0)
174
 BuildRequires:  pkgconfig(gtk+-3.0)
175
+BuildRequires:  pkgconfig(hunspell)
176
+BuildRequires:  pkgconfig(imlib2)
177
+BuildRequires:  pkgconfig(jack)
178
+BuildRequires:  pkgconfig(kadm-client)
179
+BuildRequires:  pkgconfig(kdb)
180
+BuildRequires:  pkgconfig(krb5)
181
+BuildRequires:  pkgconfig(libavcodec)
182
+BuildRequires:  pkgconfig(libavfilter)
183
+BuildRequires:  pkgconfig(libavformat) >= 58
184
+BuildRequires:  pkgconfig(libavutil)
185
+BuildRequires:  pkgconfig(libcrypto)
186
+BuildRequires:  pkgconfig(libcurl)
187
+BuildRequires:  pkgconfig(libdc1394-2)
188
+BuildRequires:  pkgconfig(libdrm)
189
+BuildRequires:  pkgconfig(libelf)
190
+BuildRequires:  pkgconfig(libevent)
191
 BuildRequires:  pkgconfig(libexif)
192
 BuildRequires:  pkgconfig(libffi)
193
 BuildRequires:  pkgconfig(libpci)
194
 BuildRequires:  pkgconfig(libpulse)
195
-BuildRequires:  pkgconfig(nss)
196
-BuildRequires:  pkgconfig(python)
197
-BuildRequires:  pkgconfig(uuid)
198
+BuildRequires:  pkgconfig(libssl)
199
+BuildRequires:  pkgconfig(libudev)
200
+BuildRequires:  pkgconfig(libusb-1.0)
201
chromium-78-protobuf-RepeatedPtrField-export.patch Added
15
 
1
@@ -0,0 +1,13 @@
2
+diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h
3
+index b5b193c..4434854 100644
4
+--- a/third_party/protobuf/src/google/protobuf/repeated_field.h
5
++++ b/third_party/protobuf/src/google/protobuf/repeated_field.h
6
+@@ -804,7 +804,7 @@ class StringTypeHandler {
7
+ // RepeatedPtrField is like RepeatedField, but used for repeated strings or
8
+ // Messages.
9
+ template <typename Element>
10
+-class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
11
++class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
12
+  public:
13
+   RepeatedPtrField();
14
+   explicit RepeatedPtrField(Arena* arena);
15
chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch Added
32
 
1
@@ -0,0 +1,30 @@
2
+From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
3
+From: vasilvv <vasilvv@google.com>
4
+Date: Wed, 03 Apr 2019 13:58:53 -0700
5
+Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
6
+
7
+QuicStreamSendBuffer constructor is implicitely required in the
8
+initialization of the vector of substreams in QuicCryptoStream.
9
+Though clang apparently ignores that, GCC fails to build.
10
+
11
+BUG=chromium:819294
12
+
13
+Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
14
+
15
+PiperOrigin-RevId: 241800134
16
+Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
17
+---
18
+
19
+diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
20
+index e34514b..74e9d0d 100644
21
+--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
22
++++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
23
+@@ -62,7 +62,7 @@
24
+  public:
25
+   explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
26
+   QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
27
+-  QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
28
++  QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
29
+   ~QuicStreamSendBuffer();
30
+ 
31
+   // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
32
chromium-86-ImageMemoryBarrierData-init.patch Added
33
 
1
@@ -0,0 +1,31 @@
2
+From 2879a6ba43b65c33e3c02432b4ae7a7462d24096 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Fri, 28 Aug 2020 07:23:29 +0000
5
+Subject: [PATCH] GCC: fix ImageMemoryBarrierData initialization
6
+
7
+GCC can't convert constant string to char[40]. Use const char * instead.
8
+Otherwise fails like this:
9
+
10
+src/libANGLE/renderer/vulkan/vk_helpers.cpp:121:1: error: could not convert
11
+'...' from '<brace-enclosed initializer list>' to
12
+'const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>'
13
+---
14
+ third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp | 2 +-
15
+ 1 file changed, 1 insertion(+), 1 deletion(-)
16
+
17
+diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
18
+index af957d7..7fe82ae 100644
19
+--- a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
20
++++ b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp
21
+@@ -73,7 +73,7 @@ enum BarrierType
22
+ 
23
+ struct ImageMemoryBarrierData
24
+ {
25
+-    char name[44];
26
++    const char *name;
27
+ 
28
+     // The Vk layout corresponding to the ImageLayout key.
29
+     VkImageLayout layout;
30
+-- 
31
+2.26.2
32
+
33
chromium-86-f_seal.patch Added
25
 
1
@@ -0,0 +1,23 @@
2
+Index: chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc
3
+===================================================================
4
+--- chromium-86.0.4240.75.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc
5
++++ chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc
6
+@@ -6,6 +6,18 @@
7
+ 
8
+ #include <errno.h>
9
+ #include <fcntl.h>
10
++#ifndef F_SEAL_SEAL
11
++# define F_SEAL_SEAL    0x0001
12
++#endif
13
++#ifndef F_SEAL_SHRINK
14
++# define F_SEAL_SHRINK        0x0002
15
++#endif
16
++#ifndef F_SEAL_GROW
17
++# define F_SEAL_GROW  0x0004
18
++#endif
19
++#ifndef F_ADD_SEALS
20
++# define F_ADD_SEALS    1033
21
++#endif
22
+ #include <sys/socket.h>
23
+ #include <sys/types.h>
24
+ #include <unistd.h>
25
chromium-86-fix-vaapi-on-intel.patch Added
38
 
1
@@ -0,0 +1,36 @@
2
+diff -up chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
3
+--- chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix    2020-10-07 12:38:47.000000000 -0400
4
++++ chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc    2020-10-14 16:20:46.938556042 -0400
5
+@@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecPro
6
+   return VA_RT_FORMAT_YUV420;
7
+ }
8
+ 
9
++#if defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH)
10
+ // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
11
+ // Lake) Cpu platform id's are referenced from the following file in kernel
12
+ // source arch/x86/include/asm/intel-family.h
13
+@@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() {
14
+       cpuid.model() >= kGeminiLakeModelId;
15
+   return is_geminilake_or_later;
16
+ }
17
++#endif
18
+ 
19
+ }  // namespace
20
+ 
21
+@@ -1214,6 +1216,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
22
+   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
23
+     return BufferAllocationMode::kNormal;
24
+ 
25
++#if defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH)
26
++  // Move this to chromeOs only as it is causing problem in some intel linux drivers
27
+   // On Gemini Lake, Kaby Lake and later we can pass to libva the client's
28
+   // PictureBuffers to decode onto, which skips the use of the Vpp unit and its
29
+   // associated format reconciliation copy, avoiding all internal buffer
30
+@@ -1229,6 +1233,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
31
+       num_extra_pics_ = 3;
32
+     return BufferAllocationMode::kNone;
33
+   }
34
++#endif
35
+ 
36
+   // For H.264 on older devices, another +1 is experimentally needed for
37
+   // high-to-high resolution changes.
38
chromium-86-nearby-explicit.patch Added
27
 
1
@@ -0,0 +1,25 @@
2
+From 849e5c6b3a8746d9205102bd3df4e140cead405a Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sat, 18 Jul 2020 15:11:13 +0000
5
+Subject: [PATCH] GCC: remove explicit from AtomicReference constructor
6
+
7
+---
8
+ .../nearby/src/cpp/platform/public/atomic_reference.h        | 2 +-
9
+ 1 file changed, 1 insertion(+), 1 deletion(-)
10
+
11
+diff --git a/third_party/nearby/src/cpp/platform/public/atomic_reference.h b/third_party/nearby/src/cpp/platform/public/atomic_reference.h
12
+index 5742724..bbb8c01 100644
13
+--- a/third_party/nearby/src/cpp/platform/public/atomic_reference.h
14
++++ b/third_party/nearby/src/cpp/platform/public/atomic_reference.h
15
+@@ -37,7 +37,7 @@ class AtomicReference<T, std::enable_if_t<sizeof(T) <= sizeof(std::uint32_t) &&
16
+     final {
17
+  public:
18
+   using Platform = api::ImplementationPlatform;
19
+-  explicit AtomicReference(T value)
20
++  AtomicReference(T value)
21
+       : impl_(Platform::CreateAtomicUint32(static_cast<std::uint32_t>(value))) {
22
+   }
23
+   ~AtomicReference() = default;
24
+-- 
25
+2.26.2
26
+
27
chromium-86-nearby-include.patch Added
26
 
1
@@ -0,0 +1,24 @@
2
+From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sat, 18 Jul 2020 14:15:50 +0000
5
+Subject: [PATCH] IWYU: memcpy is defined in cstring
6
+
7
+---
8
+ third_party/nearby/src/cpp/platform/base/byte_array.h | 1 +
9
+ 1 file changed, 1 insertion(+)
10
+
11
+diff --git a/third_party/nearby/src/cpp/platform/base/byte_array.h b/third_party/nearby/src/cpp/platform/base/byte_array.h
12
+index ee5d0eb..4b1d79b 100644
13
+--- a/third_party/nearby/src/cpp/platform/base/byte_array.h
14
++++ b/third_party/nearby/src/cpp/platform/base/byte_array.h
15
+@@ -18,6 +18,7 @@
16
+ #include <algorithm>
17
+ #include <array>
18
+ #include <cstdint>
19
++#include <cstring>
20
+ #include <string>
21
+ #include <type_traits>
22
+ #include <utility>
23
+-- 
24
+2.26.2
25
+
26
chromium-89-missing-cstring-header.patch Added
36
 
1
@@ -0,0 +1,34 @@
2
+diff -up chromium-89.0.4389.72/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-89.0.4389.72/third_party/webrtc/audio/utility/channel_mixer.cc
3
+--- chromium-89.0.4389.72/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring    2021-03-02 12:48:16.000000000 -0500
4
++++ chromium-89.0.4389.72/third_party/webrtc/audio/utility/channel_mixer.cc    2021-03-04 13:31:42.894817353 -0500
5
+@@ -8,6 +8,8 @@
6
+  *  be found in the AUTHORS file in the root of the source tree.
7
+  */
8
+ 
9
++#include <cstring>
10
++
11
+ #include "audio/utility/channel_mixer.h"
12
+ 
13
+ #include "audio/utility/channel_mixing_matrix.h"
14
+diff -up chromium-89.0.4389.72/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-89.0.4389.72/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
15
+--- chromium-89.0.4389.72/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring   2021-03-04 13:31:42.895817359 -0500
16
++++ chromium-89.0.4389.72/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc   2021-03-04 13:45:27.795162431 -0500
17
+@@ -23,6 +23,7 @@
18
+ #include <sys/mman.h>
19
+ #include <sys/syscall.h>
20
+ 
21
++#include <cstring>
22
+ #include <memory>
23
+ #include <utility>
24
+ 
25
+diff -up chromium-89.0.4389.72/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-89.0.4389.72/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
26
+--- chromium-89.0.4389.72/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring   2021-03-02 12:48:17.000000000 -0500
27
++++ chromium-89.0.4389.72/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc   2021-03-04 13:31:42.895817359 -0500
28
+@@ -10,6 +10,7 @@
29
+ 
30
+ #include "modules/video_coding/utility/ivf_file_reader.h"
31
+ 
32
++#include <cstring>
33
+ #include <string>
34
+ #include <vector>
35
+ 
36
chromium-90-fseal.patch Added
50
 
1
@@ -0,0 +1,48 @@
2
+--- chromium-90.0.4430.85/mojo/core/channel_linux.cc.xx    2021-04-26 10:31:10.188705842 +0200
3
++++ chromium-90.0.4430.85/mojo/core/channel_linux.cc   2021-04-26 11:23:26.997161282 +0200
4
+@@ -5,6 +5,21 @@
5
+ #include "mojo/core/channel_linux.h"
6
+ 
7
+ #include <fcntl.h>
8
++#ifndef F_SEAL_SEAL
9
++# define F_SEAL_SEAL    0x0001
10
++#endif
11
++#ifndef F_SEAL_SHRINK
12
++# define F_SEAL_SHRINK        0x0002
13
++#endif
14
++#ifndef F_SEAL_GROW
15
++# define F_SEAL_GROW  0x0004
16
++#endif
17
++#ifndef F_ADD_SEALS
18
++# define F_ADD_SEALS    1033
19
++#endif
20
++#ifndef F_GET_SEALS
21
++# define F_GET_SEALS    1034
22
++#endif
23
+ #include <linux/futex.h>
24
+ #include <linux/memfd.h>
25
+ #include <sys/eventfd.h>
26
+--- chromium-90.0.4430.85/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.xx  2021-04-26 16:39:18.387482941 +0200
27
++++ chromium-90.0.4430.85/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2021-04-26 16:40:10.866754337 +0200
28
+@@ -6,6 +6,21 @@
29
+ 
30
+ #include <errno.h>
31
+ #include <fcntl.h>
32
++#ifndef F_SEAL_SEAL
33
++# define F_SEAL_SEAL    0x0001
34
++#endif
35
++#ifndef F_SEAL_SHRINK
36
++# define F_SEAL_SHRINK        0x0002
37
++#endif
38
++#ifndef F_SEAL_GROW
39
++# define F_SEAL_GROW  0x0004
40
++#endif
41
++#ifndef F_ADD_SEALS
42
++# define F_ADD_SEALS    1033
43
++#endif
44
++#ifndef F_GET_SEALS
45
++# define F_GET_SEALS    1034
46
++#endif
47
+ #include <linux/net.h>
48
+ #include <sched.h>
49
+ #include <signal.h>
50
chromium-90-ruy-include.patch Added
26
 
1
@@ -0,0 +1,24 @@
2
+From 714092f336bb14d2fcc27396ec323b3d843bb962 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Thu, 4 Mar 2021 15:05:46 +0000
5
+Subject: [PATCH] IWYU: include limits for std::numeric_limits
6
+
7
+---
8
+ third_party/ruy/src/ruy/block_map.cc | 1 +
9
+ 1 file changed, 1 insertion(+)
10
+
11
+diff --git a/third_party/ruy/src/ruy/block_map.cc b/third_party/ruy/src/ruy/block_map.cc
12
+index 44e5039..a7a7559 100644
13
+--- a/third_party/ruy/src/ruy/block_map.cc
14
++++ b/third_party/ruy/src/ruy/block_map.cc
15
+@@ -17,6 +17,7 @@ limitations under the License.
16
+ 
17
+ #include <algorithm>
18
+ #include <cstdint>
19
++#include <limits>
20
+ 
21
+ #ifdef RUY_MAKEBLOCKMAP_DEBUG
22
+ #include <cstdio>
23
+-- 
24
+2.26.2
25
+
26
chromium-91-compiler.patch Added
167
 
1
@@ -0,0 +1,165 @@
2
+From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001
3
+From: Mike Gilbert <floppym@gentoo.org>
4
+Date: Wed, 7 Apr 2021 08:50:04 +0000
5
+Subject: [PATCH] Disable various compiler configs
6
+
7
+---
8
+ build/config/compiler/BUILD.gn | 59 ++++++++++------------------------
9
+ 1 file changed, 17 insertions(+), 42 deletions(-)
10
+
11
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
12
+index 72ea590..539672d 100644
13
+--- a/build/config/compiler/BUILD.gn
14
++++ b/build/config/compiler/BUILD.gn
15
+@@ -273,8 +273,6 @@ config("compiler") {
16
+ 
17
+   configs += [
18
+     # See the definitions below.
19
+-    ":clang_revision",
20
+-    ":compiler_cpu_abi",
21
+     ":compiler_codegen",
22
+     ":compiler_deterministic",
23
+   ]
24
+@@ -518,24 +516,6 @@ config("compiler") {
25
+     ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
26
+   }
27
+ 
28
+-  if (is_clang && !is_nacl && !use_xcode_clang) {
29
+-    cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
30
+-
31
+-    # TODO(hans): Remove this once Clang generates better optimized debug info
32
+-    # by default. https://crbug.com/765793
33
+-    cflags += [
34
+-      "-mllvm",
35
+-      "-instcombine-lower-dbg-declare=0",
36
+-    ]
37
+-    if (!is_debug && use_thin_lto && is_a_target_toolchain) {
38
+-      if (is_win) {
39
+-        ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
40
+-      } else {
41
+-        ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
42
+-      }
43
+-    }
44
+-  }
45
+-
46
+   # C11/C++11 compiler flags setup.
47
+   # ---------------------------
48
+   if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
49
+@@ -1643,7 +1623,7 @@ config("chromium_code") {
50
+       defines = [ "_HAS_NODISCARD" ]
51
+     }
52
+   } else {
53
+-    cflags = [ "-Wall" ]
54
++    cflags = []
55
+     if (treat_warnings_as_errors) {
56
+       cflags += [ "-Werror" ]
57
+ 
58
+@@ -1652,10 +1632,6 @@ config("chromium_code") {
59
+       # well.
60
+       ldflags = [ "-Werror" ]
61
+     }
62
+-    if (is_clang) {
63
+-      # Enable extra warnings for chromium_code when we control the compiler.
64
+-      cflags += [ "-Wextra" ]
65
+-    }
66
+ 
67
+     # In Chromium code, we define __STDC_foo_MACROS in order to get the
68
+     # C99 macros on Mac and Linux.
69
+@@ -1664,15 +1640,6 @@ config("chromium_code") {
70
+       "__STDC_FORMAT_MACROS",
71
+     ]
72
+ 
73
+-    if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
74
+-        current_cpu != "s390" && current_cpu != "ppc64" &&
75
+-        current_cpu != "mips" && current_cpu != "mips64") {
76
+-      # Non-chromium code is not guaranteed to compile cleanly with
77
+-      # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
78
+-      # disabled, so only do that for Release build.
79
+-      defines += [ "_FORTIFY_SOURCE=2" ]
80
+-    }
81
+-
82
+     if (is_mac) {
83
+       cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
84
+       cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
85
+@@ -2068,7 +2035,8 @@ config("default_stack_frames") {
86
+ }
87
+ 
88
+ # Default "optimization on" config.
89
+-config("optimize") {
90
++config("optimize") { }
91
++config("xoptimize") {
92
+   if (is_win) {
93
+     if (chrome_pgo_phase != 2) {
94
+       # Favor size over speed, /O1 must be before the common flags.
95
+@@ -2103,7 +2071,8 @@ config("optimize") {
96
+ }
97
+ 
98
+ # Turn off optimizations.
99
+-config("no_optimize") {
100
++config("no_optimize") { }
101
++config("xno_optimize") {
102
+   if (is_win) {
103
+     cflags = [
104
+       "/Od",  # Disable optimization.
105
+@@ -2143,7 +2112,8 @@ config("no_optimize") {
106
+ # Turns up the optimization level. On Windows, this implies whole program
107
+ # optimization and link-time code generation which is very expensive and should
108
+ # be used sparingly.
109
+-config("optimize_max") {
110
++config("optimize_max") { }
111
++config("xoptimize_max") {
112
+   if (is_nacl && is_nacl_irt) {
113
+     # The NaCl IRT is a special case and always wants its own config.
114
+     # Various components do:
115
+@@ -2175,7 +2145,8 @@ config("optimize_max") {
116
+ #
117
+ # TODO(crbug.com/621335) - rework how all of these configs are related
118
+ # so that we don't need this disclaimer.
119
+-config("optimize_speed") {
120
++config("optimize_speed") { }
121
++config("xoptimize_speed") {
122
+   if (is_nacl && is_nacl_irt) {
123
+     # The NaCl IRT is a special case and always wants its own config.
124
+     # Various components do:
125
+@@ -2200,7 +2171,8 @@ config("optimize_speed") {
126
+   }
127
+ }
128
+ 
129
+-config("optimize_fuzzing") {
130
++config("optimize_fuzzing") { }
131
++config("xoptimize_fuzzing") {
132
+   cflags = [ "-O1" ] + common_optimize_on_cflags
133
+   ldflags = common_optimize_on_ldflags
134
+   visibility = [ ":default_optimization" ]
135
+@@ -2319,7 +2291,8 @@ config("win_pdbaltpath") {
136
+ }
137
+ 
138
+ # Full symbols.
139
+-config("symbols") {
140
++config("symbols") { }
141
++config("xsymbols") {
142
+   if (is_win) {
143
+     if (is_clang) {
144
+       cflags = [ "/Z7" ]  # Debug information in the .obj files.
145
+@@ -2422,7 +2395,8 @@ config("symbols") {
146
+ # Minimal symbols.
147
+ # This config guarantees to hold symbol for stack trace which are shown to user
148
+ # when crash happens in unittests running on buildbot.
149
+-config("minimal_symbols") {
150
++config("minimal_symbols") { }
151
++config("xminimal_symbols") {
152
+   if (is_win) {
153
+     # Functions, files, and line tables only.
154
+     cflags = []
155
+@@ -2481,7 +2455,8 @@ config("minimal_symbols") {
156
+ # This configuration contains function names only. That is, the compiler is
157
+ # told to not generate debug information and the linker then just puts function
158
+ # names in the final debug information.
159
+-config("no_symbols") {
160
++config("no_symbols") { }
161
++config("xno_symbols") {
162
+   if (is_win) {
163
+     ldflags = [ "/DEBUG" ]
164
+ 
165
+-- 
166
+2.26.3
167
chromium-91-java-only-allowed-in-android-builds.patch Added
18
 
1
@@ -0,0 +1,16 @@
2
+References: https://bugs.chromium.org/p/chromium/issues/detail?id=1192875
3
+
4
+Index: chromium-91.0.4472.57/third_party/closure_compiler/compiler.py
5
+===================================================================
6
+--- chromium-91.0.4472.57.orig/third_party/closure_compiler/compiler.py
7
++++ chromium-91.0.4472.57/third_party/closure_compiler/compiler.py
8
+@@ -13,8 +13,7 @@ import subprocess
9
+ 
10
+ 
11
+ _CURRENT_DIR = os.path.join(os.path.dirname(__file__))
12
+-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
13
+-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
14
++_JAVA_PATH = "java"
15
+ 
16
+ class Compiler(object):
17
+   """Runs the Closure compiler on given source files to typecheck them
18
chromium-91-libyuv-aarch64.patch Added
93
 
1
@@ -0,0 +1,91 @@
2
+diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc
3
+index 350c964..2aab413 100644
4
+--- a/third_party/libyuv/source/row_neon64.cc
5
++++ b/third_party/libyuv/source/row_neon64.cc
6
+@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb,
7
+       : "+r"(src_argb),          // %0
8
+         "+r"(dst_ab64),          // %1
9
+         "+r"(width)              // %2
10
+-      : "m"(kShuffleARGBToABGR)  // %3
11
++      : "Q"(kShuffleARGBToABGR)  // %3
12
+       : "cc", "memory", "v0", "v1", "v2", "v3", "v4");
13
+ }
14
+ 
15
+@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64,
16
+       : "+r"(src_ar64),          // %0
17
+         "+r"(dst_argb),          // %1
18
+         "+r"(width)              // %2
19
+-      : "m"(kShuffleAR64ToARGB)  // %3
20
++      : "Q"(kShuffleAR64ToARGB)  // %3
21
+       : "cc", "memory", "v0", "v1", "v2", "v3", "v4");
22
+ }
23
+ 
24
+@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64,
25
+       : "+r"(src_ab64),          // %0
26
+         "+r"(dst_argb),          // %1
27
+         "+r"(width)              // %2
28
+-      : "m"(kShuffleAB64ToARGB)  // %3
29
++      : "Q"(kShuffleAB64ToARGB)  // %3
30
+       : "cc", "memory", "v0", "v1", "v2", "v3", "v4");
31
+ }
32
+ 
33
+diff --git a/third_party/libyuv/source/scale_neon64.cc b/third_party/libyuv/source/scale_neon64.cc
34
+index 8656fec..9f9636e 100644
35
+--- a/third_party/libyuv/source/scale_neon64.cc
36
++++ b/third_party/libyuv/source/scale_neon64.cc
37
+@@ -601,8 +601,8 @@ void ScaleRowUp2_Bilinear_NEON(const uint8_t* src_ptr,
38
+       "umlal       v4.8h, v1.8b, v31.8b          \n"  // 3*near+far (2, odd)
39
+       "umlal       v5.8h, v0.8b, v31.8b          \n"  // 3*near+far (2, even)
40
+ 
41
+-      "mov         v0.8h, v4.8h                  \n"
42
+-      "mov         v1.8h, v5.8h                  \n"
43
++      "mov         v0.16b, v4.16b                \n"
44
++      "mov         v1.16b, v5.16b                \n"
45
+       "mla         v4.8h, v2.8h, v30.8h          \n"  // 9 3 3 1 (1, odd)
46
+       "mla         v5.8h, v3.8h, v30.8h          \n"  // 9 3 3 1 (1, even)
47
+       "mla         v2.8h, v0.8h, v30.8h          \n"  // 9 3 3 1 (2, odd)
48
+@@ -642,7 +642,7 @@ void ScaleRowUp2_Linear_12_NEON(const uint16_t* src_ptr,
49
+       "ld1         {v1.8h}, [%1], #16            \n"  // 12345678 (16b)
50
+       "prfm        pldl1keep, [%0, 448]          \n"  // prefetch 7 lines ahead
51
+ 
52
+-      "mov         v2.8h, v0.8h                  \n"
53
++      "mov         v2.16b, v0.16b                \n"
54
+       "mla         v0.8h, v1.8h, v31.8h          \n"  // 3*near+far (odd)
55
+       "mla         v1.8h, v2.8h, v31.8h          \n"  // 3*near+far (even)
56
+ 
57
+@@ -679,7 +679,7 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr,
58
+       "ld1         {v3.8h}, [%2], #16            \n"  // 12345678 (16b)
59
+       "prfm        pldl1keep, [%0, 448]          \n"  // prefetch 7 lines ahead
60
+ 
61
+-      "mov         v0.8h, v2.8h                  \n"
62
++      "mov         v0.16b, v2.16b                \n"
63
+       "mla         v2.8h, v3.8h, v31.8h          \n"  // 3*near+far (odd)
64
+       "mla         v3.8h, v0.8h, v31.8h          \n"  // 3*near+far (even)
65
+ 
66
+@@ -687,12 +687,12 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr,
67
+       "ld1         {v5.8h}, [%3], #16            \n"  // 12345678 (16b)
68
+       "prfm        pldl1keep, [%1, 448]          \n"  // prefetch 7 lines ahead
69
+ 
70
+-      "mov         v0.8h, v4.8h                  \n"
71
++      "mov         v0.16b, v4.16b                \n"
72
+       "mla         v4.8h, v5.8h, v31.8h          \n"  // 3*near+far (odd)
73
+       "mla         v5.8h, v0.8h, v31.8h          \n"  // 3*near+far (even)
74
+ 
75
+-      "mov         v0.8h, v4.8h                  \n"
76
+-      "mov         v1.8h, v5.8h                  \n"
77
++      "mov         v0.16b, v4.16b                \n"
78
++      "mov         v1.16b, v5.16b                \n"
79
+       "mla         v4.8h, v2.8h, v31.8h          \n"  // 9 3 3 1 (1, odd)
80
+       "mla         v5.8h, v3.8h, v31.8h          \n"  // 9 3 3 1 (1, even)
81
+       "mla         v2.8h, v0.8h, v31.8h          \n"  // 9 3 3 1 (2, odd)
82
+@@ -887,8 +887,8 @@ void ScaleUVRowUp2_Bilinear_NEON(const uint8_t* src_ptr,
83
+       "umlal       v4.8h, v1.8b, v31.8b          \n"  // 3*near+far (2, odd)
84
+       "umlal       v5.8h, v0.8b, v31.8b          \n"  // 3*near+far (2, even)
85
+ 
86
+-      "mov         v0.8h, v4.8h                  \n"
87
+-      "mov         v1.8h, v5.8h                  \n"
88
++      "mov         v0.16b, v4.16b                \n"
89
++      "mov         v1.16b, v5.16b                \n"
90
+       "mla         v4.8h, v2.8h, v30.8h          \n"  // 9 3 3 1 (1, odd)
91
+       "mla         v5.8h, v3.8h, v30.8h          \n"  // 9 3 3 1 (1, even)
92
+       "mla         v2.8h, v0.8h, v30.8h          \n"  // 9 3 3 1 (2, odd)
93
chromium-91-sql-standard-layout-type.patch Added
201
 
1
@@ -0,0 +1,238 @@
2
+From 80368f8ba7a8bab13440463a254888311efe3986 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Tue, 4 May 2021 15:00:19 +0000
5
+Subject: [PATCH] sql: make VirtualCursor standard layout type
6
+
7
+sql::recover::VirtualCursor needs to be a standard layout type, but
8
+has members of type std::unique_ptr. However, std::unique_ptr is not
9
+guaranteed to be standard layout. Compiling with clang combined with
10
+gcc-11 libstdc++ fails because of this. Replace std::unique_ptr with
11
+raw pointers.
12
+
13
+Bug: 1189788
14
+Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c
15
+---
16
+ sql/recover_module/btree.cc  | 21 +++++++++++++++------
17
+ sql/recover_module/btree.h   | 17 +++++++++++++----
18
+ sql/recover_module/cursor.cc | 24 ++++++++++++------------
19
+ sql/recover_module/cursor.h  |  2 +-
20
+ sql/recover_module/pager.cc  |  7 +++----
21
+ sql/recover_module/pager.h   |  5 +++--
22
+ 6 files changed, 47 insertions(+), 29 deletions(-)
23
+
24
+diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
25
+index 9ecaafe8a3..839318abf9 100644
26
+--- a/sql/recover_module/btree.cc
27
++++ b/sql/recover_module/btree.cc
28
+@@ -135,16 +135,25 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value,
29
+               "Move the destructor to the .cc file if it's non-trival");
30
+ #endif  // !DCHECK_IS_ON()
31
+ 
32
+-LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept
33
+-    : page_id_(db_reader->page_id()),
34
+-      db_reader_(db_reader),
35
+-      cell_count_(ComputeCellCount(db_reader)),
36
+-      next_read_index_(0),
37
+-      last_record_size_(0) {
38
++void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) {
39
++  DCHECK(db_reader);
40
+   DCHECK(IsOnValidPage(db_reader));
41
++  page_id_ = db_reader->page_id();
42
++  db_reader_ = db_reader;
43
++  cell_count_ = ComputeCellCount(db_reader);
44
++  next_read_index_ = 0;
45
++  last_record_size_ = 0;
46
+   DCHECK(DatabasePageReader::IsValidPageId(page_id_));
47
+ }
48
+ 
49
++void LeafPageDecoder::Reset() {
50
++  db_reader_ = nullptr;
51
++  page_id_ = 0;
52
++  cell_count_ = 0;
53
++  next_read_index_ = 0;
54
++  last_record_size_ = 0;
55
++}
56
++
57
+ bool LeafPageDecoder::TryAdvance() {
58
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
59
+   DCHECK(CanAdvance());
60
+diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
61
+index d76d076bf6..33114b01fa 100644
62
+--- a/sql/recover_module/btree.h
63
++++ b/sql/recover_module/btree.h
64
+@@ -102,7 +102,7 @@ class LeafPageDecoder {
65
+   //
66
+   // |db_reader| must have been used to read an inner page of a table B-tree.
67
+   // |db_reader| must outlive this instance.
68
+-  explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept;
69
++  explicit LeafPageDecoder() noexcept = default;
70
+   ~LeafPageDecoder() noexcept = default;
71
+ 
72
+   LeafPageDecoder(const LeafPageDecoder&) = delete;
73
+@@ -150,6 +150,15 @@ class LeafPageDecoder {
74
+   // read as long as CanAdvance() returns true.
75
+   bool TryAdvance();
76
+ 
77
++  // Initialize with DatabasePageReader
78
++  void Initialize(DatabasePageReader* db_reader);
79
++
80
++  // Reset internal DatabasePageReader
81
++  void Reset();
82
++
83
++  // True if DatabasePageReader is valid
84
++  bool IsValid() { return (db_reader_ != nullptr); }
85
++
86
+   // True if the given reader may point to an inner page in a table B-tree.
87
+   //
88
+   // The last ReadPage() call on |db_reader| must have succeeded.
89
+@@ -163,14 +172,14 @@ class LeafPageDecoder {
90
+   static int ComputeCellCount(DatabasePageReader* db_reader);
91
+ 
92
+   // The number of the B-tree page this reader is reading.
93
+-  const int64_t page_id_;
94
++  int64_t page_id_;
95
+   // Used to read the tree page.
96
+   //
97
+   // Raw pointer usage is acceptable because this instance's owner is expected
98
+   // to ensure that the DatabasePageReader outlives this.
99
+-  DatabasePageReader* const db_reader_;
100
++  DatabasePageReader* db_reader_;
101
+   // Caches the ComputeCellCount() value for this reader's page.
102
+-  const int cell_count_ = ComputeCellCount(db_reader_);
103
++  int cell_count_;
104
+ 
105
+   // The reader's cursor state.
106
+   //
107
+diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
108
+index 0029ff9295..42548bc4b5 100644
109
+--- a/sql/recover_module/cursor.cc
110
++++ b/sql/recover_module/cursor.cc
111
+@@ -26,7 +26,7 @@ VirtualCursor::~VirtualCursor() {
112
+ int VirtualCursor::First() {
113
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
114
+   inner_decoders_.clear();
115
+-  leaf_decoder_ = nullptr;
116
++  leaf_decoder_.Reset();
117
+ 
118
+   AppendPageDecoder(table_->root_page_id());
119
+   return Next();
120
+@@ -36,18 +36,18 @@ int VirtualCursor::Next() {
121
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
122
+   record_reader_.Reset();
123
+ 
124
+-  while (!inner_decoders_.empty() || leaf_decoder_.get()) {
125
+-    if (leaf_decoder_.get()) {
126
+-      if (!leaf_decoder_->CanAdvance()) {
127
++  while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) {
128
++    if (leaf_decoder_.IsValid()) {
129
++      if (!leaf_decoder_.CanAdvance()) {
130
+         // The leaf has been exhausted. Remove it from the DFS stack.
131
+-        leaf_decoder_ = nullptr;
132
++        leaf_decoder_.Reset();
133
+         continue;
134
+       }
135
+-      if (!leaf_decoder_->TryAdvance())
136
++      if (!leaf_decoder_.TryAdvance())
137
+         continue;
138
+ 
139
+-      if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(),
140
+-                                      leaf_decoder_->last_record_offset())) {
141
++      if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(),
142
++                                      leaf_decoder_.last_record_offset())) {
143
+         continue;
144
+       }
145
+       if (!record_reader_.Initialize())
146
+@@ -99,13 +99,13 @@ int VirtualCursor::ReadColumn(int column_index,
147
+ int64_t VirtualCursor::RowId() {
148
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
149
+   DCHECK(record_reader_.IsInitialized());
150
+-  DCHECK(leaf_decoder_.get());
151
+-  return leaf_decoder_->last_record_rowid();
152
++  DCHECK(leaf_decoder_.IsValid());
153
++  return leaf_decoder_.last_record_rowid();
154
+ }
155
+ 
156
+ void VirtualCursor::AppendPageDecoder(int page_id) {
157
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
158
+-  DCHECK(leaf_decoder_.get() == nullptr)
159
++  DCHECK(!leaf_decoder_.IsValid())
160
+       << __func__
161
+       << " must only be called when the current path has no leaf decoder";
162
+ 
163
+@@ -113,7 +113,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) {
164
+     return;
165
+ 
166
+   if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
167
+-    leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_);
168
++    leaf_decoder_.Initialize(&db_reader_);
169
+     return;
170
+   }
171
+ 
172
+diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
173
+index afcd6900e1..b15c31d425 100644
174
+--- a/sql/recover_module/cursor.h
175
++++ b/sql/recover_module/cursor.h
176
+@@ -129,7 +129,7 @@ class VirtualCursor {
177
+   std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
178
+ 
179
+   // Decodes the leaf page containing records.
180
+-  std::unique_ptr<LeafPageDecoder> leaf_decoder_;
181
++  LeafPageDecoder leaf_decoder_;
182
+ 
183
+   SEQUENCE_CHECKER(sequence_checker_);
184
+ };
185
+diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
186
+index 58e75de270..5fe96204e5 100644
187
+--- a/sql/recover_module/pager.cc
188
++++ b/sql/recover_module/pager.cc
189
+@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(),
190
+               "ints are not appropriate for representing page IDs");
191
+ 
192
+ DatabasePageReader::DatabasePageReader(VirtualTable* table)
193
+-    : page_data_(std::make_unique<uint8_t[]>(table->page_size())),
194
+-      table_(table) {
195
++    : page_data_(), table_(table) {
196
+   DCHECK(table != nullptr);
197
+   DCHECK(IsValidPageSize(table->page_size()));
198
+ }
199
+@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int page_id) {
200
+                     std::numeric_limits<int64_t>::max(),
201
chromium-93-BluetoothLowEnergyScanFilter-include.patch Added
32
 
1
@@ -0,0 +1,30 @@
2
+From 2f5514051210388bfcff605570d33f08cfa7bcaa Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Wed, 21 Jul 2021 08:34:58 +0000
5
+Subject: [PATCH] IWYU: usage of unique_ptr requires including <memory> in bluetooth low energy scan filter.
6
+
7
+Fix build because of missing include:
8
+../../device/bluetooth/bluetooth_low_energy_scan_filter.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
9
+   57 |   static std::unique_ptr<BluetoothLowEnergyScanFilter> Create(
10
+      |               ^~~~~~~~~~
11
+
12
+Bug: 819294
13
+Change-Id: I347953a083f1bcdf744fd86e1a73954c6f86b32e
14
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041155
15
+Reviewed-by: Reilly Grant <reillyg@chromium.org>
16
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
17
+Cr-Commit-Position: refs/heads/master@{#903819}
18
+---
19
+
20
+diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h
21
+index a0436c1..7ae606c 100644
22
+--- a/device/bluetooth/bluetooth_low_energy_scan_filter.h
23
++++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h
24
+@@ -7,6 +7,7 @@
25
+ 
26
+ #include <stddef.h>
27
+ #include <stdint.h>
28
++#include <memory>
29
+ #include <vector>
30
+ 
31
+ #include "base/time/time.h"
32
chromium-93-ClassProperty-include.patch Added
32
 
1
@@ -0,0 +1,30 @@
2
+From 8ae99ee447cf5f0160ea4ae978cdf37f5dcecd1e Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Wed, 21 Jul 2021 08:36:20 +0000
5
+Subject: [PATCH] IWYU: missing memory include for unique_ptr usage in class_property.h
6
+
7
+Fix GCC build breakage because of missing inclide:
8
+./../ui/base/class_property.h:120:58: error: ‘std::unique_ptr’ has not been declared
9
+  120 |   T* SetProperty(const ClassProperty<T*>* property, std::unique_ptr<T> value);
10
+      |                                                          ^~~~~~~~~~
11
+
12
+Bug: 819294
13
+Change-Id: I46b921876702b8d44674689bbb5acdc107db21e5
14
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041030
15
+Reviewed-by: Peter Boström <pbos@chromium.org>
16
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
17
+Cr-Commit-Position: refs/heads/master@{#903820}
18
+---
19
+
20
+diff --git a/ui/base/class_property.h b/ui/base/class_property.h
21
+index f7b2f55..88b4938 100644
22
+--- a/ui/base/class_property.h
23
++++ b/ui/base/class_property.h
24
+@@ -8,6 +8,7 @@
25
+ #include <stdint.h>
26
+ 
27
+ #include <map>
28
++#include <memory>
29
+ #include <set>
30
+ #include <type_traits>
31
+ 
32
chromium-93-ContextSet-permissive.patch Added
49
 
1
@@ -0,0 +1,47 @@
2
+From 7108f83c8ad1bad4072e4f32da3db6d59cf51400 Mon Sep 17 00:00:00 2001
3
+From: Ivan Murashov <ivan.murashov@lge.com>
4
+Date: Tue, 20 Jul 2021 13:16:44 +0300
5
+Subject: [PATCH] GCC: Remove double declaration of ContextSet
6
+
7
+After the CL
8
+https://chromium-review.googlesource.com/c/angle/angle/+/2965780
9
+the build with GCC failed with error:
10
+/third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of
11
+'typedef class std::__1::set<gl::Context*> egl::Display::ContextSet'
12
+changes meaning of 'ContextSet' [-fpermissive]
13
+/third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet'
14
+declared here as 'using ContextSet = class std::__1::set<gl::Context*>'
15
+
16
+To fix the error the double declaration of ContextSet is removed.
17
+
18
+Bug: angleproject:5878, chromium:819294
19
+Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca
20
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804
21
+Reviewed-by: Jamie Madill <jmadill@chromium.org>
22
+Commit-Queue: Jamie Madill <jmadill@chromium.org>
23
+---
24
+
25
+diff --git a/third_party/angle/CONTRIBUTORS b/third_party/angle/CONTRIBUTORS
26
+index 887ddc2..94b1b4d 100644
27
+--- a/third_party/angle/CONTRIBUTORS
28
++++ b/third_party/angle/CONTRIBUTORS
29
+@@ -154,6 +154,7 @@
30
+ 
31
+ LG Electronics, Inc.
32
+  Jani Hautakangas
33
++ Ivan Murashov
34
+ 
35
+ IBM Inc.
36
+  Junliang Yan
37
+diff --git a/third_party/angle/src/libANGLE/Display.h b/third_party/angle/src/libANGLE/Display.h
38
+index f33123b..f0c0910 100644
39
+--- a/third_party/angle/src/libANGLE/Display.h
40
++++ b/third_party/angle/src/libANGLE/Display.h
41
+@@ -322,7 +322,6 @@
42
+ 
43
+     ConfigSet mConfigSet;
44
+ 
45
+-    typedef std::set<gl::Context *> ContextSet;
46
+     ContextSet mContextSet;
47
+ 
48
+     typedef std::set<Image *> ImageSet;
49
chromium-93-DevToolsEmbedderMessageDispatcher-include.patch Added
26
 
1
@@ -0,0 +1,24 @@
2
+From 409859ad9ba763a4267fb3457df7cd8eb0b7387b Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sun, 25 Jul 2021 19:43:45 +0000
5
+Subject: [PATCH] IWYU: add vector for std::vector
6
+
7
+---
8
+ chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 +
9
+ 1 file changed, 1 insertion(+)
10
+
11
+diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
12
+index 12f8500..4007112 100644
13
+--- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
14
++++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h
15
+@@ -8,6 +8,7 @@
16
+ #include <map>
17
+ #include <memory>
18
+ #include <string>
19
++#include <vector>
20
+ 
21
+ #include "base/callback.h"
22
+ #include "ui/gfx/geometry/insets.h"
23
+-- 
24
+2.31.1
25
+
26
chromium-93-EnumTable-crash.patch Added
81
 
1
@@ -0,0 +1,79 @@
2
+diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
3
+index a63ae86..83ada65 100644
4
+--- a/components/cast_channel/enum_table.h
5
++++ b/components/cast_channel/enum_table.h
6
+@@ -8,6 +8,7 @@
7
+ #include <cstdint>
8
+ #include <cstring>
9
+ #include <ostream>
10
++#include <vector>
11
+ 
12
+ #include "base/check_op.h"
13
+ #include "base/macros.h"
14
+@@ -213,7 +214,7 @@ class
15
+ 
16
+   template <typename E>
17
+   friend class EnumTable;
18
+-  DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
19
++  DISALLOW_ASSIGN(GenericEnumTableEntry);
20
+ };
21
+ 
22
+ // Yes, these constructors really needs to be inlined.  Even though they look
23
+@@ -251,8 +252,7 @@ class EnumTable {
24
+     // Constructor for regular entries.
25
+     constexpr Entry(E value, base::StringPiece str)
26
+         : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
27
+-
28
+-    DISALLOW_COPY_AND_ASSIGN(Entry);
29
++    DISALLOW_ASSIGN(Entry);
30
+   };
31
+ 
32
+   static_assert(sizeof(E) <= sizeof(int32_t),
33
+@@ -307,15 +307,14 @@ class EnumTable {
34
+     if (is_sorted_) {
35
+       const std::size_t index = static_cast<std::size_t>(value);
36
+       if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
37
+-        const auto& entry = data_.begin()[index];
38
++        const auto& entry = data_[index];
39
+         if (ANALYZER_ASSUME_TRUE(entry.has_str()))
40
+           return entry.str();
41
+       }
42
+       return absl::nullopt;
43
+     }
44
+     return GenericEnumTableEntry::FindByValue(
45
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
46
+-        data_.size(), static_cast<int32_t>(value));
47
++        &data_[0], data_.size(), static_cast<int32_t>(value));
48
+   }
49
+ 
50
+   // This overload of GetString is designed for cases where the argument is a
51
+@@ -343,8 +342,7 @@ class EnumTable {
52
+   // enum value directly.
53
+   absl::optional<E> GetEnum(base::StringPiece str) const {
54
+     auto* entry = GenericEnumTableEntry::FindByString(
55
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
56
+-        data_.size(), str);
57
++        &data_[0], data_.size(), str);
58
+     return entry ? static_cast<E>(entry->value) : absl::optional<E>();
59
+   }
60
+ 
61
+@@ -359,7 +357,7 @@ class EnumTable {
62
+   // Align the data on a cache line boundary.
63
+   alignas(64)
64
+ #endif
65
+-      std::initializer_list<Entry> data_;
66
++      const std::vector<Entry> data_;
67
+   bool is_sorted_;
68
+ 
69
+   constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
70
+@@ -371,8 +369,8 @@ class EnumTable {
71
+ 
72
+     for (std::size_t i = 0; i < data.size(); i++) {
73
+       for (std::size_t j = i + 1; j < data.size(); j++) {
74
+-        const Entry& ei = data.begin()[i];
75
+-        const Entry& ej = data.begin()[j];
76
++        const Entry& ei = data[i];
77
++        const Entry& ej = data[j];
78
+         DCHECK(ei.value != ej.value)
79
+             << "Found duplicate enum values at indices " << i << " and " << j;
80
+         DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
81
chromium-93-FormForest-constexpr.patch Added
51
 
1
@@ -0,0 +1,49 @@
2
+From 802150d7be94e5317b257df545d55ce5b007ae65 Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Tue, 20 Jul 2021 18:50:11 +0000
5
+Subject: [PATCH] libstdc++: do not use unique_ptr bool() operator in a constexpr in form_forest.h
6
+
7
+Fix build breakage in GCC, because of calling non constexpr functions from a
8
+constexpr function. In this case, libstdc++ unique_ptr bool() operator is not
9
+constexpr, so it cannot be used inside CompareByFrameToken.
10
+
11
+An example of build breakage caused by this:
12
+    ../../components/autofill/content/browser/form_forest.h:157:21: error: call to non-‘constexpr’ function ‘std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = autofill::internal::FormForest::FrameData; _Dp = std::default_delete<autofill::internal::FormForest::FrameData>]’
13
+      157 |         return f && g ? f->frame_token < g->frame_token : f.get() < g.get();
14
+          |                     ^
15
+
16
+Bug: 957519
17
+Change-Id: I3c49559084fe58886a03520729873b7c4ac89bbf
18
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041050
19
+Commit-Queue: Dominic Battré <battre@chromium.org>
20
+Reviewed-by: Dominic Battré <battre@chromium.org>
21
+Cr-Commit-Position: refs/heads/master@{#903595}
22
+---
23
+
24
+diff --git a/components/autofill/content/browser/form_forest.h b/components/autofill/content/browser/form_forest.h
25
+index c89a8eb..f414ab8 100644
26
+--- a/components/autofill/content/browser/form_forest.h
27
++++ b/components/autofill/content/browser/form_forest.h
28
+@@ -152,16 +152,16 @@
29
+     // used by FrameData sets.
30
+     struct CompareByFrameToken {
31
+       using is_transparent = void;
32
+-      constexpr bool operator()(const std::unique_ptr<FrameData>& f,
33
+-                                const std::unique_ptr<FrameData>& g) const {
34
++      bool operator()(const std::unique_ptr<FrameData>& f,
35
++                      const std::unique_ptr<FrameData>& g) const {
36
+         return f && g ? f->frame_token < g->frame_token : f.get() < g.get();
37
+       }
38
+-      constexpr bool operator()(const std::unique_ptr<FrameData>& f,
39
+-                                const LocalFrameToken& g) const {
40
++      bool operator()(const std::unique_ptr<FrameData>& f,
41
++                      const LocalFrameToken& g) const {
42
+         return f ? f->frame_token < g : true;
43
+       }
44
+-      constexpr bool operator()(const LocalFrameToken& f,
45
+-                                const std::unique_ptr<FrameData>& g) const {
46
++      bool operator()(const LocalFrameToken& f,
47
++                      const std::unique_ptr<FrameData>& g) const {
48
+         return g ? f < g->frame_token : false;
49
+       }
50
+     };
51
chromium-93-HashPasswordManager-include.patch Added
32
 
1
@@ -0,0 +1,30 @@
2
+From 17d0e3dfcd0690df0e7b212fedcb95402f16935d Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Fri, 23 Jul 2021 10:17:49 +0000
5
+Subject: [PATCH] IWYU: missing include for using std::vector in hash password manager.
6
+
7
+Fix build breakage:
8
+../../components/password_manager/core/browser/hash_password_manager.h:44:8: error: ‘vector’ in namespace ‘std’ does not name a template type
9
+   44 |   std::vector<PasswordHashData> RetrieveAllPasswordHashes();
10
+      |        ^~~~~~
11
+
12
+Bug: 819294
13
+Change-Id: I8c8a4ec3972eedb87a312c5ec56adf4a21b1b2a2
14
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041046
15
+Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
16
+Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
17
+Cr-Commit-Position: refs/heads/master@{#904696}
18
+---
19
+
20
+diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h
21
+index c762c5a..85e656ed 100644
22
+--- a/components/password_manager/core/browser/hash_password_manager.h
23
++++ b/components/password_manager/core/browser/hash_password_manager.h
24
+@@ -6,6 +6,7 @@
25
+ #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_
26
+ 
27
+ #include <string>
28
++#include <vector>
29
+ 
30
+ #include "base/callback.h"
31
+ #include "base/callback_list.h"
32
chromium-93-InkDropHost-crash.patch Added
27
 
1
@@ -0,0 +1,25 @@
2
+diff --git a/ui/views/animation/ink_drop_host_view.h b/ui/views/animation/ink_drop_host_view.h
3
+index bd0975b..e5df288 100644
4
+--- a/ui/views/animation/ink_drop_host_view.h
5
++++ b/ui/views/animation/ink_drop_host_view.h
6
+@@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost {
7
+   // Used to observe View and inform the InkDrop of host-transform changes.
8
+   ViewLayerTransformObserver host_view_transform_observer_;
9
+ 
10
++  // Declared before |ink_drop_|, because InkDropImpl may call
11
++  // RemoveInkDropLayer on partly destructed InkDropHost. In
12
++  // that case |ink_drop_mask_| must be still valid.
13
++  std::unique_ptr<views::InkDropMask> ink_drop_mask_;
14
++
15
+   // Should not be accessed directly. Use GetInkDrop() instead.
16
+   std::unique_ptr<InkDrop> ink_drop_;
17
+ 
18
+@@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost {
19
+   int ink_drop_small_corner_radius_ = 2;
20
+   int ink_drop_large_corner_radius_ = 4;
21
+ 
22
+-  std::unique_ptr<views::InkDropMask> ink_drop_mask_;
23
+-
24
+   base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_;
25
+   base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
26
+       create_ink_drop_ripple_callback_;
27
chromium-93-ScopedTestDialogAutoConfirm-include.patch Added
26
 
1
@@ -0,0 +1,24 @@
2
+From 92fc089d50fc81b9903cd0573c95749e41081474 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sun, 25 Jul 2021 21:38:26 +0000
5
+Subject: [PATCH] IWYU: add cstring for std::strcpy
6
+
7
+---
8
+ extensions/browser/extension_dialog_auto_confirm.cc | 1 +
9
+ 1 file changed, 1 insertion(+)
10
+
11
+diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc
12
+index adb4ac3..be8b161 100644
13
+--- a/extensions/browser/extension_dialog_auto_confirm.cc
14
++++ b/extensions/browser/extension_dialog_auto_confirm.cc
15
+@@ -4,6 +4,7 @@
16
+ 
17
+ #include "extensions/browser/extension_dialog_auto_confirm.h"
18
+ 
19
++#include <cstring>
20
+ #include <utility>
21
+ 
22
+ #include "base/check.h"
23
+-- 
24
+2.31.1
25
+
26
chromium-93-ffmpeg-4.4.patch Added
87
 
1
@@ -0,0 +1,85 @@
2
+From: 52c3e9c0f140a8742034e107fb0f371c0d73bf1d Mon Sep 17 00:00:00 2001
3
+From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
4
+Date: Sun, 12 Sep 2021 04:20:11 +0200
5
+Subject: [PATCH] chromium-93: fix building with system-ffmpeg
6
+MIME-Version: 1.0
7
+Content-Type: text/plain; charset=UTF-8
8
+Content-Transfer-Encoding: 8bit
9
+
10
+The version of ffmpeg bundled in Chromium changed ABI a little, which
11
+affected the code in that the type of the last parameter of
12
+av_packet_get_side_data() is now size_t instead of int.
13
+
14
+This causes Chromium to fail to build with system-ffmpeg if the system
15
+ffmpeg's version does not yet have this ABI change.
16
+
17
+Fix the code to be able to compile with older ffmpeg as well.
18
+
19
+Signed-off-by: Marek Behún <kabel@kernel.org>
20
+---
21
+ media/filters/audio_decoder_unittest.cc |  4 ++++
22
+ media/filters/ffmpeg_demuxer.cc         | 16 ++++++++++++++++
23
+ 2 files changed, 20 insertions(+)
24
+
25
+diff --git a/media/filters/audio_decoder_unittest.cc b/media/filters/audio_decoder_unittest.cc
26
+--- a/media/filters/audio_decoder_unittest.cc
27
++++ b/media/filters/audio_decoder_unittest.cc
28
+@@ -109,7 +109,11 @@ void SetDiscardPadding(AVPacket* packet,
29
+   }
30
+ 
31
+   // If the timestamp is positive, try to use FFmpeg's discard data.
32
++#if LIBAVUTIL_VERSION_MAJOR < 57
33
++  int skip_samples_size = 0;
34
++#else
35
+   size_t skip_samples_size = 0;
36
++#endif
37
+   const uint32_t* skip_samples_ptr =
38
+       reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
39
+           packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
40
+diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
41
+--- a/media/filters/ffmpeg_demuxer.cc
42
++++ b/media/filters/ffmpeg_demuxer.cc
43
+@@ -427,11 +427,19 @@ void FFmpegDemuxerStream::EnqueuePacket(
44
+   scoped_refptr<DecoderBuffer> buffer;
45
+ 
46
+   if (type() == DemuxerStream::TEXT) {
47
++#if LIBAVUTIL_VERSION_MAJOR < 57
48
++    int id_size = 0;
49
++#else
50
+     size_t id_size = 0;
51
++#endif
52
+     uint8_t* id_data = av_packet_get_side_data(
53
+         packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
54
+ 
55
++#if LIBAVUTIL_VERSION_MAJOR < 57
56
++    int settings_size = 0;
57
++#else
58
+     size_t settings_size = 0;
59
++#endif
60
+     uint8_t* settings_data = av_packet_get_side_data(
61
+         packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
62
+ 
63
+@@ -443,7 +451,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
64
+     buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
65
+                                      side_data.data(), side_data.size());
66
+   } else {
67
++#if LIBAVUTIL_VERSION_MAJOR < 57
68
++    int side_data_size = 0;
69
++#else
70
+     size_t side_data_size = 0;
71
++#endif
72
+     uint8_t* side_data = av_packet_get_side_data(
73
+         packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
74
+ 
75
+@@ -504,7 +516,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
76
+                                        packet->size - data_offset);
77
+     }
78
+ 
79
++#if LIBAVUTIL_VERSION_MAJOR < 57
80
++    int skip_samples_size = 0;
81
++#else
82
+     size_t skip_samples_size = 0;
83
++#endif
84
+     const uint32_t* skip_samples_ptr =
85
+         reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
86
+             packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
87
chromium-93-pdfium-include.patch Added
119
 
1
@@ -0,0 +1,117 @@
2
+From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001
3
+From: Miklos Vajna <vmiklos@collabora.co.uk>
4
+Date: Wed, 21 Jul 2021 17:42:30 +0000
5
+Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++
6
+
7
+These missing includes break the build with gcc/libstdc++, they were not
8
+a problem in practice with clang/libc++.
9
+
10
+Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c
11
+Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210
12
+Commit-Queue: Lei Zhang <thestig@chromium.org>
13
+Reviewed-by: Lei Zhang <thestig@chromium.org>
14
+---
15
+
16
+diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
17
+index cea0679..036f250 100644
18
+--- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
19
++++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp
20
+@@ -7,6 +7,7 @@
21
+ #include "core/fxcodec/jpeg/jpegmodule.h"
22
+ 
23
+ #include <setjmp.h>
24
++#include <string.h>
25
+ 
26
+ #include <memory>
27
+ #include <utility>
28
+diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
29
+index c66985a..9c1122b 100644
30
+--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
31
++++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp
32
+@@ -6,6 +6,8 @@
33
+ 
34
+ #include "core/fxcodec/jpx/cjpx_decoder.h"
35
+ 
36
++#include <string.h>
37
++
38
+ #include <algorithm>
39
+ #include <limits>
40
+ #include <utility>
41
+diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
42
+index 5369d52..d198852 100644
43
+--- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
44
++++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp
45
+@@ -6,6 +6,8 @@
46
+ 
47
+ #include "core/fxge/cfx_cliprgn.h"
48
+ 
49
++#include <string.h>
50
++
51
+ #include <utility>
52
+ 
53
+ #include "core/fxge/dib/cfx_dibitmap.h"
54
+diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
55
+index 6f9b420..0f1ffae 100644
56
+--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
57
++++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp
58
+@@ -6,6 +6,8 @@
59
+ 
60
+ #include "core/fxge/dib/cfx_bitmapcomposer.h"
61
+ 
62
++#include <string.h>
63
++
64
+ #include "core/fxge/cfx_cliprgn.h"
65
+ #include "core/fxge/dib/cfx_dibitmap.h"
66
+ 
67
+diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
68
+index f57c00e..45a0a18 100644
69
+--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
70
++++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp
71
+@@ -6,6 +6,8 @@
72
+ 
73
+ #include "core/fxge/dib/cfx_bitmapstorer.h"
74
+ 
75
++#include <string.h>
76
++
77
+ #include <utility>
78
+ 
79
+ #include "core/fxge/dib/cfx_dibitmap.h"
80
+diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
81
+index 4ec0ddb..a1de2fb 100644
82
+--- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
83
++++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp
84
+@@ -6,6 +6,8 @@
85
+ 
86
+ #include "core/fxge/dib/cfx_dibbase.h"
87
+ 
88
++#include <string.h>
89
++
90
+ #include <algorithm>
91
+ #include <memory>
92
+ #include <utility>
93
+diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
94
+index d7ccf6c..94e8acc 100644
95
+--- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
96
++++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp
97
+@@ -6,6 +6,8 @@
98
+ 
99
+ #include "core/fxge/dib/cfx_dibitmap.h"
100
+ 
101
++#include <string.h>
102
++
103
+ #include <limits>
104
+ #include <memory>
105
+ #include <utility>
106
+diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
107
+index e8362d7..c04c6dc 100644
108
+--- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
109
++++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp
110
+@@ -6,6 +6,8 @@
111
+ 
112
+ #include "core/fxge/dib/cfx_scanlinecompositor.h"
113
+ 
114
++#include <string.h>
115
++
116
+ #include <algorithm>
117
+ 
118
+ #include "core/fxge/dib/fx_dib.h"
119
chromium-buildname.patch Added
15
 
1
@@ -0,0 +1,13 @@
2
+Index: chromium-73.0.3683.27/components/version_ui_strings.grdp
3
+===================================================================
4
+--- chromium-73.0.3683.27.orig/components/version_ui_strings.grdp
5
++++ chromium-73.0.3683.27/components/version_ui_strings.grdp
6
+@@ -7,7 +7,7 @@
7
+     Official Build
8
+   </message>
9
+   <message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on the about:version page">
10
+-    Developer Build
11
++    openSUSE Build
12
+   </message>
13
+   <message name="IDS_VERSION_UI_32BIT" desc="32-bit on the chrome://version page">
14
+     (32-bit)
15
chromium-clang-nomerge.patch Added
45
 
1
@@ -0,0 +1,43 @@
2
+Upstream-status: Inapproriate
3
+
4
+Upstream suggests to use Chromium's hermetic clang
5
+instead.
6
+
7
+Signed-off-by: Maksim Sisov <msisov@igalia.com>
8
+---
9
+From bde3186ccba169391fb428fcc296b2236ada0010 Mon Sep 17 00:00:00 2001
10
+From: Maksim Sisov <msisov@igalia.com>
11
+Date: Wed, 5 May 2021 15:20:43 +0300
12
+Subject: [PATCH] nomerge attribute on declaration is only available since
13
+ clang 12
14
+
15
+This change fixes builds with older clangs that do not allow
16
+nomerge attributes on declaration. Otherwise, the following error
17
+is produced -
18
+
19
+build error: 'nomerge' attribute cannot be applied to a declaration
20
+
21
+See https://reviews.llvm.org/D92800
22
+
23
+Change-Id: I32e1f7dc9049737d54d8a16de5308aa5aae1ced1
24
+---
25
+ base/compiler_specific.h | 3 ++-
26
+ 1 file changed, 2 insertions(+), 1 deletion(-)
27
+
28
+diff --git a/base/compiler_specific.h b/base/compiler_specific.h
29
+index 6693e9ea33e9..d3b425abe9ca 100644
30
+--- a/base/compiler_specific.h
31
++++ b/base/compiler_specific.h
32
+@@ -340,7 +340,8 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
33
+ #endif  // defined(__clang_analyzer__)
34
+ 
35
+ // Use nomerge attribute to disable optimization of merging multiple same calls.
36
+-#if defined(__clang__) && __has_attribute(nomerge)
37
++#if defined(__clang__) && (__clang_major__ >= 12) && \
38
++    __has_attribute(nomerge) && !defined(OS_CHROMEOS)
39
+ #define NOMERGE [[clang::nomerge]]
40
+ #else
41
+ #define NOMERGE
42
+-- 
43
+2.25.1
44
+
45
chromium-disable-parallel-gold.patch Added
15
 
1
@@ -0,0 +1,13 @@
2
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
3
+index 01d97a360..a9a721403 100644
4
+--- a/build/config/compiler/BUILD.gn
5
++++ b/build/config/compiler/BUILD.gn
6
+@@ -415,8 +415,6 @@ config("compiler") {
7
+         # https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/281527606915bb36
8
+         # Only apply this to the target linker, since the host
9
+         # linker might not be gold, but isn't used much anyway.
10
+-        "-Wl,--threads",
11
+-        "-Wl,--thread-count=4",
12
+       ]
13
+     }
14
+ 
15
chromium-dma-buf.patch Deleted
24
 
1
@@ -1,22 +0,0 @@
2
-Index: chromium-60.0.3088.3/ui/gfx/linux/client_native_pixmap_dmabuf.cc
3
-===================================================================
4
---- chromium-60.0.3088.3.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc
5
-+++ chromium-60.0.3088.3/ui/gfx/linux/client_native_pixmap_dmabuf.cc
6
-@@ -19,9 +19,6 @@
7
- #include "base/strings/stringprintf.h"
8
- #include "base/trace_event/trace_event.h"
9
- 
10
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
11
--#include <linux/dma-buf.h>
12
--#else
13
- #include <linux/types.h>
14
- 
15
- struct dma_buf_sync {
16
-@@ -36,7 +33,6 @@ struct dma_buf_sync {
17
- 
18
- #define DMA_BUF_BASE 'b'
19
- #define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
20
--#endif
21
- 
22
- namespace gfx {
23
- 
24
chromium-ffmpeg-lp152.patch Added
18
 
1
@@ -0,0 +1,16 @@
2
+--- a/media/filters/ffmpeg_demuxer.cc
3
++++ b/media/filters/ffmpeg_demuxer.cc
4
+@@ -50,7 +50,13 @@
5
+ #include "media/formats/webm/webm_crypto_helpers.h"
6
+ #include "media/media_buildflags.h"
7
+ #include "third_party/ffmpeg/ffmpeg_features.h"
8
++#include <libavcodec/version.h>
9
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(58, 78, 100)
10
+ #include "third_party/ffmpeg/libavcodec/packet.h"
11
++#else
12
++#include "third_party/ffmpeg/libavcodec/avcodec.h"
13
++#endif
14
++
15
+
16
+ #if BUILDFLAG(ENABLE_PLATFORM_HEVC)
17
+ #include "media/filters/ffmpeg_h265_to_annex_b_bitstream_converter.h"
18
chromium-freetype-2.11.patch Added
54
 
1
@@ -0,0 +1,52 @@
2
+diff -up chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
3
+--- chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11  2021-09-02 08:49:18.996863417 -0400
4
++++ chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp    2021-09-02 08:56:07.716626801 -0400
5
+@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
6
+             canvas->drawPaint(colrPaint);
7
+             break;
8
+         }
9
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
10
+         case FT_COLR_PAINTFORMAT_TRANSFORM:
11
++#else
12
++        case FT_COLR_PAINTFORMAT_TRANSFORMED:
13
++#endif
14
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
15
+         case FT_COLR_PAINTFORMAT_SCALE:
16
+         case FT_COLR_PAINTFORMAT_ROTATE:
17
+@@ -760,10 +764,17 @@ void colrv1_transform(SkCanvas* canvas,
18
+     SkMatrix transform;
19
+ 
20
+     switch (colrv1_paint.format) {
21
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
22
+         case FT_COLR_PAINTFORMAT_TRANSFORM: {
23
+             transform = ToSkMatrix(colrv1_paint.u.transform.affine);
24
+             break;
25
+         }
26
++#else
27
++        case FT_COLR_PAINTFORMAT_TRANSFORMED: {
28
++            transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
29
++            break;
30
++        }
31
++#endif
32
+         case FT_COLR_PAINTFORMAT_TRANSLATE: {
33
+             transform = SkMatrix::Translate(
34
+                 SkFixedToScalar(colrv1_paint.u.translate.dx),
35
+@@ -889,11 +900,18 @@ bool colrv1_traverse_paint(SkCanvas* can
36
+             traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
37
+                                                  FT_COLOR_NO_ROOT_TRANSFORM);
38
+             break;
39
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
40
+         case FT_COLR_PAINTFORMAT_TRANSFORM:
41
+             colrv1_transform(canvas, face, paint);
42
+             traverse_result = colrv1_traverse_paint(canvas, palette, face,
43
+                                                     paint.u.transform.paint, visited_set);
44
+             break;
45
++#else
46
++        case FT_COLR_PAINTFORMAT_TRANSFORMED:
47
++            colrv1_transform(canvas, face, paint);
48
++            traverse_result = colrv1_traverse_paint(canvas, palette, face,
49
++                                                    paint.u.transformed.paint, visited_set);
50
++#endif
51
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
52
+             colrv1_transform(canvas, face, paint);
53
+             traverse_result = colrv1_traverse_paint(canvas, palette, face,
54
chromium-gcc11.patch Added
129
 
1
@@ -0,0 +1,127 @@
2
+diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp
3
+index 013f1dfb2..3ce63c192 100644
4
+--- a/third_party/angle/src/libANGLE/HandleAllocator.cpp
5
++++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp
6
+@@ -9,6 +9,7 @@
7
+ 
8
+ #include "libANGLE/HandleAllocator.h"
9
+ 
10
++#include <limits>
11
+ #include <algorithm>
12
+ #include <functional>
13
+ 
14
+diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
15
+index fd651958f..1e8d0606c 100644
16
+--- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc
17
++++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc
18
+@@ -14,9 +14,9 @@
19
+  * limitations under the License.
20
+  */
21
+ 
22
++#include <limits>
23
+ #include "src/trace_processor/containers/string_pool.h"
24
+ 
25
+-#include <limits>
26
+ 
27
+ #include "perfetto/base/logging.h"
28
+ #include "perfetto/ext/base/utils.h"
29
+diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc
30
+index 00496b335..0dccfeb8a 100644
31
+--- a/third_party/perfetto/src/trace_processor/db/column.cc
32
++++ b/third_party/perfetto/src/trace_processor/db/column.cc
33
+@@ -14,6 +14,7 @@
34
+  * limitations under the License.
35
+  */
36
+ 
37
++#include <limits>
38
+ #include "src/trace_processor/db/column.h"
39
+ 
40
+ #include "src/trace_processor/db/compare.h"
41
+diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc
42
+index 837bfeba9..cdd56817d 100644
43
+--- a/third_party/perfetto/src/trace_processor/types/variadic.cc
44
++++ b/third_party/perfetto/src/trace_processor/types/variadic.cc
45
+@@ -14,6 +14,7 @@
46
+  * limitations under the License.
47
+  */
48
+ 
49
++#include <limits>
50
+ #include "src/trace_processor/types/variadic.h"
51
+ 
52
+ namespace perfetto {
53
+diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
54
+index be91def6b..73f202356 100644
55
+--- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
56
++++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc
57
+@@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) {
58
+ }
59
+ 
60
+ GType ax_platform_atk_hyperlink_get_type() {
61
+-  static volatile gsize type_volatile = 0;
62
++  static gsize type_volatile = 0;
63
+ 
64
+   AXPlatformNodeAuraLinux::EnsureGTypeInit();
65
+ 
66
+diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
67
+index 04125c6fd..6c64e5d8e 100644
68
+--- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
69
++++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
70
+@@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) {
71
+ GType GetType() {
72
+   AXPlatformNodeAuraLinux::EnsureGTypeInit();
73
+ 
74
+-  static volatile gsize type_volatile = 0;
75
++  static gsize type_volatile = 0;
76
+   if (g_once_init_enter(&type_volatile)) {
77
+     static const GTypeInfo type_info = {
78
+         sizeof(AXPlatformNodeAuraLinuxClass),  // class_size
79
+diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc
80
+index c663a2074..38a342484 100644
81
+--- a/ui/gtk/gtk_key_bindings_handler.cc
82
++++ b/ui/gtk/gtk_key_bindings_handler.cc
83
+@@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) {
84
+ }
85
+ 
86
+ GType GtkKeyBindingsHandler::HandlerGetType() {
87
+-  static volatile gsize type_id_volatile = 0;
88
++  static gsize type_id_volatile = 0;
89
+   if (g_once_init_enter(&type_id_volatile)) {
90
+     GType type_id = g_type_register_static_simple(
91
+         GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"),
92
+diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
93
+index c0b5a805b..e6f921926 100644
94
+--- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
95
++++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc
96
+@@ -2,6 +2,7 @@
97
+ // Use of this source code is governed by a BSD-style license that can be
98
+ // found in the LICENSE file.
99
+ 
100
++#include <cstddef>
101
+ #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
102
+ 
103
+ #include "base/observer_list.h"
104
+diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
105
+index 4ad2afa1f..5c4596e12 100644
106
+--- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
107
++++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc
108
+@@ -2,6 +2,7 @@
109
+ // Use of this source code is governed by a BSD-style license that can be
110
+ // found in the LICENSE file.
111
+ 
112
++#include <cstddef>
113
+ #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h"
114
+ 
115
+ #include <stdint.h>
116
+diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc
117
+index 657a3c96b..ad641a082 100644
118
+--- a/components/bookmarks/browser/base_bookmark_model_observer.cc
119
++++ b/components/bookmarks/browser/base_bookmark_model_observer.cc
120
+@@ -2,6 +2,8 @@
121
+ // Use of this source code is governed by a BSD-style license that can be
122
+ // found in the LICENSE file.
123
+ 
124
++#include <cstddef>
125
++
126
+ #include "components/bookmarks/browser/base_bookmark_model_observer.h"
127
+ 
128
+ namespace bookmarks {
129
chromium-glibc-2.33.patch Added
151
 
1
@@ -0,0 +1,149 @@
2
+# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
3
+# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
4
+
5
+Index: chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
6
+===================================================================
7
+--- chromium-90.0.4430.72.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
8
++++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
9
+@@ -269,6 +269,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
10
+     return Allow();
11
+   }
12
+ 
13
++#if defined(__NR_newfstatat)
14
++  if (sysno == __NR_newfstatat) {
15
++    return RewriteFstatatSIGSYS();
16
++  }
17
++#endif
18
++
19
++#if defined(__NR_fstatat64)
20
++  if (sysno == __NR_fstatat64) {
21
++    return RewriteFstatatSIGSYS();
22
++  }
23
++#endif
24
++
25
+   if (SyscallSets::IsFileSystem(sysno) ||
26
+       SyscallSets::IsCurrentDirectory(sysno)) {
27
+     return Error(fs_denied_errno);
28
+Index: chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
29
+===================================================================
30
+--- chromium-90.0.4430.72.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
31
++++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
32
+@@ -6,6 +6,8 @@
33
+ 
34
+ #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
35
+ 
36
++#include <errno.h>
37
++#include <fcntl.h>
38
+ #include <stddef.h>
39
+ #include <stdint.h>
40
+ #include <string.h>
41
+@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
42
+   return -ENOSYS;
43
+ }
44
+ 
45
++intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
46
++                              void* aux) {
47
++  switch (args.nr) {
48
++#if defined(__NR_newfstatat)
49
++    case __NR_newfstatat:
50
++#endif
51
++#if defined(__NR_fstatat64)
52
++    case __NR_fstatat64:
53
++#endif
54
++#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
55
++      if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
56
++          && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
57
++        return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
58
++                                    reinterpret_cast<struct stat64 *>(args.args[2]));
59
++      } else {
60
++        errno = EACCES;
61
++        return -1;
62
++      }
63
++      break;
64
++#endif
65
++  }
66
++
67
++  CrashSIGSYS_Handler(args, aux);
68
++
69
++  // Should never be reached.
70
++  RAW_CHECK(false);
71
++  return -ENOSYS;
72
++}
73
++
74
+ bpf_dsl::ResultExpr CrashSIGSYS() {
75
+   return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
76
+ }
77
+@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
78
+   return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
79
+ }
80
+ 
81
++bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
82
++  return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
83
++}
84
++
85
+ void AllocateCrashKeys() {
86
+ #if !defined(OS_NACL_NONSFI)
87
+   if (seccomp_crash_key)
88
+Index: chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
89
+===================================================================
90
+--- chromium-90.0.4430.72.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
91
++++ chromium-90.0.4430.72/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
92
+@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
93
+ // sched_setparam(), sched_setscheduler()
94
+ SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
95
+                                            void* aux);
96
++// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
97
++// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
98
++SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, 
99
++                                             void* aux);
100
+ 
101
+ // Variants of the above functions for use with bpf_dsl.
102
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
103
+@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
104
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
105
+ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
106
+ SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
107
++SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
108
+ 
109
+ // Allocates a crash key so that Seccomp information can be recorded.
110
+ void AllocateCrashKeys();
111
+Index: chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc
112
+===================================================================
113
+--- chromium-90.0.4430.72.orig/sandbox/linux/services/syscall_wrappers.cc
114
++++ chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.cc
115
+@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
116
+ 
117
+ #endif  // defined(MEMORY_SANITIZER)
118
+ 
119
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
120
++{
121
++#if defined(__NR_fstat64)
122
++    return syscall(__NR_fstat64, fd, buf);
123
++#else
124
++    return syscall(__NR_fstat, fd, buf);
125
++#endif
126
++}
127
++
128
+ }  // namespace sandbox
129
+Index: chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h
130
+===================================================================
131
+--- chromium-90.0.4430.72.orig/sandbox/linux/services/syscall_wrappers.h
132
++++ chromium-90.0.4430.72/sandbox/linux/services/syscall_wrappers.h
133
+@@ -17,6 +17,7 @@ struct sock_fprog;
134
+ struct rlimit64;
135
+ struct cap_hdr;
136
+ struct cap_data;
137
++struct stat64;
138
+ 
139
+ namespace sandbox {
140
+ 
141
+@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
142
+                                  const struct sigaction* act,
143
+                                  struct sigaction* oldact);
144
+ 
145
++// Recent glibc rewrites fstat to fstatat.
146
++SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
147
++
148
+ }  // namespace sandbox
149
+ 
150
+ #endif  // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
151
chromium-glibc-2.34.patch Added
28
 
1
@@ -0,0 +1,26 @@
2
+diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
3
+--- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400
4
++++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400
5
+@@ -138,7 +139,7 @@
6
+   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
7
+   // the alternative stack. Ensure that the size of the alternative stack is
8
+   // large enough.
9
+-  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
10
++  static const unsigned kSigStackSize = std::max<size_t>(16384, SIGSTKSZ);
11
+
12
+   // Only set an alternative stack if there isn't already one, or if the current
13
+   // one is too small.
14
+From: https://forums.gentoo.org/viewtopic-p-8644495.html
15
+--- a/sandbox/linux/services/credentials.cc
16
++++ b/sandbox/linux/services/credentials.cc
17
+@@ -98,7 +98,9 @@
18
+   // attempt this optimization.
19
+   clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
20
+
21
+-  char tls_buf[PTHREAD_STACK_MIN] = {0};
22
++  const std::size_t pthread_stack_min = PTHREAD_STACK_MIN;
23
++  char tls_buf[pthread_stack_min];
24
++  memset(tls_buf, 0, pthread_stack_min);
25
+   tls = tls_buf;
26
+ #endif
27
+
28
chromium-libusb_interrupt_event_handler.patch Added
17
 
1
@@ -0,0 +1,15 @@
2
+diff -up chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc
3
+--- chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx   2016-02-24 10:21:10.534996028 -0500
4
++++ chromium-48.0.2564.116/services/device/usb/usb_context.cc  2016-02-24 10:22:28.270499864 -0500
5
+@@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run()
6
+ 
7
+ void UsbContext::UsbEventHandler::Stop() {
8
+   base::subtle::Release_Store(&running_, 0);
9
++#ifdef LIBUSB_API_VERSION >= 0x01000105
10
++  libusb_interrupt_event_handler(context_);
11
++#else
12
+   libusb_interrupt_handle_event(context_);
13
++#endif
14
+ }
15
+ 
16
+ UsbContext::UsbContext(PlatformUsbContext context) : context_(context) {
17
chromium-lp151-old-drm.patch Added
34
 
1
@@ -0,0 +1,32 @@
2
+Index: chromium-85.0.4183.69/ui/gfx/linux/drm_util_linux.cc
3
+===================================================================
4
+--- chromium-85.0.4183.69.orig/ui/gfx/linux/drm_util_linux.cc
5
++++ chromium-85.0.4183.69/ui/gfx/linux/drm_util_linux.cc
6
+@@ -6,6 +6,27 @@
7
+ 
8
+ #include <drm_fourcc.h>
9
+ 
10
++#ifndef DRM_FORMAT_P010
11
++/*
12
++ * 2 plane YCbCr MSB aligned
13
++ * index 0 = Y plane, [15:0] Y:x [10:6] little endian
14
++ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
15
++ */
16
++#define DRM_FORMAT_P010       fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */
17
++/*
18
++ * 2 plane YCbCr MSB aligned
19
++ * index 0 = Y plane, [15:0] Y:x [12:4] little endian
20
++ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [12:4:12:4] little endian
21
++ */
22
++#define DRM_FORMAT_P012       fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cr:Cb plane 12 bits per channel */
23
++/*
24
++ * 2 plane YCbCr MSB aligned
25
++ * index 0 = Y plane, [15:0] Y little endian
26
++ * index 1 = Cr:Cb plane, [31:0] Cr:Cb [16:16] little endian
27
++ */
28
++#define DRM_FORMAT_P016       fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */
29
++#endif
30
++
31
+ #include "base/notreached.h"
32
+ 
33
+ namespace ui {
34
chromium-master-prefs-path.patch Added
17
 
1
@@ -0,0 +1,15 @@
2
+Index: chromium-91.0.4472.57/chrome/browser/first_run/first_run_internal_linux.cc
3
+===================================================================
4
+--- chromium-91.0.4472.57.orig/chrome/browser/first_run/first_run_internal_linux.cc
5
++++ chromium-91.0.4472.57/chrome/browser/first_run/first_run_internal_linux.cc
6
+@@ -21,9 +21,7 @@ bool IsOrganicFirstRun() {
7
+ base::FilePath InitialPrefsPath() {
8
+   // The standard location of the initial prefs is next to the chrome binary.
9
+   base::FilePath initial_prefs;
10
+-  if (!base::PathService::Get(base::DIR_EXE, &initial_prefs))
11
+-    return base::FilePath();
12
+-
13
++  initial_prefs = base::FilePath("/etc/chromium");
14
+   base::FilePath new_path = initial_prefs.AppendASCII(installer::kInitialPrefs);
15
+   if (base::PathIsReadable(new_path))
16
+     return new_path;
17
chromium-non-void-return.patch Deleted
201
 
1
@@ -1,507 +0,0 @@
2
-Index: chromium-69.0.3497.57/media/gpu/vaapi/vaapi_wrapper.cc
3
-===================================================================
4
---- chromium-69.0.3497.57.orig/media/gpu/vaapi/vaapi_wrapper.cc
5
-+++ chromium-69.0.3497.57/media/gpu/vaapi/vaapi_wrapper.cc
6
-@@ -400,6 +400,8 @@ static VAEntrypoint GetVaEntryPoint(Vaap
7
-     case VaapiWrapper::kCodecModeMax:
8
-       NOTREACHED();
9
-       return VAEntrypointVLD;
10
-+    default:
11
-+      return 0;
12
-   }
13
- }
14
- 
15
-Index: chromium-69.0.3497.57/cc/input/snap_fling_controller.cc
16
-===================================================================
17
---- chromium-69.0.3497.57.orig/cc/input/snap_fling_controller.cc
18
-+++ chromium-69.0.3497.57/cc/input/snap_fling_controller.cc
19
-@@ -26,6 +26,8 @@ bool SnapFlingController::FilterEventFor
20
-     case GestureScrollType::kEnd: {
21
-       return state_ == State::kActive || state_ == State::kFinished;
22
-     }
23
-+    default:
24
-+      return false;
25
-   }
26
- }
27
- 
28
-Index: chromium-69.0.3497.57/chrome/browser/ui/webui/discards/discards_ui.cc
29
-===================================================================
30
---- chromium-69.0.3497.57.orig/chrome/browser/ui/webui/discards/discards_ui.cc
31
-+++ chromium-69.0.3497.57/chrome/browser/ui/webui/discards/discards_ui.cc
32
-@@ -48,6 +48,8 @@ mojom::LifecycleUnitVisibility GetLifecy
33
-       return mojom::LifecycleUnitVisibility::OCCLUDED;
34
-     case content::Visibility::VISIBLE:
35
-       return mojom::LifecycleUnitVisibility::VISIBLE;
36
-+    default:
37
-+      return mojom::LifecycleUnitVisibility::VISIBLE;
38
-   }
39
- #if defined(COMPILER_MSVC)
40
-   NOTREACHED();
41
-Index: chromium-69.0.3497.57/components/autofill/core/browser/autofill_manager.cc
42
-===================================================================
43
---- chromium-69.0.3497.57.orig/components/autofill/core/browser/autofill_manager.cc
44
-+++ chromium-69.0.3497.57/components/autofill/core/browser/autofill_manager.cc
45
-@@ -285,6 +285,7 @@ PopupType AutofillManager::GetPopupType(
46
- 
47
-     default:
48
-       NOTREACHED();
49
-+      return PopupType::kUnspecified;
50
-   }
51
- }
52
- 
53
-Index: chromium-69.0.3497.57/components/cast_channel/cast_message_util.cc
54
-===================================================================
55
---- chromium-69.0.3497.57.orig/components/cast_channel/cast_message_util.cc
56
-+++ chromium-69.0.3497.57/components/cast_channel/cast_message_util.cc
57
-@@ -368,6 +368,8 @@ const char* GetAppAvailabilityResultToSt
58
-       return "unavailable";
59
-     case GetAppAvailabilityResult::kUnknown:
60
-       return "unknown";
61
-+    default:
62
-+      return "unknown";
63
-   }
64
- }
65
- 
66
-Index: chromium-69.0.3497.57/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
67
-===================================================================
68
---- chromium-69.0.3497.57.orig/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
69
-+++ chromium-69.0.3497.57/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
70
-@@ -337,6 +337,8 @@ PageloadMetrics_ConnectionType ProtoConn
71
-       return PageloadMetrics_ConnectionType_CONNECTION_NONE;
72
-     case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH:
73
-       return PageloadMetrics_ConnectionType_CONNECTION_BLUETOOTH;
74
-+    default:
75
-+      return PageloadMetrics_ConnectionType_CONNECTION_UNKNOWN;
76
-   }
77
- }
78
- 
79
-@@ -351,6 +353,8 @@ RequestInfo_Protocol ProtoRequestInfoPro
80
-       return RequestInfo_Protocol_QUIC;
81
-     case DataReductionProxyData::RequestInfo::Protocol::UNKNOWN:
82
-       return RequestInfo_Protocol_UNKNOWN;
83
-+    default:
84
-+      return RequestInfo_Protocol_UNKNOWN;
85
-   }
86
- }
87
- 
88
-Index: chromium-69.0.3497.57/content/browser/cache_storage/cache_storage_quota_client.cc
89
-===================================================================
90
---- chromium-69.0.3497.57.orig/content/browser/cache_storage/cache_storage_quota_client.cc
91
-+++ chromium-69.0.3497.57/content/browser/cache_storage/cache_storage_quota_client.cc
92
-@@ -98,6 +98,8 @@ storage::QuotaClient::ID CacheStorageQuo
93
-       return kServiceWorkerCache;
94
-     case CacheStorageOwner::kBackgroundFetch:
95
-       return kBackgroundFetch;
96
-+    default:
97
-+      return kBackgroundFetch;
98
-   }
99
- }
100
- 
101
-Index: chromium-69.0.3497.57/media/capture/video/video_capture_device_descriptor.cc
102
-===================================================================
103
---- chromium-69.0.3497.57.orig/media/capture/video/video_capture_device_descriptor.cc
104
-+++ chromium-69.0.3497.57/media/capture/video/video_capture_device_descriptor.cc
105
-@@ -94,6 +94,8 @@ const char* VideoCaptureDeviceDescriptor
106
-       return "Virtual Device";
107
-     case VideoCaptureApi::UNKNOWN:
108
-       return "Unknown";
109
-+    default:
110
-+      return "Unknown";
111
-   }
112
- }
113
- 
114
-Index: chromium-69.0.3497.57/net/nqe/network_quality_estimator.cc
115
-===================================================================
116
---- chromium-69.0.3497.57.orig/net/nqe/network_quality_estimator.cc
117
-+++ chromium-69.0.3497.57/net/nqe/network_quality_estimator.cc
118
-@@ -1342,6 +1342,8 @@ base::TimeDelta NetworkQualityEstimator:
119
-     case nqe::internal::OBSERVATION_CATEGORY_COUNT:
120
-       NOTREACHED();
121
-       return base::TimeDelta();
122
-+    default:
123
-+      return base::TimeDelta();
124
-   }
125
- }
126
- 
127
-Index: chromium-69.0.3497.57/services/audio/public/cpp/audio_system_to_service_adapter.cc
128
-===================================================================
129
---- chromium-69.0.3497.57.orig/services/audio/public/cpp/audio_system_to_service_adapter.cc
130
-+++ chromium-69.0.3497.57/services/audio/public/cpp/audio_system_to_service_adapter.cc
131
-@@ -66,6 +66,8 @@ const char* GetTraceEvent(Action action)
132
-       return "AudioSystemToServiceAdapter::GetAssociatedOutputDeviceID";
133
-     case kGetInputDeviceInfo:
134
-       return "AudioSystemToServiceAdapter::GetInputDeviceInfo";
135
-+    default:
136
-+      return "Unknown";
137
-   }
138
-   NOTREACHED();
139
- }
140
-Index: chromium-69.0.3497.57/services/network/cross_origin_read_blocking.cc
141
-===================================================================
142
---- chromium-69.0.3497.57.orig/services/network/cross_origin_read_blocking.cc
143
-+++ chromium-69.0.3497.57/services/network/cross_origin_read_blocking.cc
144
-@@ -800,6 +800,8 @@ bool CrossOriginReadBlocking::ResponseAn
145
-       return sniffers_.empty() && !found_blockable_content_;
146
-     case kBlock:
147
-       return false;
148
-+    default:
149
-+      return true;
150
-   }
151
- }
152
- 
153
-@@ -811,6 +813,8 @@ bool CrossOriginReadBlocking::ResponseAn
154
-       return sniffers_.empty() && found_blockable_content_;
155
-     case kBlock:
156
-       return true;
157
-+    default:
158
-+      return false;
159
-   }
160
- }
161
- 
162
-Index: chromium-69.0.3497.57/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
163
-===================================================================
164
---- chromium-69.0.3497.57.orig/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
165
-+++ chromium-69.0.3497.57/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
166
-@@ -1191,6 +1191,8 @@ AXTextPosition AXLayoutObject::GetTextPo
167
-       return kAXTextPositionSubscript;
168
-     case EVerticalAlign::kSuper:
169
-       return kAXTextPositionSuperscript;
170
-+    default:
171
-+      return AXNodeObject::GetTextPosition();
172
-   }
173
- }
174
- 
175
-Index: chromium-69.0.3497.57/third_party/blink/renderer/modules/webaudio/audio_param.cc
176
-===================================================================
177
---- chromium-69.0.3497.57.orig/third_party/blink/renderer/modules/webaudio/audio_param.cc
178
-+++ chromium-69.0.3497.57/third_party/blink/renderer/modules/webaudio/audio_param.cc
179
-@@ -144,6 +144,7 @@ String AudioParamHandler::GetParamName()
180
-       return custom_param_name_;
181
-     default:
182
-       NOTREACHED();
183
-+      return "Unknown";
184
-   }
185
- }
186
- 
187
-Index: chromium-69.0.3497.57/ui/accessibility/platform/ax_platform_node_auralinux.cc
188
-===================================================================
189
---- chromium-69.0.3497.57.orig/ui/accessibility/platform/ax_platform_node_auralinux.cc
190
-+++ chromium-69.0.3497.57/ui/accessibility/platform/ax_platform_node_auralinux.cc
191
-@@ -1291,6 +1291,8 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
192
-     case ax::mojom::Role::kPresentational:
193
-     case ax::mojom::Role::kUnknown:
194
-       return ATK_ROLE_REDUNDANT_OBJECT;
195
-+    default:
196
-+      return ATK_ROLE_REDUNDANT_OBJECT;
197
-   }
198
- }
199
- 
200
-Index: chromium-69.0.3497.57/chrome/browser/chrome_browser_main.cc
201
chromium-norar.patch Added
92
 
1
@@ -0,0 +1,90 @@
2
+diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn
3
+--- chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-09-02 08:22:31.280927364 -0400
4
++++ chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn 2021-09-02 08:23:32.143189935 -0400
5
+@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
6
+     public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
7
+   }
8
+ 
9
+-  source_set("rar_analyzer") {
10
+-    sources = [
11
+-      "rar_analyzer.cc",
12
+-      "rar_analyzer.h",
13
+-    ]
14
+-
15
+-    deps = [
16
+-      ":archive_analyzer_results",
17
+-      ":download_type_util",
18
+-      "//base",
19
+-      "//base:i18n",
20
+-      "//components/safe_browsing/content/common:file_type_policies",
21
+-      "//components/safe_browsing/core/common",
22
+-      "//third_party/unrar:unrar",
23
+-    ]
24
+-
25
+-    defines = [
26
+-      "_FILE_OFFSET_BITS=64",
27
+-      "LARGEFILE_SOURCE",
28
+-      "RAR_SMP",
29
+-      "SILENT",
30
+-
31
+-      # The following is set to disable certain macro definitions in the unrar
32
+-      # source code.
33
+-      "CHROMIUM_UNRAR",
34
+-
35
+-      # Disables exceptions in unrar, replaces them with process termination.
36
+-      "UNRAR_NO_EXCEPTIONS",
37
+-    ]
38
+-
39
+-    public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
40
+-  }
41
+-
42
+   if (is_mac) {
43
+     source_set("disk_image_type_sniffer_mac") {
44
+       sources = [
45
+@@ -149,7 +116,6 @@ source_set("safe_browsing") {
46
+       ":archive_analyzer_results",
47
+       ":binary_feature_extractor",
48
+       ":download_type_util",
49
+-      ":rar_analyzer",
50
+       "//components/safe_browsing/core/common",
51
+     ]
52
+ 
53
+diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS
54
+--- chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar 2021-09-02 08:22:31.280927364 -0400
55
++++ chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS 2021-09-02 08:23:56.092293262 -0400
56
+@@ -2,6 +2,5 @@ include_rules = [
57
+   "+components/safe_browsing/content/common",
58
+   "+components/safe_browsing/core/common",
59
+   "+third_party/protobuf",
60
+-  "+third_party/unrar",
61
+   "+third_party/zlib",
62
+ ]
63
+diff -up chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn
64
+--- chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar   2021-08-31 21:39:29.000000000 -0400
65
++++ chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn   2021-09-02 08:22:31.280927364 -0400
66
+@@ -50,7 +50,6 @@ source_set("file_util") {
67
+     deps += [
68
+       "//chrome/common/safe_browsing",
69
+       "//chrome/common/safe_browsing:archive_analyzer_results",
70
+-      "//chrome/common/safe_browsing:rar_analyzer",
71
+     ]
72
+   }
73
+ 
74
+diff -up chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc
75
+--- chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar   2021-08-31 21:39:29.000000000 -0400
76
++++ chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc   2021-09-02 08:22:31.281927369 -0400
77
+@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
78
+ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
79
+                                          base::File temporary_file,
80
+                                          AnalyzeRarFileCallback callback) {
81
++#if 0
82
+   DCHECK(rar_file.IsValid());
83
+ 
84
+   safe_browsing::ArchiveAnalyzerResults results;
85
+   safe_browsing::rar_analyzer::AnalyzeRarFile(
86
+       std::move(rar_file), std::move(temporary_file), &results);
87
+   std::move(callback).Run(results);
88
++#else
89
++  NOTREACHED();
90
++#endif
91
+ }
92
chromium-old-glibc.patch Deleted
75
 
1
@@ -1,73 +0,0 @@
2
-Index: chromium-69.0.3497.72/gpu/config/gpu_info.cc
3
-===================================================================
4
---- chromium-69.0.3497.72.orig/gpu/config/gpu_info.cc
5
-+++ chromium-69.0.3497.72/gpu/config/gpu_info.cc
6
-@@ -99,15 +99,15 @@ GPUInfo::GPUDevice::GPUDevice()
7
- 
8
- GPUInfo::GPUDevice::GPUDevice(const GPUInfo::GPUDevice& other) = default;
9
- 
10
--GPUInfo::GPUDevice::GPUDevice(GPUInfo::GPUDevice&& other) noexcept = default;
11
-+GPUInfo::GPUDevice::GPUDevice(GPUInfo::GPUDevice&& other) = default;
12
- 
13
--GPUInfo::GPUDevice::~GPUDevice() noexcept = default;
14
-+GPUInfo::GPUDevice::~GPUDevice() = default;
15
- 
16
- GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=(
17
-     const GPUInfo::GPUDevice& other) = default;
18
- 
19
- GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=(
20
--    GPUInfo::GPUDevice&& other) noexcept = default;
21
-+    GPUInfo::GPUDevice&& other) = default;
22
- 
23
- GPUInfo::GPUInfo()
24
-     : optimus(false),
25
-Index: chromium-69.0.3497.72/components/policy/core/common/policy_map.cc
26
-===================================================================
27
---- chromium-69.0.3497.72.orig/components/policy/core/common/policy_map.cc
28
-+++ chromium-69.0.3497.72/components/policy/core/common/policy_map.cc
29
-@@ -15,8 +15,8 @@ PolicyMap::Entry::Entry() = default;
30
- 
31
- PolicyMap::Entry::~Entry() = default;
32
- 
33
--PolicyMap::Entry::Entry(Entry&&) noexcept = default;
34
--PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default;
35
-+PolicyMap::Entry::Entry(Entry&&) = default;
36
-+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default;
37
- 
38
- PolicyMap::Entry PolicyMap::Entry::DeepCopy() const {
39
-   Entry copy;
40
-Index: chromium-69.0.3497.72/components/search_provider_logos/logo_common.cc
41
-===================================================================
42
---- chromium-69.0.3497.72.orig/components/search_provider_logos/logo_common.cc
43
-+++ chromium-69.0.3497.72/components/search_provider_logos/logo_common.cc
44
-@@ -12,24 +12,24 @@ const int64_t kMaxTimeToLiveMS = INT64_C
45
- 
46
- LogoMetadata::LogoMetadata() = default;
47
- LogoMetadata::LogoMetadata(const LogoMetadata&) = default;
48
--LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default;
49
-+LogoMetadata::LogoMetadata(LogoMetadata&&) = default;
50
- LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default;
51
--LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default;
52
-+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default;
53
- LogoMetadata::~LogoMetadata() = default;
54
- 
55
- EncodedLogo::EncodedLogo() = default;
56
- EncodedLogo::EncodedLogo(const EncodedLogo&) = default;
57
--EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default;
58
-+EncodedLogo::EncodedLogo(EncodedLogo&&) = default;
59
- EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default;
60
--EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default;
61
-+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default;
62
- EncodedLogo::~EncodedLogo() = default;
63
- 
64
- Logo::Logo() = default;
65
- Logo::~Logo() = default;
66
- 
67
- LogoCallbacks::LogoCallbacks() = default;
68
--LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default;
69
--LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default;
70
-+LogoCallbacks::LogoCallbacks(LogoCallbacks&&) = default;
71
-+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default;
72
- LogoCallbacks::~LogoCallbacks() = default;
73
- 
74
- }  // namespace search_provider_logos
75
chromium-prop-codecs.patch Added
19
 
1
@@ -0,0 +1,17 @@
2
+Index: chromium-85.0.4183.69/media/BUILD.gn
3
+===================================================================
4
+--- chromium-85.0.4183.69.orig/media/BUILD.gn
5
++++ chromium-85.0.4183.69/media/BUILD.gn
6
+@@ -44,12 +44,6 @@ buildflag_header("media_buildflags") {
7
+   ]
8
+ }
9
+ 
10
+-if (proprietary_codecs && media_use_ffmpeg) {
11
+-  assert(
12
+-      ffmpeg_branding != "Chromium",
13
+-      "proprietary codecs and ffmpeg_branding set to Chromium are incompatible")
14
+-}
15
+-
16
+ # Common configuration for targets in the media directory; these must not be
17
+ # exported since things like USE_NEON and USE_CRAS have different meanings
18
+ # elsewhere in the code base.
19
chromium-shim_headers.patch Added
50
 
1
@@ -0,0 +1,48 @@
2
+From e273172bbafedca36984fc40f4aa6c44b79ac2ef Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Fri, 25 Dec 2020 09:10:32 +0000
5
+Subject: [PATCH] shim_headers: fix outputs generation
6
+
7
+---
8
+ build/shim_headers.gni | 11 +++++++----
9
+ 1 file changed, 7 insertions(+), 4 deletions(-)
10
+
11
+diff --git a/build/shim_headers.gni b/build/shim_headers.gni
12
+index 0900cba..5138647 100644
13
+--- a/build/shim_headers.gni
14
++++ b/build/shim_headers.gni
15
+@@ -6,6 +6,8 @@ template("shim_headers") {
16
+   action_name = "gen_${target_name}"
17
+   config_name = "${target_name}_config"
18
+   shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
19
++  shim_root_path    = rebase_path(invoker.root_path)
20
++  shim_rel_path     = rebase_path("${shim_root_path}", rebase_path("//"))
21
+ 
22
+   config(config_name) {
23
+     include_dirs = [ shim_headers_path ]
24
+@@ -16,7 +18,7 @@ template("shim_headers") {
25
+     args = [
26
+       "--generate",
27
+       "--headers-root",
28
+-      rebase_path(invoker.root_path),
29
++      "${shim_root_path}",
30
+       "--output-directory",
31
+       rebase_path(shim_headers_path),
32
+     ]
33
+@@ -27,9 +29,10 @@ template("shim_headers") {
34
+       ]
35
+     }
36
+     args += invoker.headers
37
+-
38
+-    outputs = process_file_template(invoker.headers,
39
+-                                    "${shim_headers_path}/{{source_file_part}}")
40
++    outputs = []
41
++    foreach(shim_header, invoker.headers) {
42
++      outputs += [ "${shim_headers_path}/${shim_rel_path}/" + shim_header ]
43
++    }
44
+   }
45
+ 
46
+   group(target_name) {
47
+-- 
48
+2.26.2
49
+
50
chromium-skia-system-fontconfig.patch Deleted
79
 
1
@@ -1,77 +0,0 @@
2
---- chromium-69.0.3493.3.old/third_party/skia/src/ports/SkFontHost_FreeType.cpp    2018-07-25 16:42:39.217368047 +0200
3
-+++ chromium-69.0.3493.3/third_party/skia/src/ports/SkFontHost_FreeType.cpp    2018-07-25 16:44:03.387793112 +0200
4
-@@ -112,8 +112,6 @@
5
-         : fGetVarDesignCoordinates(nullptr)
6
-         , fGetVarAxisFlags(nullptr)
7
-         , fLibrary(nullptr)
8
--        , fIsLCDSupported(false)
9
--        , fLCDExtra(0)
10
-     {
11
-         if (FT_New_Library(&gFTMemory, &fLibrary)) {
12
-             return;
13
-@@ -173,12 +171,7 @@
14
-         }
15
- #endif
16
- 
17
--        // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
18
--        // The default has changed over time, so this doesn't mean the same thing to all users.
19
--        if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
20
--            fIsLCDSupported = true;
21
--            fLCDExtra = 2; //Using a filter adds one full pixel to each side.
22
--        }
23
-+        FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT);
24
-     }
25
-     ~FreeTypeLibrary() {
26
-         if (fLibrary) {
27
-@@ -187,8 +180,6 @@
28
-     }
29
- 
30
-     FT_Library library() { return fLibrary; }
31
--    bool isLCDSupported() { return fIsLCDSupported; }
32
--    int lcdExtra() { return fLCDExtra; }
33
- 
34
-     // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
35
-     // Prior to this there was no way to get the coordinates out of the FT_Face.
36
-@@ -205,8 +196,6 @@
37
- 
38
- private:
39
-     FT_Library fLibrary;
40
--    bool fIsLCDSupported;
41
--    int fLCDExtra;
42
- 
43
-     // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
44
-     // The following platforms provide FreeType of at least 2.4.0.
45
-@@ -704,17 +693,6 @@
46
-         rec->fTextSize = SkIntToScalar(1 << 14);
47
-     }
48
- 
49
--    if (isLCD(*rec)) {
50
--        // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr.
51
--        SkAutoMutexAcquire ama(gFTMutex);
52
--        ref_ft_library();
53
--        if (!gFTLibrary->isLCDSupported()) {
54
--            // If the runtime Freetype library doesn't support LCD, disable it here.
55
--            rec->fMaskFormat = SkMask::kA8_Format;
56
--        }
57
--        unref_ft_library();
58
--    }
59
--
60
-     SkPaint::Hinting h = rec->getHinting();
61
-     if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
62
-         // collapse full->normal hinting if we're not doing LCD
63
-@@ -1109,11 +1087,11 @@
64
- void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
65
-     if (isLCD(fRec)) {
66
-         if (fLCDIsVert) {
67
--            glyph->fHeight += gFTLibrary->lcdExtra();
68
--            glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
69
-+            glyph->fHeight += 2;
70
-+            glyph->fTop -= 1;
71
-         } else {
72
--            glyph->fWidth += gFTLibrary->lcdExtra();
73
--            glyph->fLeft -= gFTLibrary->lcdExtra() >> 1;
74
-+            glyph->fWidth += 2;
75
-+            glyph->fLeft -= 1;
76
-         }
77
-     }
78
- }
79
chromium-system-icu.patch Deleted
13
 
1
@@ -1,11 +0,0 @@
2
---- chromium-70.0.3521.2.old/third_party/blink/renderer/platform/text/character_property_data_generator.h  2018-08-15 12:41:21.091987662 +0200
3
-+++ chromium-70.0.3521.2/third_party/blink/renderer/platform/text/character_property_data_generator.h  2018-08-17 12:37:45.459538308 +0200
4
-@@ -247,7 +247,7 @@
5
-     0xFFA0, 0xFFDC,
6
- };
7
- 
8
--static const UChar32 kIsHangulArray[] = {};
9
-+static const UChar32 kIsHangulArray[] = {0xFFDC,};
10
- 
11
- }  // namespace blink
12
- 
13
chromium-system-libusb.patch Added
43
 
1
@@ -0,0 +1,41 @@
2
+Index: chromium-70.0.3538.54/build/linux/unbundle/libusb.gn
3
+===================================================================
4
+--- /dev/null
5
++++ chromium-70.0.3538.54/build/linux/unbundle/libusb.gn
6
+@@ -0,0 +1,24 @@
7
++# Copyright 2016 The Chromium Authors. All rights reserved.
8
++# Use of this source code is governed by a BSD-style license that can be
9
++# found in the LICENSE file.
10
++
11
++import("//build/config/linux/pkg_config.gni")
12
++import("//build/shim_headers.gni")
13
++
14
++pkg_config("system_libusb") {
15
++  packages = [ "libusb-1.0" ]
16
++}
17
++
18
++shim_headers("libusb_shim") {
19
++  root_path = "src/libusb"
20
++  headers = [
21
++    "libusb.h",
22
++  ]
23
++}
24
++
25
++source_set("libusb") {
26
++  deps = [
27
++    ":libusb_shim",
28
++  ]
29
++  public_configs = [ ":system_libusb" ]
30
++}
31
+Index: chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py
32
+===================================================================
33
+--- chromium-70.0.3538.54.orig/build/linux/unbundle/replace_gn_files.py
34
++++ chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py
35
+@@ -27,6 +27,7 @@ REPLACEMENTS = {
36
+   'libevent': 'base/third_party/libevent/BUILD.gn',
37
+   'libjpeg': 'third_party/libjpeg.gni',
38
+   'libpng': 'third_party/libpng/BUILD.gn',
39
++  'libusb': 'third_party/libusb/BUILD.gn',
40
+   'libvpx': 'third_party/libvpx/BUILD.gn',
41
+   'libwebp': 'third_party/libwebp/BUILD.gn',
42
+   'libxml': 'third_party/libxml/BUILD.gn',
43
chromium-vaapi.patch Added
74
 
1
@@ -0,0 +1,72 @@
2
+diff -up chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/about_flags.cc
3
+--- chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg    2020-11-19 20:51:19.000000000 -0500
4
++++ chromium-88.0.4324.11/chrome/browser/about_flags.cc    2020-11-30 16:14:32.393366384 -0500
5
+@@ -3526,12 +3526,12 @@
6
+      flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
7
+      MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
8
+ #endif  // ENABLE_VR
9
+-#if BUILDFLAG(IS_CHROMEOS_ASH)
10
++#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
11
+     {"disable-accelerated-mjpeg-decode",
12
+      flag_descriptions::kAcceleratedMjpegDecodeName,
13
+-     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
14
++     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
15
+      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
16
+-#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
17
++#endif  // BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
18
+     {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
19
+      flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
20
+      FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
21
+diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc
22
+--- chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg  2020-11-30 16:14:32.393366384 -0500
23
++++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc  2020-11-30 16:20:50.174195910 -0500
24
+@@ -3704,12 +3704,24 @@
25
+     "Settings. "
26
+     "See go/betterAM";
27
+
28
++#endif
29
++
30
++// Chrome OS and Linux --------------------------------------------------------
31
++
32
++#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
33
++
34
+ const char kAcceleratedMjpegDecodeName[] =
35
+     "Hardware-accelerated mjpeg decode for captured frame";
36
+ const char kAcceleratedMjpegDecodeDescription[] =
37
+     "Enable hardware-accelerated mjpeg decode for captured frame where "
38
+     "available.";
39
+
40
++#endif
41
++
42
++// Chrome OS ------------------------------------------------------------------
43
++
44
++#if BUILDFLAG(IS_CHROMEOS_ASH)
45
++
46
+ const char kAllowDisableMouseAccelerationName[] =
47
+     "Allow disabling mouse acceleration";
48
+ const char kAllowDisableMouseAccelerationDescription[] =
49
+diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.h
50
+--- chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg   2020-11-30 16:14:32.394366389 -0500
51
++++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.h   2020-11-30 16:22:13.831601058 -0500
52
+@@ -2138,9 +2138,21 @@
53
+ extern const char kAccountManagementFlowsV2Name[];
54
+ extern const char kAccountManagementFlowsV2Description[];
55
+
56
++#endif
57
++
58
++// Chrome OS and Linux --------------------------------------------------------
59
++
60
++#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
61
++
62
+ extern const char kAcceleratedMjpegDecodeName[];
63
+ extern const char kAcceleratedMjpegDecodeDescription[];
64
+
65
++#endif
66
++
67
++#if BUILDFLAG(IS_CHROMEOS_ASH)
68
++
69
++// Chrome OS ------------------------------------------------------------------
70
++
71
+ extern const char kAllowDisableMouseAccelerationName[];
72
+ extern const char kAllowDisableMouseAccelerationDescription[];
73
+
74
exclude_ymp.patch Added
12
 
1
@@ -0,0 +1,10 @@
2
+--- a/third_party/blink/common/mime_util/mime_util.cc  2013-08-25 10:12:05.428599992 +0200
3
++++ b/third_party/blink/common/mime_util/mime_util.cc  2013-08-25 10:12:05.428599992 +0200
4
+@@ -79,6 +79,7 @@
5
+     "text/x-csv",
6
+     "text/x-vcf",
7
+     "text/rtf",
8
++    "text/x-suse-ymp",
9
+     "text/comma-separated-values",
10
+     "text/csv",
11
+     "text/tab-separated-values",
12
fix_building_widevinecdm_with_chromium.patch Changed
37
 
1
@@ -1,27 +1,11 @@
2
-diff -urN chromium-67.0.3371.0.old/third_party/widevine/cdm/BUILD.gn chromium-67.0.3371.0/third_party/widevine/cdm/BUILD.gn
3
---- chromium-67.0.3371.0.old/third_party/widevine/cdm/BUILD.gn 2018-03-20 12:06:16.192778982 +0100
4
-+++ chromium-67.0.3371.0/third_party/widevine/cdm/BUILD.gn 2018-03-20 12:09:54.184846595 +0100
5
-@@ -10,12 +10,6 @@
6
- import("//media/media_options.gni")
7
- import("//third_party/widevine/cdm/widevine.gni")
8
- 
9
--# Internal Cast builds set enable_widevine=true to bring in Widevine support.
10
--# TODO(xhwang): Support component updated CDM on other platforms and remove this
11
--# assert.
12
--assert(!enable_widevine || is_win || is_mac || is_chromecast,
13
--       "Component updated CDM only supported on Windows and Mac for now.")
14
--
15
- widevine_arch = current_cpu
16
- if (widevine_arch == "x86") {
17
-   widevine_arch = "ia32"
18
-diff -urN chromium-67.0.3371.0.old/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-67.0.3371.0/third_party/widevine/cdm/stub/widevine_cdm_version.h
19
---- chromium-67.0.3371.0.old/third_party/widevine/cdm/stub/widevine_cdm_version.h  2018-03-20 12:06:16.192778982 +0100
20
-+++ chromium-67.0.3371.0/third_party/widevine/cdm/stub/widevine_cdm_version.h  2018-03-20 12:08:24.415172133 +0100
21
-@@ -10,6 +10,7 @@
22
- 
23
- #include "third_party/widevine/cdm/widevine_cdm_common.h"
24
- 
25
+Index: chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h
26
+===================================================================
27
+--- chromium-79.0.3941.4.orig/third_party/widevine/cdm/widevine_cdm_version.h
28
++++ chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h
29
+@@ -11,5 +11,6 @@
30
+ // If the Widevine CDM is available define the following:
31
+ //  - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
32
+ //    as a string, e.g., "1.0.123.456").
33
 +#define WIDEVINE_CDM_VERSION_STRING "unknown"
34
- #define WIDEVINE_CDM_AVAILABLE
35
  
36
  #endif  // WIDEVINE_CDM_VERSION_H_
37
gcc-enable-lto.patch Added
57
 
1
@@ -0,0 +1,55 @@
2
+Index: chromium-85.0.4183.69/build/config/BUILDCONFIG.gn
3
+===================================================================
4
+--- chromium-85.0.4183.69.orig/build/config/BUILDCONFIG.gn
5
++++ chromium-85.0.4183.69/build/config/BUILDCONFIG.gn
6
+@@ -130,6 +130,8 @@ declare_args() {
7
+   # separate flags.
8
+   is_official_build = false
9
+ 
10
++  gcc_lto = false
11
++
12
+   # Set to true when compiling with the Clang compiler.
13
+   is_clang = current_os != "linux" ||
14
+              (current_cpu != "s390x" && current_cpu != "s390" &&
15
+@@ -441,6 +443,12 @@ default_compiler_configs = [
16
+   "//build/config/sanitizers:default_sanitizer_flags",
17
+ ]
18
+ 
19
++if (gcc_lto) {
20
++  default_compiler_configs += [
21
++    "//build/config/compiler:gcc_lto",
22
++  ]
23
++}
24
++
25
+ if (is_win) {
26
+   default_compiler_configs += [
27
+     "//build/config/win:default_cfg_compiler",
28
+Index: chromium-85.0.4183.69/build/config/compiler/BUILD.gn
29
+===================================================================
30
+--- chromium-85.0.4183.69.orig/build/config/compiler/BUILD.gn
31
++++ chromium-85.0.4183.69/build/config/compiler/BUILD.gn
32
+@@ -1947,6 +1947,10 @@ if (is_win) {
33
+   }
34
+ }
35
+ 
36
++config("gcc_lto") {
37
++  cflags = [ "-flto" ]
38
++}
39
++
40
+ config("default_stack_frames") {
41
+   if (is_posix || is_fuchsia) {
42
+     if (enable_frame_pointers) {
43
+Index: chromium-85.0.4183.69/sandbox/linux/BUILD.gn
44
+===================================================================
45
+--- chromium-85.0.4183.69.orig/sandbox/linux/BUILD.gn
46
++++ chromium-85.0.4183.69/sandbox/linux/BUILD.gn
47
+@@ -250,6 +250,9 @@ component("seccomp_bpf") {
48
+     "//build:chromeos_buildflags",
49
+     "//sandbox:sandbox_buildflags",
50
+   ]
51
++  if (gcc_lto) {
52
++    configs -= [ "//build/config/compiler:gcc_lto" ]
53
++  }
54
+ 
55
+   if (is_android) {
56
+     sources += [
57
no-location-leap151.patch Added
28
 
1
@@ -0,0 +1,26 @@
2
+Index: chromium-86.0.4240.75/base/location.h
3
+===================================================================
4
+--- chromium-86.0.4240.75.orig/base/location.h
5
++++ chromium-86.0.4240.75/base/location.h
6
+@@ -23,7 +23,7 @@ namespace base {
7
+ #define SUPPORTS_LOCATION_BUILTINS                                       \
8
+   (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \
9
+    __has_builtin(__builtin_LINE))
10
+-#elif defined(COMPILER_GCC) && __GNUC__ >= 7
11
++#elif defined(COMPILER_GCC) && __GNUC__ >= 10
12
+ // GCC has supported these for a long time, but they point at the function
13
+ // declaration in the case of default arguments, rather than at the call site.
14
+ #define SUPPORTS_LOCATION_BUILTINS 1
15
+Index: chromium-86.0.4240.75/base/location.cc
16
+===================================================================
17
+--- chromium-86.0.4240.75.orig/base/location.cc
18
++++ chromium-86.0.4240.75/base/location.cc
19
+@@ -92,7 +92,7 @@ NOINLINE Location Location::Current(cons
20
+ #else
21
+ // static
22
+ NOINLINE Location Location::Current() {
23
+-  return Location(nullptr, RETURN_ADDRESS());
24
++  return Location("[unknown file]", RETURN_ADDRESS());
25
+ }
26
+ #endif
27
+ 
28
system-libdrm.patch Added
15
 
1
@@ -0,0 +1,13 @@
2
+--- a/build/linux/unbundle/libdrm.gn
3
++++ b/build/linux/unbundle/libdrm.gn
4
+@@ -12,6 +12,9 @@
5
+ shim_headers("libdrm_shim") {
6
+   root_path = "src/include"
7
+-  headers = [ "drm.h" ]
8
++  headers = [
9
++    "drm.h",
10
++    "drm_fourcc.h",
11
++  ]
12
+ }
13
+
14
+ source_set("libdrm") {
15
BUILD.gn Deleted
21
 
1
@@ -1,19 +0,0 @@
2
-import("//build/toolchain/gcc_toolchain.gni")
3
-
4
-gcc_toolchain("default") {
5
-  cc = getenv("CC")
6
-  cxx = getenv("CXX")
7
-  ar = "ar"
8
-  nm = "nm"
9
-  ld = cxx
10
-
11
-  extra_cflags = getenv("CFLAGS")
12
-  extra_cppflags = getenv("CPPFLAGS")
13
-  extra_cxxflags = getenv("CXXFLAGS")
14
-  extra_ldflags = getenv("LDFLAGS")
15
-
16
-  toolchain_args = {
17
-    current_cpu = current_cpu
18
-    current_os = current_os
19
-  }
20
-}
21
INSTALL.sh Added
151
 
1
@@ -0,0 +1,149 @@
2
+#!/bin/bash
3
+set -x
4
+while getopts s:l:i: option
5
+do
6
+case "${option}" in
7
+s) STAGEDIR=${OPTARG};;
8
+l) LIBDIR=${OPTARG};;
9
+i) ICUDATAFILE=${OPTARG};;
10
+esac
11
+done
12
+OUTPUTDIR="out/Release"
13
+SHLIB_PERMS="755"
14
+PROGNAME="chrome"
15
+PACKAGE="chromium-browser"
16
+MENUNAME="Chromium Web Browser"
17
+CHANNEL="stable"
18
+INSTALLDIR="${LIBDIR}/chromium"
19
+
20
+install -m 755 -d \
21
+    "${STAGEDIR}/${INSTALLDIR}" \
22
+    "${STAGEDIR}/usr/bin" \
23
+    "${STAGEDIR}/usr/share/applications" \
24
+    "${STAGEDIR}/usr/share/metainfo" \
25
+    "${STAGEDIR}/usr/share/man/man1"
26
+
27
+# app
28
+buildfile="${OUTPUTDIR}/${PROGNAME}"
29
+install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${PROGNAME}"
30
+
31
+# crashpad
32
+buildfile="${OUTPUTDIR}/crashpad_handler"
33
+install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/crashpad_handler"
34
+
35
+# resources
36
+install -m 644 "${OUTPUTDIR}/resources.pak" "${STAGEDIR}/${INSTALLDIR}/"
37
+install -m 644 "${OUTPUTDIR}/chrome_100_percent.pak" "${STAGEDIR}/${INSTALLDIR}/"
38
+install -m 644 "${OUTPUTDIR}/chrome_200_percent.pak" "${STAGEDIR}/${INSTALLDIR}/"
39
+
40
+# ICU data file; Necessary when the GN icu_use_data_file flag is true.
41
+if [ "x$ICUDATAFILE" == "xtrue" ]; then
42
+    install -m 644 "${OUTPUTDIR}/icudtl.dat" "${STAGEDIR}/${INSTALLDIR}/"
43
+fi
44
+
45
+# V8 snapshot files; Necessary when the GN v8_use_external_startup_data flag
46
+  # is true.
47
+  # Use v8_context_snapshot.bin instead of snapshot_blob.bin if it is available.
48
+  # TODO(crbug.com/764576): Unship snapshot_blob.bin on ChromeOS and drop this branch
49
+install -m 644 "${OUTPUTDIR}/v8_context_snapshot.bin" "${STAGEDIR}/${INSTALLDIR}/"
50
+
51
+# l10n paks
52
+install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/locales/"
53
+find "${OUTPUTDIR}/locales" -type f -name '*.pak' -print -exec \
54
+    cp -a {} "${STAGEDIR}/${INSTALLDIR}/locales/" \;
55
+find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -print -exec chmod 644 {} \;
56
+
57
+# MEI Preload
58
+if [ -f "${OUTPUTDIR}/MEIPreload/manifest.json" ]; then
59
+    install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
60
+    install -m 644 "${OUTPUTDIR}/MEIPreload/manifest.json" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
61
+    install -m 644 "${OUTPUTDIR}/MEIPreload/preloaded_data.pb" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
62
+fi
63
+
64
+# ANGLE
65
+if [ -f "${OUTPUTDIR}/libEGL.so" ]; then
66
+    for file in libEGL.so libGLESv2.so;
67
+    do
68
+        buildfile="${OUTPUTDIR}/${file}"
69
+        install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
70
+    done
71
+fi
72
+
73
+# ANGLE's libvulkan library
74
+if [ -f "${OUTPUTDIR}/libvulkan.so.1" ]; then
75
+    file="libvulkan.so.1"
76
+    buildfile="${OUTPUTDIR}/${file}"
77
+    install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
78
+fi
79
+
80
+# SwiftShader ES
81
+if [ -f "${OUTPUTDIR}/swiftshader/libEGL.so" ]; then
82
+    install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/swiftshader/"
83
+    for file in libEGL.so libGLESv2.so;
84
+    do
85
+        buildfile="${OUTPUTDIR}/swiftshader/${file}"
86
+        install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/swiftshader/${file}"
87
+    done
88
+fi
89
+
90
+# SwiftShader VK
91
+if [ -f "${OUTPUTDIR}/libvk_swiftshader.so" ]; then
92
+    install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/"
93
+    file="libvk_swiftshader.so"
94
+    buildfile="${OUTPUTDIR}/${file}"
95
+    install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
96
+fi
97
+if [ -f "${OUTPUTDIR}/vk_swiftshader_icd.json" ]; then
98
+# Install the ICD json file to point ANGLE to libvk_swiftshader.so
99
+    install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/"
100
+fi
101
+
102
+# default apps
103
+if [ -d "${OUTPUTDIR}/default_apps" ]; then
104
+    cp -a "${OUTPUTDIR}/default_apps" "${STAGEDIR}/${INSTALLDIR}/"
105
+    find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type d -exec chmod 755 '{}' \;
106
+    find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type f -exec chmod 644 '{}' \;
107
+fi
108
+
109
+# launcher script and symlink
110
+sed \
111
+    -e "s#@@PROGNAME@@#${PROGNAME}#g" \
112
+    -e "s#@@CHANNEL@@#${CHANNEL}#g" \
113
+    "chrome/installer/linux/common/wrapper" > "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper"
114
+chmod 755 "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper"
115
+ln -s "${INSTALLDIR}/chrome-wrapper" "${STAGEDIR}/usr/bin/${PACKAGE}" 
116
+
117
+# app icons
118
+for size in 16 32;
119
+do
120
+    icon="chrome/app/theme/default_100_percent/chromium/product_logo_${size}.png"
121
+    installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png"
122
+    install -D -m 644 ${icon} ${installpath}
123
+done
124
+for size in 24 48 64 128 256;
125
+do
126
+    icon="chrome/app/theme/chromium/product_logo_${size}.png"
127
+    installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png"
128
+    install -D -m 644 ${icon} ${installpath}
129
+done
130
+
131
+# desktop integration
132
+## AppData
133
+install -m 644 "chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml" \
134
+"${STAGEDIR}/usr/share/metainfo/${PACKAGE}.appdata.xml"
135
+
136
+## Desktop file
137
+sed \
138
+    -e "s#@@MENUNAME@@#${MENUNAME}#g" \
139
+    -e "s#@@USR_BIN_SYMLINK_NAME@@#${PACKAGE}#g" \
140
+    -e "s#@@PACKAGE@@#${PACKAGE}#g" \
141
+    "chrome/installer/linux/common/desktop.template" > "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop"
142
+chmod 644 "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop"
143
+
144
+# documentation
145
+sed \
146
+    -e "s#@@MENUNAME@@#${MENUNAME}#g" \
147
+    -e "s#@@PACKAGE@@#${PACKAGE}#g" \
148
+    "chrome/app/resources/manpage.1.in" > "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1"
149
+gzip -9n "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1"
150
+chmod 644 "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1.gz"
151
README.SUSE Added
10
 
1
@@ -0,0 +1,8 @@
2
+README for SUSE packagers
3
+=========================
4
+Patches for chromium can typically be found in the following places:
5
+
6
+Stephan Hartmann - https://github.com/stha09/chromium-patches/releases
7
+Gentoo - https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files
8
+Fedora - https://src.fedoraproject.org/rpms/chromium/tree/rawhide
9
+Arch - https://github.com/archlinux/svntogit-packages/tree/packages/chromium/trunk
10
_constraints Changed
31
 
1
@@ -2,10 +2,25 @@
2
 <constraints>
3
   <hardware>
4
     <disk>
5
-      <size unit="G">6</size>
6
+      <size unit="G">16</size>
7
     </disk>
8
-    <memory>
9
-      <size unit="G">2</size>
10
-    </memory>
11
+    <physicalmemory>
12
+      <size unit="G">4</size>
13
+    </physicalmemory>
14
   </hardware>
15
+  <overwrite>
16
+    <conditions>
17
+      <arch>x86_64</arch>
18
+    </conditions>
19
+    <hardware>
20
+      <memory>
21
+        <size unit="G">4</size>
22
+      </memory>
23
+    </hardware>
24
+  </overwrite>
25
+  <overwrite>
26
+    <conditions>
27
+      <arch>aarch64</arch>
28
+    </conditions>
29
+  </overwrite>
30
 </constraints>
31
chromium-69.0.3497.100.tar.xz -> chromium-93.0.4577.82.tar.xz Changed
chromium-symbolic.svg Added
10
 
1
@@ -0,0 +1,8 @@
2
+<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
3
+ <g transform="translate(0 -292.77)" fill-rule="evenodd">
4
+  <path transform="translate(0 292.77)" d="m8 0c-2.9688 0-5.5431 1.6049-6.9238 3.9941l3.4629 5.998 0.0058594-0.0039063c-0.33743-0.587-0.54492-1.2599-0.54492-1.9883 0-2.216 1.784-4 4-4h6.918l0.007812-0.0039062c-1.3803-2.3906-3.956-3.9961-6.9258-3.9961zm-6.9238 3.9941c-0.16618 0.28757-0.31369 0.58593-0.44336 0.89453 0.12852-0.30638 0.27614-0.60523 0.44336-0.89453zm-0.81445 2.002c-0.063348 0.24696-0.11637 0.49818-0.15625 0.75391 0.040321-0.25396 0.09178-0.50523 0.15625-0.75391zm-0.19336 1.002c-0.031547 0.25414-0.049317 0.51231-0.056641 0.77344 0.0074787-0.25874 0.024224-0.51758 0.056641-0.77344zm-0.066406 0.96289c-6.3137e-5 0.013175-0.0019531 0.025872-0.0019531 0.039062 0 0.31231 0.022151 0.61909 0.056641 0.92188-0.037536-0.3208-0.05629-0.64074-0.054688-0.96094zm0.076172 1.1016c0.038415 0.29125 0.093448 0.5771 0.16211 0.85742-0.070883-0.28406-0.12335-0.57082-0.16211-0.85742zm0.19727 0.99805c0.091086 0.3385 0.20625 0.67364 0.34375 1.0039-0.13429-0.32476-0.25247-0.65856-0.34375-1.0039zm0.34375 1.0039c0.093646 0.22647 0.20902 0.4391 0.32227 0.6543-0.11418-0.21652-0.22997-0.43262-0.32227-0.6543zm0.32227 0.6543c0.047723 0.090496 0.083121 0.18399 0.13477 0.27344 0.0068955 0.011943 0.016491 0.021308 0.023438 0.033203-0.057828-0.099177-0.10459-0.20477-0.1582-0.30664zm0.1582 0.30664c0.18369 0.31503 0.38946 0.61488 0.61328 0.90039-0.22081-0.2833-0.42705-0.5815-0.61328-0.90039zm0.67383 0.98828c0.24745 0.30711 0.51472 0.59779 0.80469 0.86523-0.286-0.26475-0.5556-0.55416-0.80469-0.86523zm1.4141 1.373c0.19915 0.15005 0.40407 0.29066 0.61719 0.42188-0.21156-0.1305-0.41738-0.27099-0.61719-0.42188zm0.64844 0.44141c0.20201 0.12309 0.40966 0.23664 0.62305 0.3418-0.21134-0.10449-0.42088-0.21838-0.62305-0.3418zm0.71484 0.38672c0.19014 0.090687 0.38386 0.17422 0.58203 0.25-0.1972-0.075792-0.39101-0.15859-0.58203-0.25zm0.74609 0.30859c0.18385 0.065711 0.36872 0.12728 0.55859 0.17969-0.18849-0.052523-0.37433-0.11344-0.55859-0.17969zm0.75586 0.23047c0.17137 0.042615 0.34392 0.081857 0.51953 0.11328-0.1743-0.031708-0.34783-0.070112-0.51953-0.11328zm0.84375 0.16211c0.14048 0.019266 0.28107 0.038852 0.42383 0.050781-0.1422-0.012166-0.28272-0.031057-0.42383-0.050781zm0.85156 0.072265c0.084408 0.00261 0.16689 0.011719 0.25195 0.011719v-0.007812c-0.084073-4e-6 -0.16806-0.001251-0.25195-0.003907z"/>
5
+  <path transform="translate(0 292.77)" d="m8.2051-0.0039062c-0.067876-0.0018334-0.13533 0.0040042-0.20312 0.0039062 0.36876 8.8644e-5 0.73088 0.02619 1.0859 0.074219-0.29424-0.041037-0.58844-0.070174-0.88281-0.078125zm-0.21289 0.0039062c-0.26615-5.8021e-5 -0.53129 0.014666-0.79492 0.041016 0.26143-0.025824 0.52654-0.040759 0.79492-0.041016zm-0.85156 0.046875c-0.23605 0.025293-0.47073 0.061354-0.70312 0.10742 0.23076-0.045338 0.46557-0.082259 0.70312-0.10742zm1.9727 0.03125c0.29658 0.042337 0.59114 0.10493 0.88477 0.18164-0.28938-0.074218-0.58339-0.13988-0.88477-0.18164zm-2.8145 0.10547c-0.20793 0.045059-0.41353 0.096739-0.61719 0.1582 0.20238-0.060783 0.4083-0.11329 0.61719-0.1582zm4.0117 0.16406c0.17588 0.052879 0.34712 0.11527 0.51758 0.17969-0.17171-0.065602-0.3437-0.12659-0.51758-0.17969zm-4.7949 0.048828c-0.18254 0.059478-0.363 0.12276-0.54102 0.19531 0.17733-0.072143 0.35752-0.13576 0.54102-0.19531zm-0.75195 0.28711c-0.16297 0.071956-0.32421 0.14754-0.48242 0.23047 0.15724-0.082363 0.31917-0.15847 0.48242-0.23047zm6.4824 0.0078125c0.11114 0.049754 0.22028 0.11078 0.33008 0.16602-0.11024-0.055265-0.21697-0.11578-0.33008-0.16602zm-7.1875 0.3457c-0.15224 0.086105-0.30238 0.17512-0.44922 0.27148 0.14627-0.09592 0.29643-0.18512 0.44922-0.27148zm8.332 0.29102c0.12847 0.084776 0.25775 0.1679 0.38086 0.25977-0.12261-0.090957-0.2518-0.17494-0.38086-0.25977zm-8.9746 0.11328c-0.14122 0.098764-0.2788 0.20216-0.41406 0.31055 0.13477-0.10781 0.27232-0.21151 0.41406-0.31055zm9.6836 0.4082c0.14161 0.11775 0.281 0.2381 0.41406 0.36523-0.13289-0.12624-0.27123-0.24721-0.41406-0.36523zm-10.328 0.095703c-0.10925 0.094548-0.21767 0.18998-0.32227 0.29102 0.10418-0.10034 0.21274-0.19643 0.32227-0.29102zm11.002 0.52539c0.18123 0.18967 0.35359 0.38691 0.51562 0.59375-0.16146-0.20541-0.33262-0.40324-0.51562-0.59375zm-11.592 0.039062c-0.087652 0.093206-0.17413 0.18711-0.25781 0.28516 0.083362-0.097301 0.16992-0.19202 0.25781-0.28516zm-0.5332 0.62891c-0.066279 0.086893-0.13213 0.17344-0.19531 0.26367 0.062985-0.089711 0.12878-0.17674 0.19531-0.26367zm12.717 0.015625c0.19435 0.25492 0.36841 0.52294 0.5293 0.79688-0.16178-0.27581-0.3368-0.54357-0.5293-0.79688zm-13.176 0.6543c-0.040114 0.065194-0.086473 0.12468-0.125 0.19141l0.0058594 0.0039062c0.038163-0.06626 0.07915-0.13028 0.11914-0.19531zm6.8105 0.19141c2.216 0 4 1.784 4 4 0 0.73147-0.2087 1.4074-0.54883 1.9961l0.005859 0.0039062-0.13867 0.24023-3.3184 5.75v0.009766c2.7599-0.001023 5.4372-1.4285 6.9219-4 1.4856-2.5731 1.3819-5.6088 0-8h-6.9219z" opacity=".55"/>
6
+  <path transform="translate(0 292.77)" d="m7.9922 0c-0.26839 2e-4 -0.53349 0.015216-0.79492 0.041016 0.26363-0.0263 0.52877-0.041076 0.79492-0.041016zm-0.85156 0.046875c-0.23755 0.02512-0.47236 0.062122-0.70312 0.10742 0.2324-0.04602 0.46708-0.082122 0.70312-0.10742zm-0.8418 0.13672c-0.20888 0.04491-0.41481 0.097403-0.61719 0.1582 0.20366-0.0615 0.40926-0.1131 0.61719-0.1582zm4.0117 0.16406c0.17388 0.0531 0.34587 0.11409 0.51758 0.17969-0.17045-0.06442-0.3417-0.12679-0.51758-0.17969zm-4.7949 0.048828c-0.18349 0.05955-0.36369 0.12321-0.54102 0.19531 0.17802-0.07256 0.35848-0.13581 0.54102-0.19531zm-0.75195 0.28711c-0.16325 0.07199-0.32518 0.14807-0.48242 0.23047 0.15821-0.08294 0.31945-0.15847 0.48242-0.23047zm-0.70508 0.35352c-0.15279 0.08637-0.30295 0.17558-0.44922 0.27148 0.14684-0.09637 0.29698-0.18538 0.44922-0.27148zm8.332 0.29102c0.12906 0.08482 0.25825 0.16877 0.38086 0.25977-0.12311-0.09186-0.25239-0.17497-0.38086-0.25977zm-8.9746 0.11328c-0.14174 0.09904-0.2793 0.20274-0.41406 0.31055 0.13527-0.10839 0.27284-0.21175 0.41406-0.31055zm9.6836 0.4082c0.14284 0.11803 0.28117 0.23899 0.41406 0.36523-0.13307-0.12714-0.27246-0.24748-0.41406-0.36523zm-10.328 0.095703c-0.10952 0.09459-0.21808 0.19069-0.32227 0.29102 0.1046-0.10103 0.21302-0.19652 0.32227-0.29102zm11.002 0.52539c0.18301 0.1905 0.35417 0.38834 0.51562 0.59375-0.16203-0.20684-0.3344-0.40409-0.51562-0.59375zm-11.592 0.039062c-0.08789 0.09314-0.17445 0.18786-0.25781 0.28516 0.083679-0.09804 0.17016-0.19196 0.25781-0.28516zm-0.5332 0.62891c-0.066533 0.08694-0.13233 0.17397-0.19531 0.26367 0.063183-0.09023 0.12903-0.17677 0.19531-0.26367zm13.283 0.85352-0.013672 0.0078125h0.003906c1.0361 1.7929 1.3524 3.9472 0.82031 5.998 0.51081-1.9573 0.28609-4.1064-0.81055-6.0059zm-13.855 0.0019531c-0.0019132 0.0032892-0.0039597 0.0064654-0.0058594 0.0097656-1.3768 2.3898-1.4778 5.4185 0.0058594 7.9883 1.4849 2.572 4.1633 3.9999 6.9238 4v-0.001954l3.3184-5.75c-0.71742 1.0637-1.9334 1.7598-3.3184 1.7598-1.4877 0-2.7659-0.81274-3.4551-2.0117l-0.0058594 0.0039063-3.4629-5.998zm10.242 6.2461 0.13867-0.24023-0.005859-0.0039062c-0.046283 0.080108-0.081254 0.1677-0.13281 0.24414zm4.4238-0.23828c-0.17464 0.67175-0.44309 1.3319-0.80469 1.9648 0.3561-0.6189 0.62541-1.2792 0.80469-1.9648zm-0.80469 1.9648c-0.008878 0.01543-0.016406 0.031498-0.025391 0.046875 0.002853-0.004915 0.006923-0.008748 0.009766-0.013672 0.006215-0.010765 0.009465-0.022422 0.015625-0.033203zm-0.025391 0.046875c-0.16138 0.27807-0.34026 0.53954-0.5293 0.78906 0.19208-0.25377 0.37016-0.51671 0.5293-0.78906zm-0.5293 0.78906c-0.034882 0.046087-0.07147 0.09131-0.10742 0.13672 0.036023-0.045459 0.072258-0.090304 0.10742-0.13672zm-0.10742 0.13672c-0.19263 0.24309-0.39299 0.47669-0.60742 0.69336 0.21926-0.21926 0.4175-0.45347 0.60742-0.69336zm-0.75977 0.84375c-0.16802 0.16083-0.34574 0.30905-0.52539 0.45312 0.18255-0.14513 0.35845-0.29493 0.52539-0.45312zm-0.79492 0.66992c-0.19636 0.14387-0.40011 0.27399-0.60742 0.39844 0.20953-0.12546 0.41362-0.25756 0.60742-0.39844zm-1.1328 0.68164c-0.13759 0.069106-0.27496 0.1383-0.41602 0.19922 0.14014-0.060811 0.27798-0.12975 0.41602-0.19922zm-0.8125 0.35547c-0.17664 0.065328-0.35449 0.127-0.53516 0.17969 0.17969-0.052782 0.3577-0.11362 0.53516-0.17969zm-0.86914 0.27148c-0.23843 0.058475-0.47953 0.1042-0.72266 0.14062 0.2417-0.036415 0.48287-0.081371 0.72266-0.14062zm-0.90625 0.17383c-0.30489 0.038433-0.61309 0.055452-0.92188 0.058594 0.30718-0.003008 0.61446-0.019611 0.92188-0.058594z" opacity=".7"/>
7
+  <rect x="5" y="297.77" width="6" height="6" ry="3" opacity=".85"/>
8
+ </g>
9
+</svg>
10
highway-0.12.2.tar.gz Added
master_preferences Added
33
 
1
@@ -0,0 +1,31 @@
2
+{
3
+  "distribution": {
4
+     "skip_first_run_ui": true,
5
+     "alternate_shortcut_text": false,
6
+     "oem_bubble": true,
7
+     "chrome_shortcut_icon_index": 0,
8
+     "create_all_shortcuts": true,
9
+     "show_welcome_page": true,
10
+     "make_chrome_default": false,
11
+     "make_chrome_default_for_user": false,
12
+     "system_level": false,
13
+     "verbose_logging": false
14
+  },
15
+  "download": {
16
+     "extensions_to_open": "ymp"
17
+  },
18
+  "browser": {
19
+     "show_home_button": true,
20
+     "check_default_browser": false,
21
+     "custom_chrome_frame": true
22
+  },
23
+  "bookmark_bar": {
24
+     "show_on_all_tabs": true
25
+  },
26
+  "first_run_tabs": [
27
+     "https://search.opensuse.org/",
28
+     "https://www.google.com/chrome/"
29
+  ],
30
+  "homepage": "https://search.opensuse.org/",
31
+  "homepage_is_newtabpage": false
32
+}
33