Changes of Revision 21

chromium-ffmpeg-extra.changes Changed
x
 
1
@@ -1,4 +1,323 @@
2
 -------------------------------------------------------------------
3
+Sun Apr 24 05:23:26 UTC 2022 - Carsten Ziepke <kieltux@gmail.com>
4
+
5
+- Rebase chromium 100.0.4896.127 for use as chromium-ffmpeg-extra
6
+
7
+-------------------------------------------------------------------
8
+Fri Apr 15 07:29:35 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
9
+
10
+- Chromium 100.0.4896.127 (boo#1198509)
11
+  * CVE-2022-1364: Type Confusion in V8
12
+  * Various fixes from internal audits, fuzzing and other initiatives
13
+
14
+-------------------------------------------------------------------
15
+Tue Apr 12 05:02:45 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
16
+
17
+- Chromium 100.0.4896.88 (boo#1198361)
18
+  * CVE-2022-1305: Use after free in storage
19
+  * CVE-2022-1306: Inappropriate implementation in compositing
20
+  * CVE-2022-1307: Inappropriate implementation in full screen
21
+  * CVE-2022-1308: Use after free in BFCache
22
+  * CVE-2022-1309: Insufficient policy enforcement in developer tools
23
+  * CVE-2022-1310: Use after free in regular expressions
24
+  * CVE-2022-1311: Use after free in Chrome OS shell
25
+  * CVE-2022-1312: Use after free in storage
26
+  * CVE-2022-1313: Use after free in tab groups
27
+  * CVE-2022-1314: Type Confusion in V8
28
+  * Various fixes from internal audits, fuzzing and other initiatives
29
+
30
+-------------------------------------------------------------------
31
+Sun Apr 10 13:52:31 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
32
+
33
+- Patches for GCC 12:
34
+  * chromium-fix-swiftshader-template.patch
35
+  * chromium-missing-include-tuple.patch
36
+  * chromium-webrtc-stats-missing-vector.patch
37
+
38
+-------------------------------------------------------------------
39
+Tue Apr  5 02:11:03 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
40
+
41
+- Chromium 100.0.4896.75:
42
+  * CVE-2022-1232: Type Confusion in V8 (boo#1198053)
43
+
44
+-------------------------------------------------------------------
45
+Wed Mar 30 16:25:44 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
46
+
47
+- Chromium 100.0.4896.60 (boo#1197680)
48
+  * CVE-2022-1125: Use after free in Portals
49
+  * CVE-2022-1127: Use after free in QR Code Generator
50
+  * CVE-2022-1128: Inappropriate implementation in Web Share API
51
+  * CVE-2022-1129: Inappropriate implementation in Full Screen Mode
52
+  * CVE-2022-1130: Insufficient validation of untrusted input in WebOTP
53
+  * CVE-2022-1131: Use after free in Cast UI
54
+  * CVE-2022-1132: Inappropriate implementation in Virtual Keyboard
55
+  * CVE-2022-1133: Use after free in WebRTC
56
+  * CVE-2022-1134: Type Confusion in V8
57
+  * CVE-2022-1135: Use after free in Shopping Cart
58
+  * CVE-2022-1136: Use after free in Tab Strip
59
+  * CVE-2022-1137: Inappropriate implementation in Extensions
60
+  * CVE-2022-1138: Inappropriate implementation in Web Cursor
61
+  * CVE-2022-1139: Inappropriate implementation in Background Fetch API
62
+  * CVE-2022-1141: Use after free in File Manager
63
+  * CVE-2022-1142: Heap buffer overflow in WebUI
64
+  * CVE-2022-1143: Heap buffer overflow in WebUI
65
+  * CVE-2022-1144: Use after free in WebUI
66
+  * CVE-2022-1145: Use after free in Extensions
67
+  * CVE-2022-1146: Inappropriate implementation in Resource Timing
68
+- Added patches:
69
+  * chromium-100-compiler.patch
70
+  * chromium-100-GLImplementationParts-constexpr.patch
71
+  * chromium-100-InMilliseconds-constexpr.patch
72
+  * chromium-100-SCTHashdanceMetadata-move.patch
73
+  * chromium-100-macro-typo.patch
74
+- Removed patches:
75
+  * chromium-98-compiler.patch
76
+  * chromium-86-nearby-explicit.patch
77
+  * chromium-glibc-2.34.patch
78
+  * chromium-v8-missing-utility-include.patch
79
+  * chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch
80
+
81
+-------------------------------------------------------------------
82
+Tue Mar 29 09:23:28 UTC 2022 - Andreas Schwab <schwab@suse.de>
83
+
84
+- Update disk constraints
85
+
86
+-------------------------------------------------------------------
87
+Sat Mar 26 15:10:15 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
88
+
89
+- Chromium 99.0.4844.84:
90
+  * CVE-2022-1096: Type Confusion in V8 (boo#1197552)
91
+
92
+-------------------------------------------------------------------
93
+Mon Mar 21 05:07:25 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
94
+
95
+- Chromium 99.0.4844.82:
96
+  * Fix potential problem in Hangouts (boo#1197332)
97
+
98
+-------------------------------------------------------------------
99
+Wed Mar 16 09:36:49 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
100
+
101
+- Chromium 99.0.4844.74 (boo#1197163)
102
+  * CVE-2022-0971: Use after free in Blink Layout
103
+  * CVE-2022-0972: Use after free in Extensions
104
+  * CVE-2022-0973: Use after free in Safe Browsing
105
+  * CVE-2022-0974: Use after free in Splitscreen
106
+  * CVE-2022-0975: Use after free in ANGLE
107
+  * CVE-2022-0976: Heap buffer overflow in GPU
108
+  * CVE-2022-0977: Use after free in Browser UI
109
+  * CVE-2022-0978: Use after free in ANGLE
110
+  * CVE-2022-0979: Use after free in Safe Browsing
111
+  * CVE-2022-0980: Use after free in New Tab Page
112
+  * Various fixes from internal audits, fuzzing and other initiatives
113
+
114
+-------------------------------------------------------------------
115
+Fri Mar  4 10:46:36 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
116
+
117
+- Chromium 99.0.4844.51 (boo#1196641)
118
+  * CVE-2022-0789: Heap buffer overflow in ANGLE
119
+  * CVE-2022-0790: Use after free in Cast UI
120
+  * CVE-2022-0791: Use after free in Omnibox
121
+  * CVE-2022-0792: Out of bounds read in ANGLE
122
+  * CVE-2022-0793: Use after free in Views
123
+  * CVE-2022-0794: Use after free in WebShare
124
+  * CVE-2022-0795: Type Confusion in Blink Layout
125
+  * CVE-2022-0796: Use after free in Media
126
+  * CVE-2022-0797: Out of bounds memory access in Mojo
127
+  * CVE-2022-0798: Use after free in MediaStream
128
+  * CVE-2022-0799: Insufficient policy enforcement in Installer
129
+  * CVE-2022-0800: Heap buffer overflow in Cast UI
130
+  * CVE-2022-0801: Inappropriate implementation in HTML parser
131
+  * CVE-2022-0802: Inappropriate implementation in Full screen mode
132
+  * CVE-2022-0803: Inappropriate implementation in Permissions
133
+  * CVE-2022-0804: Inappropriate implementation in Full screen mode
134
+  * CVE-2022-0805: Use after free in Browser Switcher
135
+  * CVE-2022-0806: Data leak in Canvas
136
+  * CVE-2022-0807: Inappropriate implementation in Autofill
137
+  * CVE-2022-0808: Use after free in Chrome OS Shell
138
+  * CVE-2022-0809: Out of bounds memory access in WebXR
139
+- Removed patches:
140
+  * chromium-96-EnumTable-crash.patch
141
+  * chromium-89-missing-cstring-header.patch
142
+  * chromium-95-libyuv-aarch64.patch
143
+  * chromium-95-libyuv-arm.patch
144
+  * chromium-98-MiraclePtr-gcc-ice.patch
145
+  * chromium-98-WaylandFrameManager-check.patch
146
+- Added patches:
147
+  * chromium-97-arm-tflite-cast.patch
148
+  * chromium-98-gtk4-build.patch
149
+  * chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch
150
+  * chromium-98-EnumTable-crash.patch
151
+  * chromium-third_party-symbolize-missing-include.patch
152
+  * chromium-v8-missing-utility-include.patch
153
+
154
+-------------------------------------------------------------------
155
+Tue Feb 15 19:13:43 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
156
+
157
+- Chromium 98.0.4758.102 (boo#1195986)
158
+  * CVE-2022-0603: Use after free in File Manager
159
+  * CVE-2022-0604: Heap buffer overflow in Tab Groups
160
+  * CVE-2022-0605: Use after free in Webstore API
161
+  * CVE-2022-0606: Use after free in ANGLE
162
+  * CVE-2022-0607: Use after free in GPU
163
+  * CVE-2022-0608: Integer overflow in Mojo
164
+  * CVE-2022-0609: Use after free in Animation
165
+  * CVE-2022-0610: Inappropriate implementation in Gamepad API
166
+  * Various fixes from internal audits, fuzzing and other initiatives
167
+
168
+-------------------------------------------------------------------
169
+Thu Feb  3 19:35:46 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
170
+
171
+- Chromium 98.0.4758.80 (boo#1195420)
172
+  * CVE-2022-0452: Use after free in Safe Browsing
173
+  * CVE-2022-0453: Use after free in Reader Mode
174
+  * CVE-2022-0454: Heap buffer overflow in ANGLE
175
+  * CVE-2022-0455: Inappropriate implementation in Full Screen Mode
176
+  * CVE-2022-0456: Use after free in Web Search
177
+  * CVE-2022-0457: Type Confusion in V8
178
+  * CVE-2022-0459: Use after free in Screen Capture
179
+  * CVE-2022-0460: Use after free in Window Dialog
180
+  * CVE-2022-0461: Policy bypass in COOP
181
+  * CVE-2022-0462: Inappropriate implementation in Scroll
182
+  * CVE-2022-0463: Use after free in Accessibility
183
+  * CVE-2022-0464: Use after free in Accessibility
184
+  * CVE-2022-0465: Use after free in Extensions
185
+  * CVE-2022-0466: Inappropriate implementation in Extensions Platform
186
+  * CVE-2022-0467: Inappropriate implementation in Pointer Lock
187
+  * CVE-2022-0468: Use after free in Payments
188
+  * CVE-2022-0469: Use after free in Cast
189
+  * CVE-2022-0470: Out of bounds memory access in V8
190
+  * Various fixes from internal audits, fuzzing and other initiatives
191
+- drop upstreamed patches:
192
+  * chromium-97-Point-constexpr.patch
193
+- add patches:
194
+  * chromium-98-MiraclePtr-gcc-ice.patch
195
+  * chromium-98-WaylandFrameManager-check.patch
196
+- change chromium-97-compiler.patch to chromium-98-compiler.patch
197
+
198
+-------------------------------------------------------------------
199
+Fri Jan 21 06:43:25 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
200
+
201
chromium-ffmpeg-extra.spec Changed
201
 
1
@@ -1,7 +1,7 @@
2
 #
3
 # spec file for package chromium-ffmpeg-extra
4
 #
5
-# Copyright (c) 2021 SUSE LLC
6
+# Copyright (c) 2022 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
@@ -17,15 +17,13 @@
11
 
12
 
13
 %define rname chromium
14
-%define outputdir ${TMPOUT}
15
+%define outputdir out
16
 # bsc#1108175
17
 %define __provides_exclude ^lib.*\\.so.*$
18
-%if 0%{?suse_version} >= 1550
19
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
20
 %bcond_without system_icu
21
-%bcond_with system_vpx
22
 %else
23
 %bcond_with system_icu
24
-%bcond_with system_vpx
25
 %endif
26
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
27
 %bcond_without pipewire
28
@@ -33,33 +31,38 @@
29
 %bcond_with pipewire
30
 %endif
31
 %bcond_without system_zlib
32
-%bcond_with system_freetype
33
-%ifarch %{arm} aarch64
34
+%bcond_with system_vpx
35
+%ifarch aarch64
36
 %bcond_with swiftshader
37
 %else
38
 %bcond_without swiftshader
39
 %endif
40
 %if 0%{?suse_version} >= 1550
41
 %bcond_without system_harfbuzz
42
+%bcond_without system_freetype
43
 %else
44
 %bcond_with system_harfbuzz
45
+%bcond_with system_freetype
46
 %endif
47
-%bcond_without lto
48
 %bcond_with clang
49
+# Chromium built with GCC 11 and LTO enabled crashes (boo#1194055)
50
+%bcond_with lto
51
 Name:           chromium-ffmpeg-extra
52
-Version:        96.0.4664.110
53
+Version:        100.0.4896.127
54
 Release:        0
55
 Summary:        Google's open source browser project
56
 License:        BSD-3-Clause AND LGPL-2.1-or-later
57
 URL:            https://www.chromium.org/
58
 Source0:        https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz
59
-Source1:        README.SUSE
60
+Source1:        esbuild.tar.gz
61
+Source3:        README.SUSE
62
 # Toolchain definitions
63
 Source30:       master_preferences
64
 Source104:      chromium-symbolic.svg
65
 # https://source.chromium.org/chromium/chromium/src/+/refs/tags/%%{version}:chrome/installer/linux/common/installer.include
66
 Source105:      INSTALL.sh
67
 #
68
+Source106:      chrome-wrapper
69
 Patch0:         chromium-libusb_interrupt_event_handler.patch
70
 # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download bnc#836059
71
 Patch1:         exclude_ymp.patch
72
@@ -80,34 +83,29 @@
73
 # gentoo/fedora/arch patchset
74
 Patch12:        chromium-78-protobuf-RepeatedPtrField-export.patch
75
 Patch13:        chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
76
-Patch15:        chromium-96-compiler.patch
77
+Patch15:        chromium-100-compiler.patch
78
 Patch17:        chromium-86-ImageMemoryBarrierData-init.patch
79
-Patch18:        chromium-86-nearby-explicit.patch
80
-Patch19:        chromium-86-nearby-include.patch
81
-Patch20:        chromium-86-f_seal.patch
82
 Patch21:        chromium-gcc11.patch
83
-Patch25:        chromium-90-fseal.patch
84
-Patch31:        chromium-89-missing-cstring-header.patch
85
 Patch40:        chromium-91-java-only-allowed-in-android-builds.patch
86
-Patch44:        chromium-95-libyuv-aarch64.patch
87
 Patch46:        chromium-91-sql-standard-layout-type.patch
88
 Patch50:        chromium-clang-nomerge.patch
89
-Patch51:        chromium-glibc-2.34.patch
90
 Patch62:        chromium-93-ffmpeg-4.4.patch
91
 Patch63:        chromium-ffmpeg-lp152.patch
92
 Patch65:        chromium-94-sql-no-assert.patch
93
 Patch69:        chromium-93-InkDropHost-crash.patch
94
 Patch72:        chromium-95-quiche-include.patch
95
-Patch73:        chromium-96-CommandLine-include.patch
96
-Patch74:        chromium-96-RestrictedCookieManager-tuple.patch
97
-Patch75:        chromium-96-DrmRenderNodePathFinder-include.patch
98
-Patch76:        chromium-96-CouponDB-include.patch
99
-# Google seem not too keen on merging this but GPU accel is quite important
100
-#  https://chromium-review.googlesource.com/c/chromium/src/+/532294
101
-#  https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches
102
-#  Recreated from scratch to be smaller and use system the orginal switches
103
-#  (default on) compared to the PR
104
-Patch100:       chromium-vaapi.patch
105
+Patch78:        chromium-98-EnumTable-crash.patch
106
+Patch80:        chromium-97-ScrollView-reference.patch
107
+Patch84:        chromium-third_party-symbolize-missing-include.patch
108
+Patch85:        chromium-fix-swiftshader-template.patch
109
+Patch86:        chromium-97-arm-tflite-cast.patch
110
+Patch87:        chromium-98-gtk4-build.patch
111
+Patch89:        chromium-100-GLImplementationParts-constexpr.patch
112
+Patch90:        chromium-100-InMilliseconds-constexpr.patch
113
+Patch91:        chromium-100-SCTHashdanceMetadata-move.patch
114
+Patch92:        chromium-100-macro-typo.patch
115
+Patch93:        chromium-missing-include-tuple.patch
116
+Patch94:        chromium-webrtc-stats-missing-vector.patch
117
 Patch101:       chromium-86-fix-vaapi-on-intel.patch
118
 # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding
119
 Patch102:       chromium-prop-codecs.patch
120
@@ -121,6 +119,7 @@
121
 BuildRequires:  gn >= 0.1807
122
 BuildRequires:  gperf
123
 BuildRequires:  hicolor-icon-theme
124
+BuildRequires:  golang(API)
125
 # Java used during build
126
 BuildRequires:  java-openjdk-headless
127
 BuildRequires:  libcap-devel
128
@@ -210,7 +209,7 @@
129
 BuildRequires:  pkgconfig(xext)
130
 BuildRequires:  pkgconfig(xfixes)
131
 BuildRequires:  pkgconfig(xi)
132
-BuildRequires:  pkgconfig(xkbcommon)
133
+BuildRequires:  pkgconfig(xkbcommon) >= 1.0.0
134
 BuildRequires:  pkgconfig(xrandr)
135
 BuildRequires:  pkgconfig(xrender)
136
 BuildRequires:  pkgconfig(xscrnsaver)
137
@@ -252,20 +251,23 @@
138
 BuildRequires:  lld12
139
 BuildRequires:  llvm12
140
 %else
141
+#!BuildIgnore:  gcc
142
 BuildRequires:  clang
143
+BuildRequires:  gcc10
144
+BuildRequires:  libstdc++6-devel-gcc10
145
 BuildRequires:  lld
146
 BuildRequires:  llvm
147
 %endif
148
 %endif
149
 %if %{without clang}
150
 BuildRequires:  binutils-gold
151
-#%if %{?suse_version} >= 1550
152
-#BuildRequires:  gcc
153
-#BuildRequires:  gcc-c++
154
-#%else
155
+%if %{?suse_version} >= 1550
156
+BuildRequires:  gcc
157
+BuildRequires:  gcc-c++
158
+%else
159
 BuildRequires:  gcc10
160
 BuildRequires:  gcc10-c++
161
-#%endif
162
+%endif
163
 %endif
164
 
165
 %description
166
@@ -277,8 +279,18 @@
167
 %autopatch -p1
168
 
169
 %build
170
-mktemp -d -t chromium-XXXXXXXXXX > temp.txt
171
-export TMPOUT=`cat temp.txt`
172
+# esbuild
173
+rm third_party/devtools-frontend/src/third_party/esbuild/esbuild
174
+tar -xf %{SOURCE1}
175
+pushd esbuild
176
+gflags="-mod=vendor"
177
+%if 0%{?suse_version} >= 1550
178
+gflags+=" -buildvcs=false"
179
+%endif
180
+GO_FLAGS="${gflags}" make
181
+cp -a esbuild ../third_party/devtools-frontend/src/third_party/esbuild/esbuild
182
+popd
183
+
184
 # Fix the path to nodejs binary
185
 mkdir -p third_party/node/linux/node-linux-x64/bin
186
 ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
187
@@ -292,6 +304,10 @@
188
 ln -sfn %{_bindir}/$PYTHON $HOME/bin/python
189
 export PATH="$HOME/bin/:$PATH"
190
 
191
+# use our wrapper (disabled)
192
+#rm chrome/installer/linux/common/wrapper
193
+#cp %{SOURCE106} chrome/installer/linux/common/wrapper
194
+
195
 # Remove bundled libs
196
 keeplibs=(
197
     base/third_party/cityhash
198
@@ -361,6 +377,7 @@
199
     third_party/depot_tools/third_party/six
200
     third_party/devscripts
201
chromium-100-GLImplementationParts-constexpr.patch Added
94
 
1
@@ -0,0 +1,92 @@
2
+From d32156fd3773330eca99e9cba5e18db57aaa1a53 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sat, 19 Feb 2022 10:14:24 +0000
5
+Subject: PATCH GCC: make GLImplementationParts constructors constexpr
6
+
7
+Fix build error in GCC, as the constexpr operator== requires its
8
+invocations to be also constexpr.
9
+---
10
+ ui/gl/gl_implementation.cc | 23 -----------------------
11
+ ui/gl/gl_implementation.h  | 25 +++++++++++++++++++++++--
12
+ 2 files changed, 23 insertions(+), 25 deletions(-)
13
+
14
+diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc
15
+index e4e5456..3e4a47c 100644
16
+--- a/ui/gl/gl_implementation.cc
17
++++ b/ui/gl/gl_implementation.cc
18
+@@ -26,29 +26,6 @@
19
+ 
20
+ namespace gl {
21
+ 
22
+-ANGLEImplementation MakeANGLEImplementation(
23
+-    const GLImplementation gl_impl,
24
+-    const ANGLEImplementation angle_impl) {
25
+-  if (gl_impl == kGLImplementationEGLANGLE) {
26
+-    if (angle_impl == ANGLEImplementation::kNone) {
27
+-      return ANGLEImplementation::kDefault;
28
+-    } else {
29
+-      return angle_impl;
30
+-    }
31
+-  } else {
32
+-    return ANGLEImplementation::kNone;
33
+-  }
34
+-}
35
+-
36
+-GLImplementationParts::GLImplementationParts(
37
+-    const ANGLEImplementation angle_impl)
38
+-    : gl(kGLImplementationEGLANGLE),
39
+-      angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {}
40
+-
41
+-GLImplementationParts::GLImplementationParts(const GLImplementation gl_impl)
42
+-    : gl(gl_impl),
43
+-      angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {}
44
+-
45
+ bool GLImplementationParts::IsValid() const {
46
+   if (angle == ANGLEImplementation::kNone) {
47
+     return (gl != kGLImplementationEGLANGLE);
48
+diff --git a/ui/gl/gl_implementation.h b/ui/gl/gl_implementation.h
49
+index 376ed58..a2513ea 100644
50
+--- a/ui/gl/gl_implementation.h
51
++++ b/ui/gl/gl_implementation.h
52
+@@ -59,8 +59,14 @@ enum class ANGLEImplementation {
53
+ };
54
+ 
55
+ struct GL_EXPORT GLImplementationParts {
56
+-  explicit GLImplementationParts(const ANGLEImplementation angle_impl);
57
+-  explicit GLImplementationParts(const GLImplementation gl_impl);
58
++  constexpr explicit GLImplementationParts(const ANGLEImplementation angle_impl)
59
++      : gl(kGLImplementationEGLANGLE),
60
++        angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {}
61
++
62
++  constexpr explicit GLImplementationParts(const GLImplementation gl_impl)
63
++      : gl(gl_impl),
64
++        angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {
65
++  }
66
+ 
67
+   GLImplementation gl = kGLImplementationNone;
68
+   ANGLEImplementation angle = ANGLEImplementation::kNone;
69
+@@ -80,6 +86,21 @@ struct GL_EXPORT GLImplementationParts {
70
+   bool IsValid() const;
71
+   bool IsAllowed(const std::vector<GLImplementationParts>& allowed_impls) const;
72
+   std::string ToString() const;
73
++
74
++ private:
75
++  constexpr ANGLEImplementation MakeANGLEImplementation(
76
++      const GLImplementation gl_impl,
77
++      const ANGLEImplementation angle_impl) {
78
++    if (gl_impl == kGLImplementationEGLANGLE) {
79
++      if (angle_impl == ANGLEImplementation::kNone) {
80
++        return ANGLEImplementation::kDefault;
81
++      } else {
82
++        return angle_impl;
83
++      }
84
++    } else {
85
++      return ANGLEImplementation::kNone;
86
++    }
87
++  }
88
+ };
89
+ 
90
+ struct GL_EXPORT GLWindowSystemBindingInfo {
91
+-- 
92
+2.34.1
93
+
94
chromium-100-InMilliseconds-constexpr.patch Added
99
 
1
@@ -0,0 +1,97 @@
2
+From da6e3f6071fdabeb96c0805626418414b4a4cea8 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Wed, 9 Feb 2022 17:56:21 +0000
5
+Subject: PATCH GCC: make base::InMilliseconds(F,RoundedUp) constexpr
6
+
7
+media::DecodeTimestamp uses it in several constexpr methods.
8
+---
9
+ base/time/time.cc | 24 ------------------------
10
+ base/time/time.h  | 30 +++++++++++++++++++++++++++---
11
+ 2 files changed, 27 insertions(+), 27 deletions(-)
12
+
13
+diff --git a/base/time/time.cc b/base/time/time.cc
14
+index 0de273e..e0acda2 100644
15
+--- a/base/time/time.cc
16
++++ b/base/time/time.cc
17
+@@ -74,30 +74,6 @@ int TimeDelta::InDaysFloored() const {
18
+                       : std::numeric_limits<int>::max();
19
+ }
20
+ 
21
+-double TimeDelta::InMillisecondsF() const {
22
+-  if (!is_inf())
23
+-    return static_cast<double>(delta_) / Time::kMicrosecondsPerMillisecond;
24
+-  return (delta_ < 0) ? -std::numeric_limits<double>::infinity()
25
+-                      : std::numeric_limits<double>::infinity();
26
+-}
27
+-
28
+-int64_t TimeDelta::InMilliseconds() const {
29
+-  if (!is_inf())
30
+-    return delta_ / Time::kMicrosecondsPerMillisecond;
31
+-  return (delta_ < 0) ? std::numeric_limits<int64_t>::min()
32
+-                      : std::numeric_limits<int64_t>::max();
33
+-}
34
+-
35
+-int64_t TimeDelta::InMillisecondsRoundedUp() const {
36
+-  if (!is_inf()) {
37
+-    const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond;
38
+-    // Convert |result| from truncating to ceiling.
39
+-    return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1)
40
+-                                                                 : result;
41
+-  }
42
+-  return delta_;
43
+-}
44
+-
45
+ double TimeDelta::InMicrosecondsF() const {
46
+   if (!is_inf())
47
+     return static_cast<double>(delta_);
48
+diff --git a/base/time/time.h b/base/time/time.h
49
+index c027aab..fb1d78d 100644
50
+--- a/base/time/time.h
51
++++ b/base/time/time.h
52
+@@ -216,9 +216,9 @@ class BASE_EXPORT TimeDelta {
53
+   constexpr int InMinutes() const;
54
+   constexpr double InSecondsF() const;
55
+   constexpr int64_t InSeconds() const;
56
+-  double InMillisecondsF() const;
57
+-  int64_t InMilliseconds() const;
58
+-  int64_t InMillisecondsRoundedUp() const;
59
++  constexpr double InMillisecondsF() const;
60
++  constexpr int64_t InMilliseconds() const;
61
++  constexpr int64_t InMillisecondsRoundedUp() const;
62
+   constexpr int64_t InMicroseconds() const { return delta_; }
63
+   double InMicrosecondsF() const;
64
+   constexpr int64_t InNanoseconds() const;
65
+@@ -889,6 +889,30 @@ constexpr int64_t TimeDelta::InSeconds() const {
66
+   return is_inf() ? delta_ : (delta_ / Time::kMicrosecondsPerSecond);
67
+ }
68
+ 
69
++constexpr double TimeDelta::InMillisecondsF() const {
70
++  if (!is_inf())
71
++    return static_cast<double>(delta_) / Time::kMicrosecondsPerMillisecond;
72
++  return (delta_ < 0) ? -std::numeric_limits<double>::infinity()
73
++                      : std::numeric_limits<double>::infinity();
74
++}
75
++
76
++constexpr int64_t TimeDelta::InMilliseconds() const {
77
++  if (!is_inf())
78
++    return delta_ / Time::kMicrosecondsPerMillisecond;
79
++  return (delta_ < 0) ? std::numeric_limits<int64_t>::min()
80
++                      : std::numeric_limits<int64_t>::max();
81
++}
82
++
83
++constexpr int64_t TimeDelta::InMillisecondsRoundedUp() const {
84
++  if (!is_inf()) {
85
++    const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond;
86
++    // Convert |result| from truncating to ceiling.
87
++    return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1)
88
++                                                                 : result;
89
++  }
90
++  return delta_;
91
++}
92
++
93
+ constexpr int64_t TimeDelta::InNanoseconds() const {
94
+   return base::ClampMul(delta_, Time::kNanosecondsPerMicrosecond);
95
+ }
96
+-- 
97
+2.34.1
98
+
99
chromium-100-SCTHashdanceMetadata-move.patch Added
37
 
1
@@ -0,0 +1,35 @@
2
+From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Wed, 23 Feb 2022 12:18:57 +0100
5
+Subject: PATCH GCC: explicitely move return value of SCTHashdanceMetadata::ToValue
6
+
7
+GCC rejects to do Return Value Optimization in
8
+SCTHashdanceMetadata::ToValue, because the copy constructor is
9
+deleted, and in that scenario RVO is rejected in GCC:
10
+    ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’:
11
+    ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’
12
+      191 |   return value;
13
+          |          ^~~~~
14
+    In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14,
15
+                     from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5:
16
+    ../../base/values.h:254:3: note: declared here
17
+      254 |   Value(const Value&) = delete;
18
+          |   ^~~~~
19
+
20
+Bug: 819294
21
+Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166
22
+---
23
+
24
+diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc
25
+index a057e8e..365527b 100644
26
+--- a/services/network/sct_auditing/sct_auditing_reporter.cc
27
++++ b/services/network/sct_auditing/sct_auditing_reporter.cc
28
+@@ -188,7 +188,7 @@
29
+       kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id))));
30
+   value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd));
31
+   value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry));
32
+-  return value;
33
++  return std::move(value);
34
+ }
35
+ 
36
+ // static
37
chromium-100-compiler.patch Added
201
 
1
@@ -0,0 +1,220 @@
2
+From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001
3
+From: Mike Gilbert <floppym@gentoo.org>
4
+Date: Thu, 3 Feb 2022 16:26:20 +0000
5
+Subject: PATCH Disable various compiler configs
6
+
7
+---
8
+ build/config/compiler/BUILD.gn | 105 ++++++---------------------------
9
+ 1 file changed, 17 insertions(+), 88 deletions(-)
10
+
11
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
12
+index 61ceb0d..7392018 100644
13
+--- a/build/config/compiler/BUILD.gn
14
++++ b/build/config/compiler/BUILD.gn
15
+@@ -291,9 +291,7 @@ config("compiler") {
16
+ 
17
+   configs += 
18
+     # See the definitions below.
19
+-    ":clang_revision",
20
+     ":rustc_revision",
21
+-    ":compiler_cpu_abi",
22
+     ":compiler_codegen",
23
+     ":compiler_deterministic",
24
+   
25
+@@ -534,31 +532,6 @@ config("compiler") {
26
+     ldflags +=  "-Wl,-z,keep-text-section-prefix" 
27
+   }
28
+ 
29
+-  if (is_clang && !is_nacl && current_os != "zos") {
30
+-    cflags +=  "-fcrash-diagnostics-dir=" + clang_diagnostic_dir 
31
+-
32
+-    # TODO(hans): Remove this once Clang generates better optimized debug info
33
+-    # by default. https://crbug.com/765793
34
+-    cflags += 
35
+-      "-mllvm",
36
+-      "-instcombine-lower-dbg-declare=0",
37
+-    
38
+-    if (!is_debug && use_thin_lto && is_a_target_toolchain) {
39
+-      if (is_win) {
40
+-        ldflags +=  "-mllvm:-instcombine-lower-dbg-declare=0" 
41
+-      } else {
42
+-        ldflags +=  "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" 
43
+-      }
44
+-    }
45
+-
46
+-    # TODO(crbug.com/1235145): Investigate why/if this should be needed.
47
+-    if (is_win) {
48
+-      cflags +=  "/clang:-ffp-contract=off" 
49
+-    } else {
50
+-      cflags +=  "-ffp-contract=off" 
51
+-    }
52
+-  }
53
+-
54
+   # Rust compiler setup (for either clang or rustc).
55
+   if (enable_rust) {
56
+     defines +=  "RUST_ENABLED" 
57
+@@ -1235,45 +1208,6 @@ config("compiler_deterministic") {
58
+     }
59
+   }
60
+ 
61
+-  # Makes builds independent of absolute file path.
62
+-  if (is_clang && strip_absolute_paths_from_debug_symbols) {
63
+-    # If debug option is given, clang includes $cwd in debug info by default.
64
+-    # For such build, this flag generates reproducible obj files even we use
65
+-    # different build directory like "out/feature_a" and "out/feature_b" if
66
+-    # we build same files with same compile flag.
67
+-    # Other paths are already given in relative, no need to normalize them.
68
+-    if (is_nacl) {
69
+-      # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
70
+-      cflags += 
71
+-        "-Xclang",
72
+-        "-fdebug-compilation-dir",
73
+-        "-Xclang",
74
+-        ".",
75
+-      
76
+-    } else {
77
+-      # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
78
+-      # and -fcoverage-compilation-dir=.
79
+-      cflags +=  "-ffile-compilation-dir=." 
80
+-    }
81
+-    if (!is_win) {
82
+-      # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
83
+-      asmflags =  "-Wa,-fdebug-compilation-dir,." 
84
+-    }
85
+-
86
+-    if (is_win && use_lld) {
87
+-      if (symbol_level == 2 || (is_clang && using_sanitizer)) {
88
+-        # Absolutize source file paths for PDB. Pass the real build directory
89
+-        # if the pdb contains source-level debug information and if linker
90
+-        # reproducibility is not critical.
91
+-        ldflags +=  "/PDBSourcePath:" + rebase_path(root_build_dir) 
92
+-      } else {
93
+-        # Use a fake fixed base directory for paths in the pdb to make the pdb
94
+-        # output fully deterministic and independent of the build directory.
95
+-        ldflags +=  "/PDBSourcePath:o:\fake\prefix" 
96
+-      }
97
+-    }
98
+-  }
99
+-
100
+   # Tells the compiler not to use absolute paths when passing the default
101
+   # paths to the tools it invokes. We don't want this because we don't
102
+   # really need it and it can mess up the goma cache entries.
103
+@@ -1594,7 +1528,7 @@ config("chromium_code") {
104
+       defines =  "_HAS_NODISCARD" 
105
+     }
106
+   } else {
107
+-    cflags =  "-Wall" 
108
++    cflags = 
109
+     if (treat_warnings_as_errors) {
110
+       cflags +=  "-Werror" 
111
+ 
112
+@@ -1603,10 +1537,6 @@ config("chromium_code") {
113
+       # well.
114
+       ldflags =  "-Werror" 
115
+     }
116
+-    if (is_clang) {
117
+-      # Enable extra warnings for chromium_code when we control the compiler.
118
+-      cflags +=  "-Wextra" 
119
+-    }
120
+ 
121
+     # In Chromium code, we define __STDC_foo_MACROS in order to get the
122
+     # C99 macros on Mac and Linux.
123
+@@ -1615,15 +1545,6 @@ config("chromium_code") {
124
+       "__STDC_FORMAT_MACROS",
125
+     
126
+ 
127
+-    if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
128
+-        current_cpu != "s390" && current_cpu != "ppc64" &&
129
+-        current_cpu != "mips" && current_cpu != "mips64") {
130
+-      # Non-chromium code is not guaranteed to compile cleanly with
131
+-      # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
132
+-      # disabled, so only do that for Release build.
133
+-      defines +=  "_FORTIFY_SOURCE=2" 
134
+-    }
135
+-
136
+     if (is_mac) {
137
+       cflags_objc =  "-Wobjc-missing-property-synthesis" 
138
+       cflags_objcc =  "-Wobjc-missing-property-synthesis" 
139
+@@ -2026,7 +1947,8 @@ config("default_stack_frames") {
140
+ }
141
+ 
142
+ # Default "optimization on" config.
143
+-config("optimize") {
144
++config("optimize") { }
145
++config("xoptimize") {
146
+   if (is_win) {
147
+     if (chrome_pgo_phase != 2) {
148
+       # Favor size over speed, /O1 must be before the common flags.
149
+@@ -2064,7 +1986,8 @@ config("optimize") {
150
+ }
151
+ 
152
+ # Turn off optimizations.
153
+-config("no_optimize") {
154
++config("no_optimize") { }
155
++config("xno_optimize") {
156
+   if (is_win) {
157
+     cflags = 
158
+       "/Od",  # Disable optimization.
159
+@@ -2104,7 +2027,8 @@ config("no_optimize") {
160
+ # Turns up the optimization level. On Windows, this implies whole program
161
+ # optimization and link-time code generation which is very expensive and should
162
+ # be used sparingly.
163
+-config("optimize_max") {
164
++config("optimize_max") { }
165
++config("xoptimize_max") {
166
+   if (is_nacl && is_nacl_irt) {
167
+     # The NaCl IRT is a special case and always wants its own config.
168
+     # Various components do:
169
+@@ -2137,7 +2061,8 @@ config("optimize_max") {
170
+ #
171
+ # TODO(crbug.com/621335) - rework how all of these configs are related
172
+ # so that we don't need this disclaimer.
173
+-config("optimize_speed") {
174
++config("optimize_speed") { }
175
++config("xoptimize_speed") {
176
+   if (is_nacl && is_nacl_irt) {
177
+     # The NaCl IRT is a special case and always wants its own config.
178
+     # Various components do:
179
+@@ -2163,7 +2088,8 @@ config("optimize_speed") {
180
+   }
181
+ }
182
+ 
183
+-config("optimize_fuzzing") {
184
++config("optimize_fuzzing") { }
185
++config("xoptimize_fuzzing") {
186
+   cflags =  "-O1"  + common_optimize_on_cflags
187
+   rustflags =  "-Copt-level=1" 
188
+   ldflags = common_optimize_on_ldflags
189
+@@ -2283,7 +2209,8 @@ config("win_pdbaltpath") {
190
+ }
191
+ 
192
+ # Full symbols.
193
+-config("symbols") {
194
++config("symbols") { }
195
++config("xsymbols") {
196
+   if (is_win) {
197
+     if (is_clang) {
198
+       cflags =  "/Z7"   # Debug information in the .obj files.
199
+@@ -2411,7 +2338,8 @@ config("symbols") {
200
+ # Minimal symbols.
201
chromium-100-macro-typo.patch Added
31
 
1
@@ -0,0 +1,29 @@
2
+From 1183b14db8bd08d731ff3433c436887de00be3aa Mon Sep 17 00:00:00 2001
3
+From: Jose Dapena Paz <jdapena@igalia.com>
4
+Date: Fri, 18 Feb 2022 16:28:25 +0000
5
+Subject: PATCH Fix typo in non-clang GSL_OWNER macro
6
+
7
+GCC build fails because GSL_OWNER is not defined (GSL_OWNER_ was
8
+the one actually declared).
9
+
10
+Bug: 819294
11
+Change-Id: I1c3d17cb1c08b9bc0e8a888452da9868c308ddb5
12
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3472080
13
+Reviewed-by: Daniel Cheng <dcheng@chromium.org>
14
+Commit-Queue: Daniel Cheng <dcheng@chromium.org>
15
+Cr-Commit-Position: refs/heads/main@{#972974}
16
+---
17
+
18
+diff --git a/base/compiler_specific.h b/base/compiler_specific.h
19
+index eec5810..1ee8074 100644
20
+--- a/base/compiler_specific.h
21
++++ b/base/compiler_specific.h
22
+@@ -386,7 +386,7 @@
23
+ #define GSL_OWNER gsl::Owner
24
+ #define GSL_POINTER gsl::Pointer
25
+ #else
26
+-#define GSL_OWNER_
27
++#define GSL_OWNER
28
+ #define GSL_POINTER
29
+ #endif
30
+ 
31
chromium-86-f_seal.patch Deleted
25
 
1
@@ -1,23 +0,0 @@
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-nearby-explicit.patch Deleted
27
 
1
@@ -1,25 +0,0 @@
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 Deleted
26
 
1
@@ -1,24 +0,0 @@
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 Deleted
39
 
1
@@ -1,37 +0,0 @@
2
-Index: chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc
3
-===================================================================
4
---- chromium-96.0.4664.45.orig/third_party/webrtc/audio/utility/channel_mixer.cc
5
-+++ chromium-96.0.4664.45/third_party/webrtc/audio/utility/channel_mixer.cc
6
-@@ -8,6 +8,8 @@
7
-  *  be found in the AUTHORS file in the root of the source tree.
8
-  */
9
- 
10
-+#include <cstring>
11
-+
12
- #include "audio/utility/channel_mixer.h"
13
- 
14
- #include "audio/utility/channel_mixing_matrix.h"
15
-Index: chromium-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
16
-===================================================================
17
---- chromium-96.0.4664.45.orig/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
18
-+++ chromium-96.0.4664.45/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
19
-@@ -19,6 +19,7 @@
20
- #include <sys/syscall.h>
21
- #include <unistd.h>
22
- 
23
-+#include <cstring>
24
- #include <memory>
25
- #include <string>
26
- #include <utility>
27
-Index: chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
28
-===================================================================
29
---- chromium-96.0.4664.45.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
30
-+++ chromium-96.0.4664.45/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
31
-@@ -10,6 +10,7 @@
32
- 
33
- #include "modules/video_coding/utility/ivf_file_reader.h"
34
- 
35
-+#include <cstring>
36
- #include <string>
37
- #include <vector>
38
- 
39
chromium-90-fseal.patch Deleted
50
 
1
@@ -1,48 +0,0 @@
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-91-sql-standard-layout-type.patch Changed
179
 
1
@@ -20,11 +20,11 @@
2
  sql/recover_module/pager.h   |  5 +++--
3
  6 files changed, 47 insertions(+), 29 deletions(-)
4
 
5
-diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
6
-index 9ecaafe8a3..839318abf9 100644
7
---- a/sql/recover_module/btree.cc
8
-+++ b/sql/recover_module/btree.cc
9
-@@ -135,16 +135,25 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value,
10
+Index: chromium-98.0.4758.80/sql/recover_module/btree.cc
11
+===================================================================
12
+--- chromium-98.0.4758.80.orig/sql/recover_module/btree.cc
13
++++ chromium-98.0.4758.80/sql/recover_module/btree.cc
14
+@@ -136,16 +136,25 @@ static_assert(std::is_trivially_destruct
15
                "Move the destructor to the .cc file if it's non-trival");
16
  #endif  // !DCHECK_IS_ON()
17
  
18
@@ -56,11 +56,11 @@
19
  bool LeafPageDecoder::TryAdvance() {
20
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
21
    DCHECK(CanAdvance());
22
-diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
23
-index d76d076bf6..33114b01fa 100644
24
---- a/sql/recover_module/btree.h
25
-+++ b/sql/recover_module/btree.h
26
-@@ -102,7 +102,7 @@ class LeafPageDecoder {
27
+Index: chromium-98.0.4758.80/sql/recover_module/btree.h
28
+===================================================================
29
+--- chromium-98.0.4758.80.orig/sql/recover_module/btree.h
30
++++ chromium-98.0.4758.80/sql/recover_module/btree.h
31
+@@ -103,7 +103,7 @@ class LeafPageDecoder {
32
    //
33
    // |db_reader| must have been used to read an inner page of a table B-tree.
34
    // |db_reader| must outlive this instance.
35
@@ -69,7 +69,7 @@
36
    ~LeafPageDecoder() noexcept = default;
37
  
38
    LeafPageDecoder(const LeafPageDecoder&) = delete;
39
-@@ -150,6 +150,15 @@ class LeafPageDecoder {
40
+@@ -151,6 +151,15 @@ class LeafPageDecoder {
41
    // read as long as CanAdvance() returns true.
42
    bool TryAdvance();
43
  
44
@@ -85,7 +85,7 @@
45
    // True if the given reader may point to an inner page in a table B-tree.
46
    //
47
    // The last ReadPage() call on |db_reader| must have succeeded.
48
-@@ -163,14 +172,14 @@ class LeafPageDecoder {
49
+@@ -164,14 +173,14 @@ class LeafPageDecoder {
50
    static int ComputeCellCount(DatabasePageReader* db_reader);
51
  
52
    // The number of the B-tree page this reader is reading.
53
@@ -103,11 +103,11 @@
54
  
55
    // The reader's cursor state.
56
    //
57
-diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
58
-index 0029ff9295..42548bc4b5 100644
59
---- a/sql/recover_module/cursor.cc
60
-+++ b/sql/recover_module/cursor.cc
61
-@@ -26,7 +26,7 @@ VirtualCursor::~VirtualCursor() {
62
+Index: chromium-98.0.4758.80/sql/recover_module/cursor.cc
63
+===================================================================
64
+--- chromium-98.0.4758.80.orig/sql/recover_module/cursor.cc
65
++++ chromium-98.0.4758.80/sql/recover_module/cursor.cc
66
+@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() {
67
  int VirtualCursor::First() {
68
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
69
    inner_decoders_.clear();
70
@@ -116,7 +116,7 @@
71
  
72
    AppendPageDecoder(table_->root_page_id());
73
    return Next();
74
-@@ -36,18 +36,18 @@ int VirtualCursor::Next() {
75
+@@ -38,18 +38,18 @@ int VirtualCursor::Next() {
76
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
77
    record_reader_.Reset();
78
  
79
@@ -142,7 +142,7 @@
80
          continue;
81
        }
82
        if (!record_reader_.Initialize())
83
-@@ -99,13 +99,13 @@ int VirtualCursor::ReadColumn(int column_index,
84
+@@ -101,13 +101,13 @@ int VirtualCursor::ReadColumn(int column
85
  int64_t VirtualCursor::RowId() {
86
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
87
    DCHECK(record_reader_.IsInitialized());
88
@@ -159,7 +159,7 @@
89
        << __func__
90
        << " must only be called when the current path has no leaf decoder";
91
  
92
-@@ -113,7 +113,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) {
93
+@@ -115,7 +115,7 @@ void VirtualCursor::AppendPageDecoder(in
94
      return;
95
  
96
    if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
97
@@ -168,11 +168,11 @@
98
      return;
99
    }
100
  
101
-diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
102
-index afcd6900e1..b15c31d425 100644
103
---- a/sql/recover_module/cursor.h
104
-+++ b/sql/recover_module/cursor.h
105
-@@ -129,7 +129,7 @@ class VirtualCursor {
106
+Index: chromium-98.0.4758.80/sql/recover_module/cursor.h
107
+===================================================================
108
+--- chromium-98.0.4758.80.orig/sql/recover_module/cursor.h
109
++++ chromium-98.0.4758.80/sql/recover_module/cursor.h
110
+@@ -130,7 +130,7 @@ class VirtualCursor {
111
    std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
112
  
113
    // Decodes the leaf page containing records.
114
@@ -181,11 +181,11 @@
115
  
116
    SEQUENCE_CHECKER(sequence_checker_);
117
  };
118
-diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
119
-index 58e75de270..5fe96204e5 100644
120
---- a/sql/recover_module/pager.cc
121
-+++ b/sql/recover_module/pager.cc
122
-@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(),
123
+Index: chromium-98.0.4758.80/sql/recover_module/pager.cc
124
+===================================================================
125
+--- chromium-98.0.4758.80.orig/sql/recover_module/pager.cc
126
++++ chromium-98.0.4758.80/sql/recover_module/pager.cc
127
+@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPa
128
                "ints are not appropriate for representing page IDs");
129
  
130
  DatabasePageReader::DatabasePageReader(VirtualTable* table)
131
@@ -195,7 +195,7 @@
132
    DCHECK(table != nullptr);
133
    DCHECK(IsValidPageSize(table->page_size()));
134
  }
135
-@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int page_id) {
136
+@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int pag
137
                      std::numeric_limits<int64_t>::max(),
138
                  "The |read_offset| computation above may overflow");
139
  
140
@@ -206,10 +206,10 @@
141
  
142
    // |page_id_| needs to be set to kInvalidPageId if the read failed.
143
    // Otherwise, future ReadPage() calls with the previous |page_id_| value
144
-diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h
145
-index 0e388ddc3b..99314e30ff 100644
146
---- a/sql/recover_module/pager.h
147
-+++ b/sql/recover_module/pager.h
148
+Index: chromium-98.0.4758.80/sql/recover_module/pager.h
149
+===================================================================
150
+--- chromium-98.0.4758.80.orig/sql/recover_module/pager.h
151
++++ chromium-98.0.4758.80/sql/recover_module/pager.h
152
 @@ -5,6 +5,7 @@
153
  #ifndef SQL_RECOVER_MODULE_PAGER_H_
154
  #define SQL_RECOVER_MODULE_PAGER_H_
155
@@ -218,7 +218,7 @@
156
  #include <cstdint>
157
  #include <memory>
158
  #include <ostream>
159
-@@ -70,7 +71,7 @@ class DatabasePageReader {
160
+@@ -72,7 +73,7 @@ class DatabasePageReader {
161
      DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
162
      DCHECK_NE(page_id_, kInvalidPageId)
163
          << "Successful ReadPage() required before accessing pager state";
164
@@ -227,7 +227,7 @@
165
    }
166
  
167
    // The number of bytes in the page read by the last ReadPage() call.
168
-@@ -137,7 +138,7 @@ class DatabasePageReader {
169
+@@ -139,7 +140,7 @@ class DatabasePageReader {
170
    int page_id_ = kInvalidPageId;
171
    // Stores the bytes of the last page successfully read by ReadPage().
172
    // The content is undefined if the last call to ReadPage() did not succeed.
173
@@ -235,4 +235,4 @@
174
 +  const std::array<uint8_t, kMaxPageSize> page_data_;
175
    // Raw pointer usage is acceptable because this instance's owner is expected
176
    // to ensure that the VirtualTable outlives this.
177
-   VirtualTable* const table_;
178
+   const raw_ptr<VirtualTable> table_;
179
chromium-94-ffmpeg-roll.patch Changed
62
 
1
@@ -1,49 +1,12 @@
2
-From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001
3
-From: "liberato@chromium.org" <liberato@chromium.org>
4
-Date: Fri, 6 Aug 2021 04:25:31 +0000
5
-Subject: PATCH FFmpeg M94 roll.
6
-
7
-Contains DEPS update + chromium-side fixes.
8
-
9
-Bug: 1227259
10
-Change-Id: I61c5eaa789ea12c17d0cbcbf837435b9cf32479b
11
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3011889
12
-Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
13
-Commit-Queue: Frank Liberato <liberato@chromium.org>
14
-Cr-Commit-Position: refs/heads/master@{#909174}
15
----
16
- media/ffmpeg/ffmpeg_common.h    | 1 +
17
- media/filters/ffmpeg_demuxer.cc | 4 ++--
18
- 2 files changed, 3 insertions(+), 2 deletions(-)
19
-
20
-diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h
21
-index cede8ac5a7..97d6307e28 100644
22
---- a/media/ffmpeg/ffmpeg_common.h
23
-+++ b/media/ffmpeg/ffmpeg_common.h
24
-@@ -29,7 +29,6 @@ extern "C" {
25
- #include <libavformat/avformat.h>
26
- #include <libavformat/avio.h>
27
- #include <libavutil/avutil.h>
28
--#include <libavutil/channel_layout.h>
29
- #include <libavutil/imgutils.h>
30
- #include <libavutil/log.h>
31
- #include <libavutil/mastering_display_metadata.h>
32
-diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
33
-index ac4713b072..605001d935 100644
34
---- a/media/filters/ffmpeg_demuxer.cc
35
-+++ b/media/filters/ffmpeg_demuxer.cc
36
-@@ -106,12 +106,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
37
+diff --git a/build/linux/unbundle/ffmpeg.gn b/build/linux/unbundle/ffmpeg.gn
38
+index 16e20744706..6a079b32221 100644
39
+--- a/build/linux/unbundle/ffmpeg.gn
40
++++ b/build/linux/unbundle/ffmpeg.gn
41
+@@ -12,6 +12,7 @@ pkg_config("system_ffmpeg") {
42
+     "libavformat",
43
+     "libavutil",
44
+   
45
++  defines =  "av_stream_get_first_dts(stream)=stream->first_dts" 
46
+ }
47
  
48
-   // Next try to use the first DTS value, for codecs where we know PTS == DTS
49
-   // (excludes all H26x codecs). The start time must be returned in PTS.
50
-+  if (stream->first_dts != kNoFFmpegTimestamp &&
51
--  if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
52
-       stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
53
-       stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
54
-       stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
55
-     const base::TimeDelta first_pts =
56
-+        ConvertFromTimeBase(stream->time_base, stream->first_dts);
57
--        ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
58
-     if (first_pts < start_time)
59
-       start_time = first_pts;
60
-   }
61
+ buildflag_header("ffmpeg_features") {
62
chromium-95-libyuv-aarch64.patch Deleted
32
 
1
@@ -1,30 +0,0 @@
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
chromium-96-CommandLine-include.patch Deleted
26
 
1
@@ -1,24 +0,0 @@
2
-From 39e6e77798d86033e5eb1fb2a2caf20a5bca2262 Mon Sep 17 00:00:00 2001
3
-From: Stephan Hartmann <stha09@googlemail.com>
4
-Date: Sat, 9 Oct 2021 08:27:04 +0000
5
-Subject: PATCH IWYU: add memory for std::unique_ptr in base::CommandLine
6
-
7
----
8
- base/command_line.h | 1 +
9
- 1 file changed, 1 insertion(+)
10
-
11
-diff --git a/base/command_line.h b/base/command_line.h
12
-index 706726a..ad02812 100644
13
---- a/base/command_line.h
14
-+++ b/base/command_line.h
15
-@@ -19,6 +19,7 @@
16
- #include <stddef.h>
17
- #include <functional>
18
- #include <map>
19
-+#include <memory>
20
- #include <string>
21
- #include <vector>
22
- 
23
--- 
24
-2.32.0
25
-
26
chromium-96-CouponDB-include.patch Deleted
27
 
1
@@ -1,25 +0,0 @@
2
-From 3a7b8dd0fcceffcfd0ea7e3186d2850deed7a00b Mon Sep 17 00:00:00 2001
3
-From: Stephan Hartmann <stha09@googlemail.com>
4
-Date: Wed, 6 Oct 2021 15:36:47 +0000
5
-Subject: PATCH IWYU: add vector for std::vector in CouponDB
6
-
7
----
8
- chrome/browser/commerce/coupons/coupon_db.h | 2 ++
9
- 1 file changed, 2 insertions(+)
10
-
11
-diff --git a/chrome/browser/commerce/coupons/coupon_db.h b/chrome/browser/commerce/coupons/coupon_db.h
12
-index f0758f4..93e2dd3 100644
13
---- a/chrome/browser/commerce/coupons/coupon_db.h
14
-+++ b/chrome/browser/commerce/coupons/coupon_db.h
15
-@@ -5,6 +5,8 @@
16
- #ifndef CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_
17
- #define CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_
18
- 
19
-+#include <vector>
20
-+
21
- #include "base/callback_helpers.h"
22
- #include "base/memory/weak_ptr.h"
23
- #include "url/gurl.h"
24
--- 
25
-2.32.0
26
-
27
chromium-96-DrmRenderNodePathFinder-include.patch Deleted
26
 
1
@@ -1,24 +0,0 @@
2
-From 9e36b3c28935fb50d43ccef443be786a8e3f8a5f Mon Sep 17 00:00:00 2001
3
-From: Stephan Hartmann <stha09@googlemail.com>
4
-Date: Sat, 9 Oct 2021 16:17:34 +0000
5
-Subject: PATCH IWYU: add string.h for memcmp in ui:: DrmRenderNodePathFinder
6
-
7
----
8
- ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc | 1 +
9
- 1 file changed, 1 insertion(+)
10
-
11
-diff --git a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
12
-index 06776a7..d5b7b71 100644
13
---- a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
14
-+++ b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc
15
-@@ -5,6 +5,7 @@
16
- #include "ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.h"
17
- 
18
- #include <fcntl.h>
19
-+#include <string.h>
20
- #include <sys/stat.h>
21
- #include <sys/types.h>
22
- #include <unistd.h>
23
--- 
24
-2.32.0
25
-
26
chromium-96-RestrictedCookieManager-tuple.patch Deleted
33
 
1
@@ -1,31 +0,0 @@
2
-From 86b1886673c3e75d3a7b8c802b3e9fa6ea945a1e Mon Sep 17 00:00:00 2001
3
-From: Jose Dapena Paz <jdapena@igalia.com>
4
-Date: Fri, 08 Oct 2021 06:32:55 +0000
5
-Subject: PATCH libstdc++: no implicit conversion from tuple created with std::tie to an std::pair in restricted cookie manager.
6
-
7
-Fix compilation error:
8
-    ../../services/network/restricted_cookie_manager.cc:164:30: error: no match for ‘operator’ (operand types are ‘network::CookieAccessesByURLAndSite’ {aka ‘std::map<std::pair<GURL, net::SiteForCookies>, std::unique_ptr<std::set<net::CookieWithAccessResult, network::CookieWithAccessResultComparer> > >’} and ‘std::tuple<const GURL&, const net::SiteForCookies&>’)
9
-
10
-There is no conversion from tuple to pair.
11
-
12
-Bug: 957519
13
-Change-Id: Idf29c7b21895ae28f45b35d6193ab4ac555945c8
14
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3211752
15
-Reviewed-by: Robbie McElrath <rmcelrath@chromium.org>
16
-Commit-Queue: José Dapena Paz <jdapena@igalia.com>
17
-Cr-Commit-Position: refs/heads/main@{#929597}
18
----
19
-
20
-diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc
21
-index 425426f..c8c10c6 100644
22
---- a/services/network/restricted_cookie_manager.cc
23
-+++ b/services/network/restricted_cookie_manager.cc
24
-@@ -161,7 +161,7 @@
25
-     const GURL& url,
26
-     const net::SiteForCookies& site_for_cookies) {
27
-   std::unique_ptr<CookieAccesses>& entry =
28
--      recent_cookie_accesses_std::tie(url, site_for_cookies);
29
-+      recent_cookie_accesses_std::make_pair(url, site_for_cookies);
30
-   if (!entry) {
31
-     entry = std::make_unique<CookieAccesses>();
32
-   }
33
chromium-96-compiler.patch Deleted
201
 
1
@@ -1,212 +0,0 @@
2
-From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001
3
-From: Mike Gilbert <floppym@gentoo.org>
4
-Date: Fri, 1 Oct 2021 12:17:48 +0000
5
-Subject: PATCH Disable various compiler configs
6
-
7
----
8
- build/config/compiler/BUILD.gn | 98 ++++++----------------------------
9
- 1 file changed, 17 insertions(+), 81 deletions(-)
10
-
11
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
12
-index 673716f..3ff820e 100644
13
---- a/build/config/compiler/BUILD.gn
14
-+++ b/build/config/compiler/BUILD.gn
15
-@@ -292,8 +292,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
-@@ -532,24 +530,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
-@@ -1240,45 +1220,6 @@ config("compiler_deterministic") {
50
-     }
51
-   }
52
- 
53
--  # Makes builds independent of absolute file path.
54
--  if (is_clang && strip_absolute_paths_from_debug_symbols) {
55
--    # If debug option is given, clang includes $cwd in debug info by default.
56
--    # For such build, this flag generates reproducible obj files even we use
57
--    # different build directory like "out/feature_a" and "out/feature_b" if
58
--    # we build same files with same compile flag.
59
--    # Other paths are already given in relative, no need to normalize them.
60
--    if (is_nacl) {
61
--      # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
62
--      cflags += 
63
--        "-Xclang",
64
--        "-fdebug-compilation-dir",
65
--        "-Xclang",
66
--        ".",
67
--      
68
--    } else {
69
--      # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
70
--      # and -fcoverage-compilation-dir=.
71
--      cflags +=  "-ffile-compilation-dir=." 
72
--    }
73
--    if (!is_win) {
74
--      # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
75
--      asmflags =  "-Wa,-fdebug-compilation-dir,." 
76
--    }
77
--
78
--    if (is_win && use_lld) {
79
--      if (symbol_level == 2 || (is_clang && using_sanitizer)) {
80
--        # Absolutize source file paths for PDB. Pass the real build directory
81
--        # if the pdb contains source-level debug information and if linker
82
--        # reproducibility is not critical.
83
--        ldflags +=  "/PDBSourcePath:" + rebase_path(root_build_dir) 
84
--      } else {
85
--        # Use a fake fixed base directory for paths in the pdb to make the pdb
86
--        # output fully deterministic and independent of the build directory.
87
--        ldflags +=  "/PDBSourcePath:o:\fake\prefix" 
88
--      }
89
--    }
90
--  }
91
--
92
-   # Tells the compiler not to use absolute paths when passing the default
93
-   # paths to the tools it invokes. We don't want this because we don't
94
-   # really need it and it can mess up the goma cache entries.
95
-@@ -1698,7 +1639,7 @@ config("chromium_code") {
96
-       defines =  "_HAS_NODISCARD" 
97
-     }
98
-   } else {
99
--    cflags =  "-Wall" 
100
-+    cflags = 
101
-     if (treat_warnings_as_errors) {
102
-       cflags +=  "-Werror" 
103
- 
104
-@@ -1707,10 +1648,6 @@ config("chromium_code") {
105
-       # well.
106
-       ldflags =  "-Werror" 
107
-     }
108
--    if (is_clang) {
109
--      # Enable extra warnings for chromium_code when we control the compiler.
110
--      cflags +=  "-Wextra" 
111
--    }
112
- 
113
-     # In Chromium code, we define __STDC_foo_MACROS in order to get the
114
-     # C99 macros on Mac and Linux.
115
-@@ -1719,15 +1656,6 @@ config("chromium_code") {
116
-       "__STDC_FORMAT_MACROS",
117
-     
118
- 
119
--    if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
120
--        current_cpu != "s390" && current_cpu != "ppc64" &&
121
--        current_cpu != "mips" && current_cpu != "mips64") {
122
--      # Non-chromium code is not guaranteed to compile cleanly with
123
--      # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
124
--      # disabled, so only do that for Release build.
125
--      defines +=  "_FORTIFY_SOURCE=2" 
126
--    }
127
--
128
-     if (is_mac) {
129
-       cflags_objc =  "-Wobjc-missing-property-synthesis" 
130
-       cflags_objcc =  "-Wobjc-missing-property-synthesis" 
131
-@@ -2095,7 +2023,8 @@ config("default_stack_frames") {
132
- }
133
- 
134
- # Default "optimization on" config.
135
--config("optimize") {
136
-+config("optimize") { }
137
-+config("xoptimize") {
138
-   if (is_win) {
139
-     if (chrome_pgo_phase != 2) {
140
-       # Favor size over speed, /O1 must be before the common flags.
141
-@@ -2135,7 +2064,8 @@ config("optimize") {
142
- }
143
- 
144
- # Turn off optimizations.
145
--config("no_optimize") {
146
-+config("no_optimize") { }
147
-+config("xno_optimize") {
148
-   if (is_win) {
149
-     cflags = 
150
-       "/Od",  # Disable optimization.
151
-@@ -2175,7 +2105,8 @@ config("no_optimize") {
152
- # Turns up the optimization level. On Windows, this implies whole program
153
- # optimization and link-time code generation which is very expensive and should
154
- # be used sparingly.
155
--config("optimize_max") {
156
-+config("optimize_max") { }
157
-+config("xoptimize_max") {
158
-   if (is_nacl && is_nacl_irt) {
159
-     # The NaCl IRT is a special case and always wants its own config.
160
-     # Various components do:
161
-@@ -2208,7 +2139,8 @@ config("optimize_max") {
162
- #
163
- # TODO(crbug.com/621335) - rework how all of these configs are related
164
- # so that we don't need this disclaimer.
165
--config("optimize_speed") {
166
-+config("optimize_speed") { }
167
-+config("xoptimize_speed") {
168
-   if (is_nacl && is_nacl_irt) {
169
-     # The NaCl IRT is a special case and always wants its own config.
170
-     # Various components do:
171
-@@ -2234,7 +2166,8 @@ config("optimize_speed") {
172
-   }
173
- }
174
- 
175
--config("optimize_fuzzing") {
176
-+config("optimize_fuzzing") { }
177
-+config("xoptimize_fuzzing") {
178
-   cflags =  "-O1"  + common_optimize_on_cflags
179
-   rustflags =  "-Copt-level=1" 
180
-   ldflags = common_optimize_on_ldflags
181
-@@ -2354,7 +2287,8 @@ config("win_pdbaltpath") {
182
- }
183
- 
184
- # Full symbols.
185
--config("symbols") {
186
-+config("symbols") { }
187
-+config("xsymbols") {
188
-   if (is_win) {
189
-     if (is_clang) {
190
-       cflags =  "/Z7"   # Debug information in the .obj files.
191
-@@ -2468,7 +2402,8 @@ config("symbols") {
192
- # Minimal symbols.
193
- # This config guarantees to hold symbol for stack trace which are shown to user
194
- # when crash happens in unittests running on buildbot.
195
--config("minimal_symbols") {
196
-+config("minimal_symbols") { }
197
-+config("xminimal_symbols") {
198
-   if (is_win) {
199
-     # Functions, files, and line tables only.
200
-     cflags = 
201
chromium-97-ScrollView-reference.patch Added
25
 
1
@@ -0,0 +1,23 @@
2
+From ce58517e546f3f3433931609683b5b4e455bbb7f Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Fri, 5 Nov 2021 15:48:05 +0000
5
+Subject: PATCH GCC: fix undefined reference to ScrollView::SetContents()
6
+
7
+---
8
+ ui/views/controls/scroll_view.h | 3 +++
9
+ 1 file changed, 3 insertions(+)
10
+
11
+Index: chromium-98.0.4758.80/ui/views/controls/scroll_view.h
12
+===================================================================
13
+--- chromium-98.0.4758.80.orig/ui/views/controls/scroll_view.h
14
++++ chromium-98.0.4758.80/ui/views/controls/scroll_view.h
15
+@@ -389,6 +389,9 @@ class VIEWS_EXPORT ScrollView : public V
16
+ // ScrollView::SetContents<View> template is available with which to link.
17
+ template View* ScrollView::SetContents<View>(std::unique_ptr<View> a_view);
18
+ 
19
++// Required for WebAppUrlHandlerIntentPickerView
20
++template View* ScrollView::SetContents<View>(std::unique_ptr<View> a_view);
21
++
22
+ BEGIN_VIEW_BUILDER(VIEWS_EXPORT, ScrollView, View)
23
+ VIEW_BUILDER_VIEW_TYPE_PROPERTY(View, Contents)
24
+ VIEW_BUILDER_PROPERTY(ui::LayerType, ContentsLayerType)
25
chromium-97-arm-tflite-cast.patch Added
28
 
1
@@ -0,0 +1,26 @@
2
+vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third argument
3
+of vdotq_lane_s32() is of type int8x8_t.
4
+
5
+--- a/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
6
++++ b/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
7
+@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs,
8
+                                      int8x16_t rhs, const int lane) {
9
+   switch (lane) {
10
+     case 0:
11
+-      return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0);
12
++      return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0);
13
+     case 1:
14
+-      return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1);
15
++      return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1);
16
+     case 2:
17
+-      return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
18
+-                            0);
19
++      return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0);
20
+     case 3:
21
+     default:
22
+-      return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
23
+-                            1);
24
++      return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1);
25
+   }
26
+ }
27
+ 
28
chromium-98-EnumTable-crash.patch Added
78
 
1
@@ -0,0 +1,76 @@
2
+diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
3
+index 842553a..89de703 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/notreached.h"
14
+@@ -187,7 +188,6 @@ class
15
+   inline constexpr GenericEnumTableEntry(int32_t value);
16
+   inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
17
+ 
18
+-  GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
19
+   GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
20
+ 
21
+  private:
22
+@@ -253,7 +253,6 @@ class EnumTable {
23
+     constexpr Entry(E value, base::StringPiece str)
24
+         : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
25
+ 
26
+-    Entry(const Entry&) = delete;
27
+     Entry& operator=(const Entry&) = delete;
28
+   };
29
+ 
30
+@@ -312,15 +311,14 @@ class EnumTable {
31
+     if (is_sorted_) {
32
+       const std::size_t index = static_cast<std::size_t>(value);
33
+       if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
34
+-        const auto& entry = data_.begin()index;
35
++        const auto& entry = data_index;
36
+         if (ANALYZER_ASSUME_TRUE(entry.has_str()))
37
+           return entry.str();
38
+       }
39
+       return absl::nullopt;
40
+     }
41
+     return GenericEnumTableEntry::FindByValue(
42
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
43
+-        data_.size(), static_cast<int32_t>(value));
44
++        &data_0, data_.size(), static_cast<int32_t>(value));
45
+   }
46
+ 
47
+   // This overload of GetString is designed for cases where the argument is a
48
+@@ -348,8 +346,7 @@ class EnumTable {
49
+   // enum value directly.
50
+   absl::optional<E> GetEnum(base::StringPiece str) const {
51
+     auto* entry = GenericEnumTableEntry::FindByString(
52
+-        reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
53
+-        data_.size(), str);
54
++        &data_0, data_.size(), str);
55
+     return entry ? static_cast<E>(entry->value) : absl::optional<E>();
56
+   }
57
+ 
58
+@@ -364,7 +361,7 @@ class EnumTable {
59
+   // Align the data on a cache line boundary.
60
+   alignas(64)
61
+ #endif
62
+-      std::initializer_list<Entry> data_;
63
++      const std::vector<Entry> data_;
64
+   bool is_sorted_;
65
+ 
66
+   constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
67
+@@ -376,8 +373,8 @@ class EnumTable {
68
+ 
69
+     for (std::size_t i = 0; i < data.size(); i++) {
70
+       for (std::size_t j = i + 1; j < data.size(); j++) {
71
+-        const Entry& ei = data.begin()i;
72
+-        const Entry& ej = data.begin()j;
73
++        const Entry& ei = datai;
74
++        const Entry& ej = dataj;
75
+         DCHECK(ei.value != ej.value)
76
+             << "Found duplicate enum values at indices " << i << " and " << j;
77
+         DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
78
chromium-98-gtk4-build.patch Added
58
 
1
@@ -0,0 +1,56 @@
2
+--- a/ui/gtk/gsk.sigs
3
++++ b/ui/gtk/gsk.sigs
4
+@@ -1,16 +1,16 @@
5
+-GskRenderNodeType gsk_render_node_get_node_type(GskRenderNode* node);
6
++GskRenderNodeType gsk_render_node_get_node_type(const GskRenderNode* node);
7
+ void gsk_render_node_unref(GskRenderNode* node);
8
+-GskRenderNode* gsk_transform_node_get_child(GskRenderNode* node);
9
+-GskRenderNode* gsk_opacity_node_get_child(GskRenderNode* node);
10
+-GskRenderNode* gsk_color_matrix_node_get_child(GskRenderNode* node);
11
+-GskRenderNode* gsk_repeat_node_get_child(GskRenderNode* node);
12
+-GskRenderNode* gsk_clip_node_get_child(GskRenderNode* node);
13
+-GskRenderNode* gsk_rounded_clip_node_get_child(GskRenderNode* node);
14
+-GskRenderNode* gsk_shadow_node_get_child(GskRenderNode* node);
15
+-GskRenderNode* gsk_blur_node_get_child(GskRenderNode* node);
16
+-GskRenderNode* gsk_debug_node_get_child(GskRenderNode* node);
17
+-GskRenderNode* gsk_container_node_get_child(GskRenderNode* node, guint idx);
18
+-GskRenderNode* gsk_gl_shader_node_get_child(GskRenderNode* node, guint idx);
19
+-guint gsk_container_node_get_n_children(GskRenderNode* node);
20
+-guint gsk_gl_shader_node_get_n_children(GskRenderNode* node);
21
+-GdkTexture* gsk_texture_node_get_texture(GskRenderNode* node);
22
++GskRenderNode* gsk_transform_node_get_child(const GskRenderNode* node);
23
++GskRenderNode* gsk_opacity_node_get_child(const GskRenderNode* node);
24
++GskRenderNode* gsk_color_matrix_node_get_child(const GskRenderNode* node);
25
++GskRenderNode* gsk_repeat_node_get_child(const GskRenderNode* node);
26
++GskRenderNode* gsk_clip_node_get_child(const GskRenderNode* node);
27
++GskRenderNode* gsk_rounded_clip_node_get_child(const GskRenderNode* node);
28
++GskRenderNode* gsk_shadow_node_get_child(const GskRenderNode* node);
29
++GskRenderNode* gsk_blur_node_get_child(const GskRenderNode* node);
30
++GskRenderNode* gsk_debug_node_get_child(const GskRenderNode* node);
31
++GskRenderNode* gsk_container_node_get_child(const GskRenderNode* node, guint idx);
32
++GskRenderNode* gsk_gl_shader_node_get_child(const GskRenderNode* node, guint idx);
33
++guint gsk_container_node_get_n_children(const GskRenderNode* node);
34
++guint gsk_gl_shader_node_get_n_children(const GskRenderNode* node);
35
++GdkTexture* gsk_texture_node_get_texture(const GskRenderNode* node);
36
+--- a/ui/gtk/gtk_util.cc
37
++++ b/ui/gtk/gtk_util.cc
38
+@@ -705,7 +705,7 @@
39
+   DCHECK(GtkCheckVersion(4));
40
+   struct {
41
+     GskRenderNodeType node_type;
42
+-    GskRenderNode* (*get_child)(GskRenderNode*);
43
++    GskRenderNode* (*get_child)(const GskRenderNode*);
44
+   } constexpr simple_getters = {
45
+       {GSK_TRANSFORM_NODE, gsk_transform_node_get_child},
46
+       {GSK_OPACITY_NODE, gsk_opacity_node_get_child},
47
+@@ -719,8 +719,8 @@
48
+   };
49
+   struct {
50
+     GskRenderNodeType node_type;
51
+-    guint (*get_n_children)(GskRenderNode*);
52
+-    GskRenderNode* (*get_child)(GskRenderNode*, guint);
53
++    guint (*get_n_children)(const GskRenderNode*);
54
++    GskRenderNode* (*get_child)(const GskRenderNode*, guint);
55
+   } constexpr container_getters = {
56
+       {GSK_CONTAINER_NODE, gsk_container_node_get_n_children,
57
+        gsk_container_node_get_child},
58
chromium-fix-swiftshader-template.patch Added
72
 
1
@@ -0,0 +1,70 @@
2
+Index: electron-16.0.9/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp
3
+===================================================================
4
+--- electron-16.0.9.orig/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp  2022-02-16 18:11:13.517899468 +0100
5
++++ electron-16.0.9/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp   2022-02-24 14:35:08.328190810 +0100
6
+@@ -659,6 +659,7 @@ void emitIASOpTyGPR(const Cfg *Func, Typ
7
+   }
8
+ }
9
+ 
10
++#if 0
11
+ template <bool VarCanBeByte, bool SrcCanBeByte>
12
+ void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Var,
13
+                        const Operand *Src, const GPREmitterRegOp &Emitter) {
14
+@@ -697,6 +698,7 @@ void emitIASRegOpTyGPR(const Cfg *Func,
15
+     llvm_unreachable("Unexpected operand type");
16
+   }
17
+ }
18
++#endif
19
+ 
20
+ void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr,
21
+                         const Operand *Src, const GPREmitterAddrOp &Emitter) {
22
+Index: electron-16.0.9/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h
23
+===================================================================
24
+--- electron-16.0.9.orig/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h    2022-02-16 18:11:13.517899468 +0100
25
++++ electron-16.0.9/third_party/swiftshader/third_party/subzero/src/IceInstX8664.h 2022-02-24 15:14:53.316809270 +0100
26
+@@ -576,8 +576,43 @@ void emitIASXmmShift(const Cfg *Func, Ty
27
+ /// Emit a two-operand (GPR) instruction, where the dest operand is a Variable
28
+ /// that's guaranteed to be a register.
29
+ template <bool VarCanBeByte = true, bool SrcCanBeByte = true>
30
+-void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Dst,
31
+-                       const Operand *Src, const GPREmitterRegOp &Emitter);
32
++void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, const Variable *Var,
33
++                       const Operand *Src, const GPREmitterRegOp &Emitter) {
34
++  auto *Target = InstX86Base::getTarget(Func);
35
++  Assembler *Asm = Func->getAssembler<Assembler>();
36
++  assert(Var->hasReg());
37
++  // We cheat a little and use GPRRegister even for byte operations.
38
++  GPRRegister VarReg = VarCanBeByte ? RegX8664::getEncodedGPR(Var->getRegNum())
39
++                                    : RegX8664::getEncodedGPR(Var->getRegNum());
40
++  if (const auto *SrcVar = llvm::dyn_cast<Variable>(Src)) {
41
++    if (SrcVar->hasReg()) {
42
++      GPRRegister SrcReg = SrcCanBeByte
43
++                               ? RegX8664::getEncodedGPR(SrcVar->getRegNum())
44
++                               : RegX8664::getEncodedGPR(SrcVar->getRegNum());
45
++      (Asm->*(Emitter.GPRGPR))(Ty, VarReg, SrcReg);
46
++    } else {
47
++      AsmAddress SrcStackAddr = AsmAddress(SrcVar, Target);
48
++      (Asm->*(Emitter.GPRAddr))(Ty, VarReg, SrcStackAddr);
49
++    }
50
++  } else if (const auto *Mem = llvm::dyn_cast<X86OperandMem>(Src)) {
51
++    Mem->emitSegmentOverride(Asm);
52
++    (Asm->*(Emitter.GPRAddr))(Ty, VarReg, AsmAddress(Mem, Asm, Target));
53
++  } else if (const auto *Imm = llvm::dyn_cast<ConstantInteger32>(Src)) {
54
++    (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Imm->getValue()));
55
++  } else if (const auto *Imm = llvm::dyn_cast<ConstantInteger64>(Src)) {
56
++    assert(Utils::IsInt(32, Imm->getValue()));
57
++    (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Imm->getValue()));
58
++  } else if (const auto *Reloc = llvm::dyn_cast<ConstantRelocatable>(Src)) {
59
++    const auto FixupKind = (Reloc->getName().hasStdString() &&
60
++                            Reloc->getName().toString() == GlobalOffsetTable)
61
++                               ? FK_GotPC
62
++                               : FK_Abs;
63
++    AssemblerFixup *Fixup = Asm->createFixup(FixupKind, Reloc);
64
++    (Asm->*(Emitter.GPRImm))(Ty, VarReg, AssemblerImmediate(Fixup));
65
++  } else {
66
++    llvm_unreachable("Unexpected operand type");
67
++  }
68
++}
69
+ 
70
+ /// Instructions of the form x := op(x).
71
+ template <typename InstX86Base::InstKindX86 K>
72
chromium-glibc-2.34.patch Deleted
28
 
1
@@ -1,26 +0,0 @@
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
-   // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
19
-   clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
20
-
21
--  char tls_bufPTHREAD_STACK_MIN = {0};
22
-+  const std::size_t pthread_stack_min = PTHREAD_STACK_MIN;
23
-+  char tls_bufpthread_stack_min;
24
-+  memset(tls_buf, 0, pthread_stack_min);
25
-   tls = tls_buf;
26
- #endif
27
-
28
chromium-missing-include-tuple.patch Added
13
 
1
@@ -0,0 +1,11 @@
2
+diff -up chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple chromium-100.0.4896.75/net/base/address_list.h
3
+--- chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple   2022-04-08 10:03:31.950894611 -0400
4
++++ chromium-100.0.4896.75/net/base/address_list.h 2022-04-08 10:03:43.926970267 -0400
5
+@@ -8,6 +8,7 @@
6
+ #include <stdint.h>
7
+ 
8
+ #include <string>
9
++#include <tuple>
10
+ #include <utility>
11
+ #include <vector>
12
+ 
13
chromium-third_party-symbolize-missing-include.patch Added
13
 
1
@@ -0,0 +1,11 @@
2
+--- a/base/third_party/symbolize/symbolize.h
3
++++ b/base/third_party/symbolize/symbolize.h
4
+@@ -54,6 +54,8 @@
5
+ #ifndef BASE_SYMBOLIZE_H_
6
+ #define BASE_SYMBOLIZE_H_
7
+ 
8
++#include <utility>
9
++
10
+ #include "utilities.h"
11
+ #include "config.h"
12
+ #include "glog/logging.h"
13
chromium-vaapi.patch Deleted
74
 
1
@@ -1,72 +0,0 @@
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
chromium-webrtc-stats-missing-vector.patch Added
12
 
1
@@ -0,0 +1,10 @@
2
+--- a/media/capabilities/webrtc_video_stats_db.h
3
++++ b/media/capabilities/webrtc_video_stats_db.h
4
+@@ -7,6 +7,7 @@
5
+
6
+ #include <memory>
7
+ #include <string>
8
++#include <vector>
9
+
10
+ #include "base/callback_forward.h"
11
+ #include "base/check.h"
12
gcc-enable-lto.patch Changed
10
 
1
@@ -3,7 +3,7 @@
2
 --- chromium-85.0.4183.69.orig/build/config/BUILDCONFIG.gn
3
 +++ chromium-85.0.4183.69/build/config/BUILDCONFIG.gn
4
 @@ -130,6 +130,8 @@ declare_args() {
5
-   # separate flags.
6
+   # set "is_official_build" to true for any build intended to ship to end-users.
7
    is_official_build = false
8
  
9
 +  gcc_lto = false
10
system-libdrm.patch Changed
60
 
1
@@ -1,6 +1,9 @@
2
---- a/build/linux/unbundle/libdrm.gn
3
-+++ b/build/linux/unbundle/libdrm.gn
4
-@@ -12,6 +12,9 @@
5
+Index: chromium-98.0.4758.80/build/linux/unbundle/libdrm.gn
6
+===================================================================
7
+--- chromium-98.0.4758.80.orig/build/linux/unbundle/libdrm.gn
8
++++ chromium-98.0.4758.80/build/linux/unbundle/libdrm.gn
9
+@@ -11,7 +11,10 @@ pkg_config("system_libdrm") {
10
+ 
11
  shim_headers("libdrm_shim") {
12
    root_path = "src/include"
13
 -  headers =  "drm.h" 
14
@@ -9,5 +12,44 @@
15
 +    "drm_fourcc.h",
16
 +  
17
  }
18
-
19
+ 
20
  source_set("libdrm") {
21
+Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h
22
+===================================================================
23
+--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/crtc_controller.h
24
++++ chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h
25
+@@ -11,7 +11,7 @@
26
+ 
27
+ #include "base/memory/weak_ptr.h"
28
+ #include "base/trace_event/traced_value.h"
29
+-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
30
++#include <drm_fourcc.h>
31
+ #include "ui/gfx/swap_result.h"
32
+ #include "ui/ozone/platform/drm/common/scoped_drm_types.h"
33
+ #include "ui/ozone/platform/drm/gpu/drm_overlay_plane.h"
34
+Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
35
+===================================================================
36
+--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
37
++++ chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
38
+@@ -20,7 +20,7 @@
39
+ #include "base/trace_event/trace_conversion_helper.h"
40
+ #include "base/trace_event/trace_event.h"
41
+ #include "base/trace_event/traced_value.h"
42
+-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
43
++#include <drm_fourcc.h>
44
+ #include "third_party/skia/include/core/SkCanvas.h"
45
+ #include "third_party/skia/include/core/SkImage.h"
46
+ #include "ui/gfx/geometry/point.h"
47
+Index: chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
48
+===================================================================
49
+--- chromium-98.0.4758.80.orig/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
50
++++ chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
51
+@@ -23,7 +23,7 @@
52
+ #include "media/gpu/chromeos/mailbox_video_frame_converter.h"
53
+ #include "testing/gmock/include/gmock/gmock.h"
54
+ #include "testing/gtest/include/gtest/gtest.h"
55
+-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
56
++#include <drm_fourcc.h>
57
+ 
58
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
59
+ // gn check does not account for BUILDFLAG(), so including this header will
60
INSTALL.sh Changed
28
 
1
@@ -53,13 +53,6 @@
2
     cp -a {} "${STAGEDIR}/${INSTALLDIR}/locales/" \;
3
 find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -print -exec chmod 644 {} \;
4
 
5
-# MEI Preload
6
-if  -f "${OUTPUTDIR}/MEIPreload/manifest.json" ; then
7
-    install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
8
-    install -m 644 "${OUTPUTDIR}/MEIPreload/manifest.json" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
9
-    install -m 644 "${OUTPUTDIR}/MEIPreload/preloaded_data.pb" "${STAGEDIR}/${INSTALLDIR}/MEIPreload/"
10
-fi
11
-
12
 # ANGLE
13
 if  -f "${OUTPUTDIR}/libEGL.so" ; then
14
     for file in libEGL.so libGLESv2.so;
15
@@ -93,10 +86,9 @@
16
     buildfile="${OUTPUTDIR}/${file}"
17
     install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
18
 fi
19
-if  -f "${OUTPUTDIR}/vk_swiftshader_icd.json" ; then
20
+sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > ${OUTPUTDIR}/vk_swiftshader_icd.json
21
 # Install the ICD json file to point ANGLE to libvk_swiftshader.so
22
-    install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/"
23
-fi
24
+install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/"
25
 
26
 # default apps
27
 if  -d "${OUTPUTDIR}/default_apps" ; then
28
chrome-wrapper Added
31
 
1
@@ -0,0 +1,29 @@
2
+#!/bin/bash
3
+#
4
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
5
+# Use of this source code is governed by a BSD-style license that can be
6
+# found in the LICENSE file.
7
+
8
+# Let the wrapped binary know that it has been run through the wrapper.
9
+export CHROME_WRAPPER="`readlink -f "$0"`"
10
+
11
+HERE="`dirname "$CHROME_WRAPPER"`"
12
+
13
+export CHROME_VERSION_EXTRA="@@CHANNEL@@"
14
+
15
+# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120
16
+export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME
17
+
18
+# This provides a much better experience on Wayland.
19
+#if  "$XDG_SESSION_TYPE" == "wayland" ; then
20
+#  ARGS="--ozone-platform=wayland"
21
+#fi
22
+
23
+# Sanitize std{in,out,err} because they'll be shared with untrusted child
24
+# processes (http://crbug.com/376567).
25
+exec < /dev/null
26
+exec > >(exec cat)
27
+exec 2> >(exec cat >&2)
28
+
29
+# Note: exec -a below is a bashism.
30
+exec -a "$0" "$HERE/@@PROGNAME@@" "$ARGS" "$@"
31
chromium-96.0.4664.110.tar.xz -> chromium-100.0.4896.127.tar.xz Changed
esbuild.tar.gz Added