Changes of Revision 22

chromium-ffmpeg-extra.changes Changed
x
 
1
@@ -1,9 +1,188 @@
2
 -------------------------------------------------------------------
3
+Thu Jul 14 16:38:50 UTC 2022 - Carsten Ziepke <kieltux@gmail.com>
4
+
5
+- Rebase chromium 103.0.5060.114 for use as chromium-ffmpeg-extra
6
+  - Fixes problems with audio and youtube video playback
7
+
8
+-------------------------------------------------------------------
9
+Sat Jul  9 12:52:33 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
10
+
11
+- Chromium 103.0.5060.114 (boo#1201216)
12
+  * CVE-2022-2294: Heap buffer overflow in WebRTC
13
+  * CVE-2022-2295: Type Confusion in V8
14
+  * CVE-2022-2296: Use after free in Chrome OS Shell
15
+
16
+-------------------------------------------------------------------
17
+Thu Jul  7 18:07:43 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
18
+
19
+- Chromium 103.0.5060.66
20
+  * no upstream release notes
21
+
22
+-------------------------------------------------------------------
23
+Sat Jun 25 10:43:48 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
24
+
25
+- Chromium 103.0.5060.53 (boo#1200783)
26
+  * CVE-2022-2156: Use after free in Base
27
+  * CVE-2022-2157: Use after free in Interest groups
28
+  * CVE-2022-2158: Type Confusion in V8
29
+  * CVE-2022-2160: Insufficient policy enforcement in DevTools
30
+  * CVE-2022-2161: Use after free in WebApp Provider
31
+  * CVE-2022-2162: Insufficient policy enforcement in File System API
32
+  * CVE-2022-2163: Use after free in Cast UI and Toolbar
33
+  * CVE-2022-2164: Inappropriate implementation in Extensions API
34
+  * CVE-2022-2165: Insufficient data validation in URL formatting
35
+- Added patches:
36
+  * chromium-103-FrameLoadRequest-type.patch
37
+  * chromium-103-SubstringSetMatcher-packed.patch
38
+  * chromium-103-VirtualCursor-std-layout.patch
39
+  * chromium-103-compiler.patch
40
+- Removed patches:
41
+  * chromium-102-compiler.patch
42
+  * chromium-91-sql-standard-layout-type.patch
43
+  * chromium-101-libxml-unbundle.patch
44
+  * chromium-102-fenced_frame_utils-include.patch
45
+  * chromium-102-swiftshader-template-instantiation.patch
46
+  * chromium-102-symbolize-include.patch
47
+  * chromium-97-arm-tflite-cast.patch
48
+  * chromium-97-ScrollView-reference.patch
49
+
50
+-------------------------------------------------------------------
51
+Fri Jun 10 15:35:20 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
52
+
53
+- Chromium 102.0.5005.115 (boo#1200423)
54
+  * CVE-2022-2007: Use after free in WebGPU
55
+  * CVE-2022-2008: Out of bounds memory access in WebGL
56
+  * CVE-2022-2010: Out of bounds read in compositing
57
+  * CVE-2022-2011: Use after free in ANGLE
58
+
59
+-------------------------------------------------------------------
60
+Wed Jun  8 13:40:43 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
61
+
62
+- Switch to GTK4 on TW and Leap 15.4+ (boo#1200139)
63
+
64
+-------------------------------------------------------------------
65
+Wed Jun  1 09:43:54 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
66
+
67
+- Disable ARM control flow integrity, it causes build issues
68
+  at the moment
69
+- Try a different SVG (black logo on GNOME)
70
+- Removed patches:
71
+  * chromium-third_party-symbolize-missing-include.patch
72
+  (replaced by chromium-102-symbolize-include.patch)
73
+
74
+-------------------------------------------------------------------
75
+Fri May 27 19:40:42 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
76
+
77
+- Chromium 102.0.5001.61 (boo#1199893)
78
+  * CVE-2022-1853: Use after free in Indexed DB
79
+  * CVE-2022-1854: Use after free in ANGLE
80
+  * CVE-2022-1855: Use after free in Messaging
81
+  * CVE-2022-1856: Use after free in User Education
82
+  * CVE-2022-1857: Insufficient policy enforcement in File System API
83
+  * CVE-2022-1858: Out of bounds read in DevTools
84
+  * CVE-2022-1859: Use after free in Performance Manager
85
+  * CVE-2022-1860: Use after free in UI Foundations
86
+  * CVE-2022-1861: Use after free in Sharing
87
+  * CVE-2022-1862: Inappropriate implementation in Extensions
88
+  * CVE-2022-1863: Use after free in Tab Groups
89
+  * CVE-2022-1864: Use after free in WebApp Installs
90
+  * CVE-2022-1865: Use after free in Bookmarks
91
+  * CVE-2022-1866: Use after free in Tablet Mode
92
+  * CVE-2022-1867: Insufficient validation of untrusted input in Data Transfer
93
+  * CVE-2022-1868: Inappropriate implementation in Extensions API
94
+  * CVE-2022-1869: Type Confusion in V8
95
+  * CVE-2022-1870: Use after free in App Service
96
+  * CVE-2022-1871: Insufficient policy enforcement in File System API
97
+  * CVE-2022-1872: Insufficient policy enforcement in Extensions API
98
+  * CVE-2022-1873: Insufficient policy enforcement in COOP
99
+  * CVE-2022-1874: Insufficient policy enforcement in Safe Browsing
100
+  * CVE-2022-1875: Inappropriate implementation in PDF
101
+  * CVE-2022-1876: Heap buffer overflow in DevTools
102
+- Added patches:
103
+  * chromium-102-compiler.patch
104
+  * chromium-102-fenced_frame_utils-include.patch
105
+  * chromium-102-regex_pattern-array.patch
106
+  * chromium-102-swiftshader-template-instantiation.patch
107
+  * chromium-102-symbolize-include.patch
108
+  * ffmpeg-new-channel-layout.patch
109
+- Removed patches:
110
+  * chromium-100-compiler.patch
111
+  * chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
112
+  * chromium-95-quiche-include.patch
113
+  * chromium-fix-swiftshader-template.patch
114
+  * chromium-missing-include-tuple.patch
115
+  * chromium-webrtc-stats-missing-vector.patch
116
+  * chromium-101-segmentation_platform-type.patch
117
+
118
+-------------------------------------------------------------------
119
+Sun May 15 09:03:28 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
120
+
121
+- Chromium 101.0.4951.67
122
+  * fixes for other platforms
123
+
124
+-------------------------------------------------------------------
125
+Wed May 11 06:33:01 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
126
+
127
+- Chromium 101.0.4951.64 (boo#1199409)
128
+  * CVE-2022-1633: Use after free in Sharesheet
129
+  * CVE-2022-1634: Use after free in Browser UI
130
+  * CVE-2022-1635: Use after free in Permission Prompts
131
+  * CVE-2022-1636: Use after free in Performance APIs
132
+  * CVE-2022-1637: Inappropriate implementation in Web Contents
133
+  * CVE-2022-1638: Heap buffer overflow in V8 Internationalization
134
+  * CVE-2022-1639: Use after free in ANGLE
135
+  * CVE-2022-1640: Use after free in Sharing
136
+  * CVE-2022-1641: Use after free in Web UI Diagnostics
137
+
138
+-------------------------------------------------------------------
139
+Wed May  4 09:34:58 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
140
+
141
+- Chromium 101.0.4951.54 (boo#1199118)
142
+- Chromium 101.0.4951.41 (boo#1198917)
143
+  * CVE-2022-1477: Use after free in Vulkan
144
+  * CVE-2022-1478: Use after free in SwiftShader
145
+  * CVE-2022-1479: Use after free in ANGLE
146
+  * CVE-2022-1480: Use after free in Device API
147
+  * CVE-2022-1481: Use after free in Sharing
148
+  * CVE-2022-1482: Inappropriate implementation in WebGL
149
+  * CVE-2022-1483: Heap buffer overflow in WebGPU
150
+  * CVE-2022-1484: Heap buffer overflow in Web UI Settings
151
+  * CVE-2022-1485: Use after free in File System API
152
+  * CVE-2022-1486: Type Confusion in V8
153
+  * CVE-2022-1487: Use after free in Ozone
154
+  * CVE-2022-1488: Inappropriate implementation in Extensions API
155
+  * CVE-2022-1489: Out of bounds memory access in UI Shelf
156
+  * CVE-2022-1490: Use after free in Browser Switcher
157
+  * CVE-2022-1491: Use after free in Bookmarks
158
+  * CVE-2022-1492: Insufficient data validation in Blink Editing
159
+  * CVE-2022-1493: Use after free in Dev Tools
160
+  * CVE-2022-1494: Insufficient data validation in Trusted Types
161
+  * CVE-2022-1495: Incorrect security UI in Downloads
162
+  * CVE-2022-1496: Use after free in File Manager
163
+  * CVE-2022-1497: Inappropriate implementation in Input
164
+  * CVE-2022-1498: Inappropriate implementation in HTML Parser
165
+  * CVE-2022-1499: Inappropriate implementation in WebAuthentication
166
+  * CVE-2022-1500: Insufficient data validation in Dev Tools
167
+  * CVE-2022-1501: Inappropriate implementation in iframe
168
+- Added patches:
169
+  * chromium-101-libxml-unbundle.patch
170
+  * chromium-101-segmentation_platform-type.patch
171
+- Removed patches:
172
+  * chromium-100-SCTHashdanceMetadata-move.patch
173
+  * chromium-100-GLImplementationParts-constexpr.patch
174
+  * chromium-100-macro-typo.patch
175
+  
176
+-------------------------------------------------------------------
177
 Sun Apr 24 05:23:26 UTC 2022 - Carsten Ziepke <kieltux@gmail.com>
178
 
179
 - Rebase chromium 100.0.4896.127 for use as chromium-ffmpeg-extra
180
 
181
 -------------------------------------------------------------------
182
+Thu Apr 21 10:04:22 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
183
+
184
+- Fixes for go 1.18
185
+
186
+-------------------------------------------------------------------
187
 Fri Apr 15 07:29:35 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
188
 
189
 - Chromium 100.0.4896.127 (boo#1198509)
190
chromium-ffmpeg-extra.spec Changed
201
 
1
@@ -20,11 +20,16 @@
2
 %define outputdir out
3
 # bsc#1108175
4
 %define __provides_exclude ^lib.*\\.so.*$
5
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
6
+%if 0%{?suse_version} >= 1550
7
 %bcond_without system_icu
8
 %else
9
 %bcond_with system_icu
10
 %endif
11
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
12
+%bcond_without gtk4
13
+%else
14
+%bcond_with gtk4
15
+%endif
16
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
17
 %bcond_without pipewire
18
 %else
19
@@ -48,7 +53,7 @@
20
 # Chromium built with GCC 11 and LTO enabled crashes (boo#1194055)
21
 %bcond_with lto
22
 Name:           chromium-ffmpeg-extra
23
-Version:        100.0.4896.127
24
+Version:        103.0.5060.114
25
 Release:        0
26
 Summary:        Google's open source browser project
27
 License:        BSD-3-Clause AND LGPL-2.1-or-later
28
@@ -56,6 +61,7 @@
29
 Source0:        https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz
30
 Source1:        esbuild.tar.gz
31
 Source3:        README.SUSE
32
+Source4:        ffmpeg-new-channel-layout.patch
33
 # Toolchain definitions
34
 Source30:       master_preferences
35
 Source104:      chromium-symbolic.svg
36
@@ -82,33 +88,26 @@
37
 Patch11:        chromium-lp151-old-drm.patch
38
 # gentoo/fedora/arch patchset
39
 Patch12:        chromium-78-protobuf-RepeatedPtrField-export.patch
40
-Patch13:        chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
41
-Patch15:        chromium-100-compiler.patch
42
+Patch15:        chromium-103-compiler.patch
43
 Patch17:        chromium-86-ImageMemoryBarrierData-init.patch
44
 Patch21:        chromium-gcc11.patch
45
 Patch40:        chromium-91-java-only-allowed-in-android-builds.patch
46
-Patch46:        chromium-91-sql-standard-layout-type.patch
47
 Patch50:        chromium-clang-nomerge.patch
48
 Patch62:        chromium-93-ffmpeg-4.4.patch
49
 Patch63:        chromium-ffmpeg-lp152.patch
50
 Patch65:        chromium-94-sql-no-assert.patch
51
+Patch68:        chromium-94-ffmpeg-roll.patch
52
 Patch69:        chromium-93-InkDropHost-crash.patch
53
-Patch72:        chromium-95-quiche-include.patch
54
 Patch78:        chromium-98-EnumTable-crash.patch
55
-Patch80:        chromium-97-ScrollView-reference.patch
56
-Patch84:        chromium-third_party-symbolize-missing-include.patch
57
-Patch85:        chromium-fix-swiftshader-template.patch
58
-Patch86:        chromium-97-arm-tflite-cast.patch
59
 Patch87:        chromium-98-gtk4-build.patch
60
-Patch89:        chromium-100-GLImplementationParts-constexpr.patch
61
 Patch90:        chromium-100-InMilliseconds-constexpr.patch
62
-Patch91:        chromium-100-SCTHashdanceMetadata-move.patch
63
-Patch92:        chromium-100-macro-typo.patch
64
-Patch93:        chromium-missing-include-tuple.patch
65
-Patch94:        chromium-webrtc-stats-missing-vector.patch
66
-Patch101:       chromium-86-fix-vaapi-on-intel.patch
67
+Patch98:        chromium-102-regex_pattern-array.patch
68
+Patch101:       chromium-103-FrameLoadRequest-type.patch
69
+Patch102:       chromium-103-SubstringSetMatcher-packed.patch
70
+Patch103:       chromium-103-VirtualCursor-std-layout.patch
71
+Patch201:       chromium-86-fix-vaapi-on-intel.patch
72
 # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding
73
-Patch102:       chromium-prop-codecs.patch
74
+Patch202:       chromium-prop-codecs.patch
75
 BuildRequires:  SDL-devel
76
 BuildRequires:  bison
77
 BuildRequires:  cups-devel
78
@@ -116,6 +115,7 @@
79
 BuildRequires:  elfutils
80
 BuildRequires:  fdupes
81
 BuildRequires:  flex
82
+BuildRequires:  git
83
 BuildRequires:  gn >= 0.1807
84
 BuildRequires:  gperf
85
 BuildRequires:  hicolor-icon-theme
86
@@ -153,8 +153,6 @@
87
 BuildRequires:  pkgconfig(flac++)
88
 BuildRequires:  pkgconfig(gbm)
89
 BuildRequires:  pkgconfig(glib-2.0)
90
-BuildRequires:  pkgconfig(gtk+-2.0)
91
-BuildRequires:  pkgconfig(gtk+-3.0)
92
 BuildRequires:  pkgconfig(hunspell)
93
 BuildRequires:  pkgconfig(imlib2)
94
 BuildRequires:  pkgconfig(jack)
95
@@ -243,6 +241,12 @@
96
 %if %{with system_zlib}
97
 BuildRequires:  pkgconfig(zlib)
98
 %endif
99
+%if %{with gtk4}
100
+BuildRequires:  pkgconfig(atk-bridge-2.0)
101
+BuildRequires:  pkgconfig(gtk4)
102
+%else
103
+BuildRequires:  pkgconfig(gtk+-3.0)
104
+%endif
105
 %if %{with clang}
106
 %if %{?suse_version} < 1550
107
 BuildRequires:  clang12
108
@@ -277,6 +281,10 @@
109
 %prep
110
 %setup -q -n %{rname}-%{version}
111
 %autopatch -p1
112
+%if 0%{?suse_version} >= 1550
113
+patch -R -p1 < %{PATCH68}
114
+%endif
115
+patch -R -p1 < %{SOURCE4}
116
 
117
 %build
118
 # esbuild
119
@@ -299,7 +307,7 @@
120
 ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
121
 
122
 # python3
123
-mkdir $HOME/bin
124
+mkdir -p $HOME/bin
125
 export PYTHON=python3
126
 ln -sfn %{_bindir}/$PYTHON $HOME/bin/python
127
 export PATH="$HOME/bin/:$PATH"
128
@@ -364,6 +372,7 @@
129
     third_party/ced
130
     third_party/cld_3
131
     third_party/closure_compiler
132
+    third_party/cpuinfo
133
     third_party/crashpad
134
     third_party/crashpad/crashpad/third_party/lss
135
     third_party/crashpad/crashpad/third_party/zlib
136
@@ -372,7 +381,6 @@
137
     third_party/dav1d
138
     third_party/dawn
139
     third_party/dawn/third_party
140
-    third_party/dawn/third_party/tint/src/ast
141
     third_party/depot_tools
142
     third_party/depot_tools/third_party/six
143
     third_party/devscripts
144
@@ -401,7 +409,9 @@
145
     third_party/fdlibm
146
     third_party/fft2d
147
     third_party/flatbuffers
148
+    third_party/fp16
149
     third_party/fusejs/dist
150
+    third_party/fxdiv
151
     third_party/gemmlowp
152
     third_party/google_input_tools
153
     third_party/google_input_tools/third_party/closure_library
154
@@ -438,7 +448,6 @@
155
     third_party/libx11/src
156
     third_party/libxcb-keysyms/keysyms
157
     third_party/libxml/chromium
158
-    third_party/libXNVCtrl
159
     third_party/libyuv
160
     third_party/libzip
161
     third_party/lottie
162
@@ -457,7 +466,6 @@
163
     third_party/node
164
     third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
165
     third_party/one_euro_filter
166
-    third_party/opencv
167
     third_party/openscreen
168
     third_party/openscreen/src/third_party/mozilla
169
     third_party/openscreen/src/third_party/tinycbor/src/src
170
@@ -481,6 +489,7 @@
171
     third_party/private_membership
172
     third_party/protobuf
173
     third_party/protobuf/third_party/six
174
+    third_party/pthreadpool
175
     third_party/pyjson5
176
     third_party/qcms
177
     third_party/rnnoise
178
@@ -501,14 +510,14 @@
179
     third_party/swiftshader/third_party/llvm-10.0
180
     third_party/swiftshader/third_party/llvm-subzero
181
     third_party/swiftshader/third_party/marl
182
-    third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
183
+    third_party/swiftshader/third_party/SPIRV-Headers
184
+    third_party/swiftshader/third_party/SPIRV-Tools
185
     third_party/swiftshader/third_party/subzero
186
     third_party/tensorflow-text
187
     third_party/tflite
188
     third_party/tflite/src/third_party/eigen3
189
     third_party/tflite/src/third_party/fft2d
190
     third_party/ukey2
191
-    third_party/usrsctp
192
     third_party/utf
193
     third_party/vulkan
194
     third_party/wayland
195
@@ -528,6 +537,7 @@
196
     third_party/wuffs
197
     third_party/x11proto
198
     third_party/xcbproto
199
+    third_party/xnnpack
200
     third_party/zlib/google
201
chromium-100-GLImplementationParts-constexpr.patch Deleted
94
 
1
@@ -1,92 +0,0 @@
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-SCTHashdanceMetadata-move.patch Deleted
37
 
1
@@ -1,35 +0,0 @@
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 Deleted
201
 
1
@@ -1,220 +0,0 @@
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 Deleted
31
 
1
@@ -1,29 +0,0 @@
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-102-regex_pattern-array.patch Added
16
 
1
@@ -0,0 +1,14 @@
2
+--- a/components/autofill/core/browser/BUILD.gn
3
++++ b/components/autofill/core/browser/BUILD.gn
4
+@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") {
5
+ }
6
+ 
7
+ static_library("browser") {
8
++  if (is_clang) {
9
++    cflags = 
10
++      "-fbracket-depth=1000",
11
++    
12
++  }
13
+   sources = 
14
+     "address_normalization_manager.cc",
15
+     "address_normalization_manager.h",
16
chromium-103-FrameLoadRequest-type.patch Added
28
 
1
@@ -0,0 +1,26 @@
2
+From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Thu, 12 May 2022 11:58:29 +0000
5
+Subject: PATCH GCC: fix ambiguous references in blink::FrameLoadRequest
6
+
7
+Add namespace to avoid confusion.
8
+---
9
+ third_party/blink/renderer/core/loader/frame_load_request.h | 2 +-
10
+ 1 file changed, 1 insertion(+), 1 deletion(-)
11
+
12
+diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h
13
+index 444b25c..a86814d 100644
14
+--- a/third_party/blink/renderer/core/loader/frame_load_request.h
15
++++ b/third_party/blink/renderer/core/loader/frame_load_request.h
16
+@@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest {
17
+     impression_ = impression;
18
+   }
19
+ 
20
+-  const absl::optional<Impression>& Impression() const { return impression_; }
21
++  const absl::optional<blink::Impression>& Impression() const { return impression_; }
22
+ 
23
+   bool CanDisplay(const KURL&) const;
24
+ 
25
+-- 
26
+2.35.1
27
+
28
chromium-103-SubstringSetMatcher-packed.patch Added
72
 
1
@@ -0,0 +1,70 @@
2
+From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001
3
+From: Steinar H. Gunderson <sesse@chromium.org>
4
+Date: Thu, 12 May 2022 16:42:40 +0200
5
+Subject: PATCH Make AhoCorasickNode 4-aligned.
6
+
7
+This should fix an issue where std::vector could allocate unaligned
8
+memory for AhoCorasickNode, and we'd then return a pointer to
9
+inline_edges, where a caller would expect the pointer to be aligned
10
+but it wasn't.
11
+
12
+Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862
13
+---
14
+
15
+diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc
16
+index e110047..ef0b750 100644
17
+--- a/base/substring_set_matcher/substring_set_matcher.cc
18
++++ b/base/substring_set_matcher/substring_set_matcher.cc
19
+@@ -424,7 +424,12 @@
20
+     edges_.inline_edgesnum_edges() = AhoCorasickEdge{label, node};
21
+     if (label == kFailureNodeLabel) {
22
+       // Make sure that kFailureNodeLabel is first.
23
+-      std::swap(edges_.inline_edges0, edges_.inline_edgesnum_edges());
24
++      // NOTE: We don't use std::swap here, because GCC
25
++      // doesn't understand that inline_edges is 4-aligned
26
++      // and gives a warning.
27
++      AhoCorasickEdge temp = edges_.inline_edges0;
28
++      edges_.inline_edges0 = edges_.inline_edgesnum_edges();
29
++      edges_.inline_edgesnum_edges() = temp;
30
+     }
31
+     --num_free_edges_;
32
+     return;
33
+diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc
34
+index e110047..ef0b750 100644
35
+--- a/base/substring_set_matcher/substring_set_matcher.h
36
++++ b/base/substring_set_matcher/substring_set_matcher.h
37
+@@ -154,8 +154,9 @@
38
+   static constexpr uint32_t kEmptyLabel = 0x103;
39
+ 
40
+   // A node in the trie, packed tightly together so that it occupies 12 bytes
41
+-  // (both on 32- and 64-bit platforms).
42
+-  class AhoCorasickNode {
43
++  // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the
44
++  // comment on edges_).
45
++  class alignas(AhoCorasickEdge) AhoCorasickNode {
46
+    public:
47
+     AhoCorasickNode();
48
+     ~AhoCorasickNode();
49
+@@ -178,6 +179,10 @@
50
+     NodeID GetEdgeNoInline(uint32_t label) const;
51
+     void SetEdge(uint32_t label, NodeID node);
52
+     const AhoCorasickEdge* edges() const {
53
++      // NOTE: Returning edges_.inline_edges here is fine, because it's
54
++      // the first thing in the struct (see the comment on edges_).
55
++      DCHECK_EQ(0u, reinterpret_cast<uintptr_t>(edges_.inline_edges) %
56
++                        alignof(AhoCorasickEdge));
57
+       return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges;
58
+     }
59
+ 
60
+@@ -258,6 +263,11 @@
61
+     // in the first slot if it exists (ie., is not equal to kRootID), since we
62
+     // need to access that label during every single node we look at during
63
+     // traversal.
64
++    //
65
++    // NOTE: Keep this the first member in the struct, so that inline_edges gets
66
++    // 4-aligned (since the class is marked as such, despite being packed.
67
++    // Otherwise, edges() can return an unaligned pointer marked as aligned
68
++    // (the unalignedness gets lost).
69
+     static constexpr int kNumInlineEdges = 2;
70
+     union {
71
+       // Out-of-line edge storage, having room for edges_capacity_ elements.
72
chromium-103-VirtualCursor-std-layout.patch Added
201
 
1
@@ -0,0 +1,231 @@
2
+From 144479ad7b4287bee4067f95e4218f614798a865 Mon Sep 17 00:00:00 2001
3
+From: Stephan Hartmann <stha09@googlemail.com>
4
+Date: Sun, 16 Jan 2022 19:15:26 +0000
5
+Subject: PATCH sql: make VirtualCursor standard layout type
6
+
7
+sql::recover::VirtualCursor needs to be a standard layout type, but
8
+has members of type std::unique_ptr. However, std::unique_ptr is not
9
+guaranteed to be standard layout. Compiling with clang combined with
10
+gcc-11 libstdc++ fails because of this.
11
+
12
+Bug: 1189788
13
+Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c
14
+---
15
+
16
+diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
17
+index cc9420e5..f12d8fa 100644
18
+--- a/sql/recover_module/btree.cc
19
++++ b/sql/recover_module/btree.cc
20
+@@ -136,16 +136,22 @@
21
+               "Move the destructor to the .cc file if it's non-trival");
22
+ #endif  // !DCHECK_IS_ON()
23
+ 
24
+-LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept
25
+-    : page_id_(db_reader->page_id()),
26
+-      db_reader_(db_reader),
27
+-      cell_count_(ComputeCellCount(db_reader)),
28
+-      next_read_index_(0),
29
+-      last_record_size_(0) {
30
++LeafPageDecoder::LeafPageDecoder() noexcept = default;
31
++
32
++void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) {
33
++  page_id_ = db_reader->page_id();
34
++  db_reader_ = db_reader;
35
++  cell_count_ = ComputeCellCount(db_reader);
36
++  next_read_index_ = 0;
37
++  last_record_size_ = 0;
38
+   DCHECK(IsOnValidPage(db_reader));
39
+   DCHECK(DatabasePageReader::IsValidPageId(page_id_));
40
+ }
41
+ 
42
++void LeafPageDecoder::Reset() {
43
++  db_reader_ = nullptr;
44
++}
45
++
46
+ bool LeafPageDecoder::TryAdvance() {
47
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
48
+   DCHECK(CanAdvance());
49
+diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
50
+index eaa087a5..df0e0c9 100644
51
+--- a/sql/recover_module/btree.h
52
++++ b/sql/recover_module/btree.h
53
+@@ -101,9 +101,7 @@
54
+  public:
55
+   // Creates a decoder for a DatabasePageReader's last read page.
56
+   //
57
+-  // |db_reader| must have been used to read an inner page of a table B-tree.
58
+-  // |db_reader| must outlive this instance.
59
+-  explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept;
60
++  LeafPageDecoder() noexcept;
61
+   ~LeafPageDecoder() noexcept = default;
62
+ 
63
+   LeafPageDecoder(const LeafPageDecoder&) = delete;
64
+@@ -151,6 +149,17 @@
65
+   // read as long as CanAdvance() returns true.
66
+   bool TryAdvance();
67
+ 
68
++  // Initialize with DatabasePageReader
69
++  // |db_reader| must have been used to read an inner page of a table B-tree.
70
++  // |db_reader| must outlive this instance.
71
++  void Initialize(DatabasePageReader* db_reader);
72
++
73
++  // Reset internal DatabasePageReader
74
++  void Reset();
75
++
76
++  // True if DatabasePageReader is valid
77
++  bool IsValid() { return (db_reader_ != nullptr); }
78
++
79
+   // True if the given reader may point to an inner page in a table B-tree.
80
+   //
81
+   // The last ReadPage() call on |db_reader| must have succeeded.
82
+@@ -164,14 +173,14 @@
83
+   static int ComputeCellCount(DatabasePageReader* db_reader);
84
+ 
85
+   // The number of the B-tree page this reader is reading.
86
+-  const int64_t page_id_;
87
++  int64_t page_id_;
88
+   // Used to read the tree page.
89
+   //
90
+   // Raw pointer usage is acceptable because this instance's owner is expected
91
+   // to ensure that the DatabasePageReader outlives this.
92
+-  DatabasePageReader* const db_reader_;
93
++  DatabasePageReader* db_reader_;
94
+   // Caches the ComputeCellCount() value for this reader's page.
95
+-  const int cell_count_ = ComputeCellCount(db_reader_);
96
++  int cell_count_;
97
+ 
98
+   // The reader's cursor state.
99
+   //
100
+diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
101
+index 4f827ed..240de499 100644
102
+--- a/sql/recover_module/cursor.cc
103
++++ b/sql/recover_module/cursor.cc
104
+@@ -28,7 +28,7 @@
105
+ int VirtualCursor::First() {
106
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
107
+   inner_decoders_.clear();
108
+-  leaf_decoder_ = nullptr;
109
++  leaf_decoder_.Reset();
110
+ 
111
+   AppendPageDecoder(table_->root_page_id());
112
+   return Next();
113
+@@ -38,18 +38,18 @@
114
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
115
+   record_reader_.Reset();
116
+ 
117
+-  while (!inner_decoders_.empty() || leaf_decoder_.get()) {
118
+-    if (leaf_decoder_.get()) {
119
+-      if (!leaf_decoder_->CanAdvance()) {
120
++  while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) {
121
++    if (leaf_decoder_.IsValid()) {
122
++      if (!leaf_decoder_.CanAdvance()) {
123
+         // The leaf has been exhausted. Remove it from the DFS stack.
124
+-        leaf_decoder_ = nullptr;
125
++        leaf_decoder_.Reset();
126
+         continue;
127
+       }
128
+-      if (!leaf_decoder_->TryAdvance())
129
++      if (!leaf_decoder_.TryAdvance())
130
+         continue;
131
+ 
132
+-      if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(),
133
+-                                      leaf_decoder_->last_record_offset())) {
134
++      if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(),
135
++                                      leaf_decoder_.last_record_offset())) {
136
+         continue;
137
+       }
138
+       if (!record_reader_.Initialize())
139
+@@ -101,13 +101,13 @@
140
+ int64_t VirtualCursor::RowId() {
141
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
142
+   DCHECK(record_reader_.IsInitialized());
143
+-  DCHECK(leaf_decoder_.get());
144
+-  return leaf_decoder_->last_record_rowid();
145
++  DCHECK(leaf_decoder_.IsValid());
146
++  return leaf_decoder_.last_record_rowid();
147
+ }
148
+ 
149
+ void VirtualCursor::AppendPageDecoder(int page_id) {
150
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
151
+-  DCHECK(leaf_decoder_.get() == nullptr)
152
++  DCHECK(!leaf_decoder_.IsValid())
153
+       << __func__
154
+       << " must only be called when the current path has no leaf decoder";
155
+ 
156
+@@ -115,7 +115,7 @@
157
+     return;
158
+ 
159
+   if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
160
+-    leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_);
161
++    leaf_decoder_.Initialize(&db_reader_);
162
+     return;
163
+   }
164
+ 
165
+diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
166
+index 845b785..cc4e85f8 100644
167
+--- a/sql/recover_module/cursor.h
168
++++ b/sql/recover_module/cursor.h
169
+@@ -130,7 +130,7 @@
170
+   std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
171
+ 
172
+   // Decodes the leaf page containing records.
173
+-  std::unique_ptr<LeafPageDecoder> leaf_decoder_;
174
++  LeafPageDecoder leaf_decoder_;
175
+ 
176
+   SEQUENCE_CHECKER(sequence_checker_);
177
+ };
178
+diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
179
+index 58e75de..69d98cef 100644
180
+--- a/sql/recover_module/pager.cc
181
++++ b/sql/recover_module/pager.cc
182
+@@ -23,8 +23,7 @@
183
+               "ints are not appropriate for representing page IDs");
184
+ 
185
+ DatabasePageReader::DatabasePageReader(VirtualTable* table)
186
+-    : page_data_(std::make_unique<uint8_t>(table->page_size())),
187
+-      table_(table) {
188
++    : page_data_(table->page_size()), table_(table) {
189
+   DCHECK(table != nullptr);
190
+   DCHECK(IsValidPageSize(table->page_size()));
191
+ }
192
+@@ -58,7 +57,7 @@
193
+                 "The |read_offset| computation above may overflow");
194
+ 
195
+   int sqlite_status =
196
+-      RawRead(sqlite_file, read_size, read_offset, page_data_.get());
197
++      RawRead(sqlite_file, read_size, read_offset, page_data_.data());
198
+ 
199
+   // |page_id_| needs to be set to kInvalidPageId if the read failed.
200
+   // Otherwise, future ReadPage() calls with the previous |page_id_| value
201
chromium-103-compiler.patch Added
201
 
1
@@ -0,0 +1,235 @@
2
+From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001
3
+From: Mike Gilbert <floppym@gentoo.org>
4
+Date: Tue, 3 May 2022 10:51:55 +0000
5
+Subject: PATCH Disable various compiler configs
6
+
7
+---
8
+ build/config/compiler/BUILD.gn | 114 +++++----------------------------
9
+ 1 file changed, 17 insertions(+), 97 deletions(-)
10
+
11
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
12
+index f378b95..cb2aeb3 100644
13
+--- a/build/config/compiler/BUILD.gn
14
++++ b/build/config/compiler/BUILD.gn
15
+@@ -286,9 +286,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
+@@ -522,31 +520,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
+@@ -1231,45 +1204,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
+@@ -1534,15 +1468,6 @@ config("default_warnings") {
104
+         cflags +=  "-Wno-unqualified-std-cast-call" 
105
+       }
106
+ 
107
+-      if (!is_nacl && !(is_chromeos ||
108
+-                        default_toolchain == "//build/toolchain/cros:target")) {
109
+-        # TODO(https://crbug.com/1316298): Re-enable once test failure is figured out
110
+-        cflags += 
111
+-          "-Xclang",
112
+-          "-no-opaque-pointers",
113
+-        
114
+-      }
115
+-
116
+       if (is_fuchsia) {
117
+         # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383)
118
+         cflags +=  "-Wno-deprecated-copy" 
119
+@@ -1611,7 +1536,7 @@ config("chromium_code") {
120
+       defines =  "_HAS_NODISCARD" 
121
+     }
122
+   } else {
123
+-    cflags =  "-Wall" 
124
++    cflags = 
125
+     if (treat_warnings_as_errors) {
126
+       cflags +=  "-Werror" 
127
+ 
128
+@@ -1620,10 +1545,6 @@ config("chromium_code") {
129
+       # well.
130
+       ldflags =  "-Werror" 
131
+     }
132
+-    if (is_clang) {
133
+-      # Enable extra warnings for chromium_code when we control the compiler.
134
+-      cflags +=  "-Wextra" 
135
+-    }
136
+ 
137
+     # In Chromium code, we define __STDC_foo_MACROS in order to get the
138
+     # C99 macros on Mac and Linux.
139
+@@ -1632,15 +1553,6 @@ config("chromium_code") {
140
+       "__STDC_FORMAT_MACROS",
141
+     
142
+ 
143
+-    if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
144
+-        current_cpu != "s390" && current_cpu != "ppc64" &&
145
+-        current_cpu != "mips" && current_cpu != "mips64") {
146
+-      # Non-chromium code is not guaranteed to compile cleanly with
147
+-      # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
148
+-      # disabled, so only do that for Release build.
149
+-      defines +=  "_FORTIFY_SOURCE=2" 
150
+-    }
151
+-
152
+     if (is_mac) {
153
+       cflags_objc =  "-Wobjc-missing-property-synthesis" 
154
+       cflags_objcc =  "-Wobjc-missing-property-synthesis" 
155
+@@ -2031,7 +1943,8 @@ config("default_stack_frames") {
156
+ }
157
+ 
158
+ # Default "optimization on" config.
159
+-config("optimize") {
160
++config("optimize") { }
161
++config("xoptimize") {
162
+   if (is_win) {
163
+     if (chrome_pgo_phase != 2) {
164
+       # Favor size over speed, /O1 must be before the common flags.
165
+@@ -2069,7 +1982,8 @@ config("optimize") {
166
+ }
167
+ 
168
+ # Turn off optimizations.
169
+-config("no_optimize") {
170
++config("no_optimize") { }
171
++config("xno_optimize") {
172
+   if (is_win) {
173
+     cflags = 
174
+       "/Od",  # Disable optimization.
175
+@@ -2109,7 +2023,8 @@ config("no_optimize") {
176
+ # Turns up the optimization level. On Windows, this implies whole program
177
+ # optimization and link-time code generation which is very expensive and should
178
+ # be used sparingly.
179
+-config("optimize_max") {
180
++config("optimize_max") { }
181
++config("xoptimize_max") {
182
+   if (is_nacl && is_nacl_irt) {
183
+     # The NaCl IRT is a special case and always wants its own config.
184
+     # Various components do:
185
+@@ -2142,7 +2057,8 @@ config("optimize_max") {
186
+ #
187
+ # TODO(crbug.com/621335) - rework how all of these configs are related
188
+ # so that we don't need this disclaimer.
189
+-config("optimize_speed") {
190
++config("optimize_speed") { }
191
++config("xoptimize_speed") {
192
+   if (is_nacl && is_nacl_irt) {
193
+     # The NaCl IRT is a special case and always wants its own config.
194
+     # Various components do:
195
+@@ -2168,7 +2084,8 @@ config("optimize_speed") {
196
+   }
197
+ }
198
+ 
199
+-config("optimize_fuzzing") {
200
++config("optimize_fuzzing") { }
201
chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch Deleted
32
 
1
@@ -1,30 +0,0 @@
2
-From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
3
-From: vasilvv <vasilvv@google.com>
4
-Date: Wed, 03 Apr 2019 13:58:53 -0700
5
-Subject: PATCH GCC: do not delete move constructor of QuicStreamSendBuffer
6
-
7
-QuicStreamSendBuffer constructor is implicitely required in the
8
-initialization of the vector of substreams in QuicCryptoStream.
9
-Though clang apparently ignores that, GCC fails to build.
10
-
11
-BUG=chromium:819294
12
-
13
-Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
14
-
15
-PiperOrigin-RevId: 241800134
16
-Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
17
----
18
-
19
-diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
20
-index e34514b..74e9d0d 100644
21
---- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
22
-+++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
23
-@@ -62,7 +62,7 @@
24
-  public:
25
-   explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
26
-   QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
27
--  QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
28
-+  QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
29
-   ~QuicStreamSendBuffer();
30
- 
31
-   // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
32
chromium-91-sql-standard-layout-type.patch Deleted
201
 
1
@@ -1,238 +0,0 @@
2
-From 80368f8ba7a8bab13440463a254888311efe3986 Mon Sep 17 00:00:00 2001
3
-From: Stephan Hartmann <stha09@googlemail.com>
4
-Date: Tue, 4 May 2021 15:00:19 +0000
5
-Subject: PATCH sql: make VirtualCursor standard layout type
6
-
7
-sql::recover::VirtualCursor needs to be a standard layout type, but
8
-has members of type std::unique_ptr. However, std::unique_ptr is not
9
-guaranteed to be standard layout. Compiling with clang combined with
10
-gcc-11 libstdc++ fails because of this. Replace std::unique_ptr with
11
-raw pointers.
12
-
13
-Bug: 1189788
14
-Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c
15
----
16
- sql/recover_module/btree.cc  | 21 +++++++++++++++------
17
- sql/recover_module/btree.h   | 17 +++++++++++++----
18
- sql/recover_module/cursor.cc | 24 ++++++++++++------------
19
- sql/recover_module/cursor.h  |  2 +-
20
- sql/recover_module/pager.cc  |  7 +++----
21
- sql/recover_module/pager.h   |  5 +++--
22
- 6 files changed, 47 insertions(+), 29 deletions(-)
23
-
24
-Index: chromium-98.0.4758.80/sql/recover_module/btree.cc
25
-===================================================================
26
---- chromium-98.0.4758.80.orig/sql/recover_module/btree.cc
27
-+++ chromium-98.0.4758.80/sql/recover_module/btree.cc
28
-@@ -136,16 +136,25 @@ static_assert(std::is_trivially_destruct
29
-               "Move the destructor to the .cc file if it's non-trival");
30
- #endif  // !DCHECK_IS_ON()
31
- 
32
--LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept
33
--    : page_id_(db_reader->page_id()),
34
--      db_reader_(db_reader),
35
--      cell_count_(ComputeCellCount(db_reader)),
36
--      next_read_index_(0),
37
--      last_record_size_(0) {
38
-+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) {
39
-+  DCHECK(db_reader);
40
-   DCHECK(IsOnValidPage(db_reader));
41
-+  page_id_ = db_reader->page_id();
42
-+  db_reader_ = db_reader;
43
-+  cell_count_ = ComputeCellCount(db_reader);
44
-+  next_read_index_ = 0;
45
-+  last_record_size_ = 0;
46
-   DCHECK(DatabasePageReader::IsValidPageId(page_id_));
47
- }
48
- 
49
-+void LeafPageDecoder::Reset() {
50
-+  db_reader_ = nullptr;
51
-+  page_id_ = 0;
52
-+  cell_count_ = 0;
53
-+  next_read_index_ = 0;
54
-+  last_record_size_ = 0;
55
-+}
56
-+
57
- bool LeafPageDecoder::TryAdvance() {
58
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
59
-   DCHECK(CanAdvance());
60
-Index: chromium-98.0.4758.80/sql/recover_module/btree.h
61
-===================================================================
62
---- chromium-98.0.4758.80.orig/sql/recover_module/btree.h
63
-+++ chromium-98.0.4758.80/sql/recover_module/btree.h
64
-@@ -103,7 +103,7 @@ class LeafPageDecoder {
65
-   //
66
-   // |db_reader| must have been used to read an inner page of a table B-tree.
67
-   // |db_reader| must outlive this instance.
68
--  explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept;
69
-+  explicit LeafPageDecoder() noexcept = default;
70
-   ~LeafPageDecoder() noexcept = default;
71
- 
72
-   LeafPageDecoder(const LeafPageDecoder&) = delete;
73
-@@ -151,6 +151,15 @@ class LeafPageDecoder {
74
-   // read as long as CanAdvance() returns true.
75
-   bool TryAdvance();
76
- 
77
-+  // Initialize with DatabasePageReader
78
-+  void Initialize(DatabasePageReader* db_reader);
79
-+
80
-+  // Reset internal DatabasePageReader
81
-+  void Reset();
82
-+
83
-+  // True if DatabasePageReader is valid
84
-+  bool IsValid() { return (db_reader_ != nullptr); }
85
-+
86
-   // True if the given reader may point to an inner page in a table B-tree.
87
-   //
88
-   // The last ReadPage() call on |db_reader| must have succeeded.
89
-@@ -164,14 +173,14 @@ class LeafPageDecoder {
90
-   static int ComputeCellCount(DatabasePageReader* db_reader);
91
- 
92
-   // The number of the B-tree page this reader is reading.
93
--  const int64_t page_id_;
94
-+  int64_t page_id_;
95
-   // Used to read the tree page.
96
-   //
97
-   // Raw pointer usage is acceptable because this instance's owner is expected
98
-   // to ensure that the DatabasePageReader outlives this.
99
--  DatabasePageReader* const db_reader_;
100
-+  DatabasePageReader* db_reader_;
101
-   // Caches the ComputeCellCount() value for this reader's page.
102
--  const int cell_count_ = ComputeCellCount(db_reader_);
103
-+  int cell_count_;
104
- 
105
-   // The reader's cursor state.
106
-   //
107
-Index: chromium-98.0.4758.80/sql/recover_module/cursor.cc
108
-===================================================================
109
---- chromium-98.0.4758.80.orig/sql/recover_module/cursor.cc
110
-+++ chromium-98.0.4758.80/sql/recover_module/cursor.cc
111
-@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() {
112
- int VirtualCursor::First() {
113
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
114
-   inner_decoders_.clear();
115
--  leaf_decoder_ = nullptr;
116
-+  leaf_decoder_.Reset();
117
- 
118
-   AppendPageDecoder(table_->root_page_id());
119
-   return Next();
120
-@@ -38,18 +38,18 @@ int VirtualCursor::Next() {
121
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
122
-   record_reader_.Reset();
123
- 
124
--  while (!inner_decoders_.empty() || leaf_decoder_.get()) {
125
--    if (leaf_decoder_.get()) {
126
--      if (!leaf_decoder_->CanAdvance()) {
127
-+  while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) {
128
-+    if (leaf_decoder_.IsValid()) {
129
-+      if (!leaf_decoder_.CanAdvance()) {
130
-         // The leaf has been exhausted. Remove it from the DFS stack.
131
--        leaf_decoder_ = nullptr;
132
-+        leaf_decoder_.Reset();
133
-         continue;
134
-       }
135
--      if (!leaf_decoder_->TryAdvance())
136
-+      if (!leaf_decoder_.TryAdvance())
137
-         continue;
138
- 
139
--      if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(),
140
--                                      leaf_decoder_->last_record_offset())) {
141
-+      if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(),
142
-+                                      leaf_decoder_.last_record_offset())) {
143
-         continue;
144
-       }
145
-       if (!record_reader_.Initialize())
146
-@@ -101,13 +101,13 @@ int VirtualCursor::ReadColumn(int column
147
- int64_t VirtualCursor::RowId() {
148
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
149
-   DCHECK(record_reader_.IsInitialized());
150
--  DCHECK(leaf_decoder_.get());
151
--  return leaf_decoder_->last_record_rowid();
152
-+  DCHECK(leaf_decoder_.IsValid());
153
-+  return leaf_decoder_.last_record_rowid();
154
- }
155
- 
156
- void VirtualCursor::AppendPageDecoder(int page_id) {
157
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
158
--  DCHECK(leaf_decoder_.get() == nullptr)
159
-+  DCHECK(!leaf_decoder_.IsValid())
160
-       << __func__
161
-       << " must only be called when the current path has no leaf decoder";
162
- 
163
-@@ -115,7 +115,7 @@ void VirtualCursor::AppendPageDecoder(in
164
-     return;
165
- 
166
-   if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
167
--    leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_);
168
-+    leaf_decoder_.Initialize(&db_reader_);
169
-     return;
170
-   }
171
- 
172
-Index: chromium-98.0.4758.80/sql/recover_module/cursor.h
173
-===================================================================
174
---- chromium-98.0.4758.80.orig/sql/recover_module/cursor.h
175
-+++ chromium-98.0.4758.80/sql/recover_module/cursor.h
176
-@@ -130,7 +130,7 @@ class VirtualCursor {
177
-   std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
178
- 
179
-   // Decodes the leaf page containing records.
180
--  std::unique_ptr<LeafPageDecoder> leaf_decoder_;
181
-+  LeafPageDecoder leaf_decoder_;
182
- 
183
-   SEQUENCE_CHECKER(sequence_checker_);
184
- };
185
-Index: chromium-98.0.4758.80/sql/recover_module/pager.cc
186
-===================================================================
187
---- chromium-98.0.4758.80.orig/sql/recover_module/pager.cc
188
-+++ chromium-98.0.4758.80/sql/recover_module/pager.cc
189
-@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPa
190
-               "ints are not appropriate for representing page IDs");
191
- 
192
- DatabasePageReader::DatabasePageReader(VirtualTable* table)
193
--    : page_data_(std::make_unique<uint8_t>(table->page_size())),
194
--      table_(table) {
195
-+    : page_data_(), table_(table) {
196
-   DCHECK(table != nullptr);
197
-   DCHECK(IsValidPageSize(table->page_size()));
198
- }
199
-@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int pag
200
-                     std::numeric_limits<int64_t>::max(),
201
chromium-95-quiche-include.patch Deleted
24
 
1
@@ -1,22 +0,0 @@
2
-From a9d986203bcfbaab84f270c1dc6c3abb4c450ee1 Mon Sep 17 00:00:00 2001
3
-From: Stephan Hartmann <stha09@googlemail.com>
4
-Date: Fri, 17 Sep 2021 14:57:33 +0000
5
-Subject: PATCH IWYU: add stddef.h for size_t in WindowManager
6
-
7
----
8
- net/third_party/quiche/src/http2/adapter/window_manager.h | 2 ++
9
- 1 file changed, 2 insertions(+)
10
-
11
-Index: chromium-96.0.4664.45/net/third_party/quiche/src/http2/adapter/window_manager.h
12
-===================================================================
13
---- chromium-96.0.4664.45.orig/net/third_party/quiche/src/http2/adapter/window_manager.h
14
-+++ chromium-96.0.4664.45/net/third_party/quiche/src/http2/adapter/window_manager.h
15
-@@ -3,6 +3,8 @@
16
- 
17
- #include <stddef.h>
18
- 
19
-+#include <stddef.h>
20
-+
21
- #include <functional>
22
- 
23
- #include "common/platform/api/quiche_export.h"
24
chromium-97-ScrollView-reference.patch Deleted
25
 
1
@@ -1,23 +0,0 @@
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 Deleted
28
 
1
@@ -1,26 +0,0 @@
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-clang-nomerge.patch Changed
13
 
1
@@ -32,9 +32,9 @@
2
  #endif  // defined(__clang_analyzer__)
3
  
4
  // Use nomerge attribute to disable optimization of merging multiple same calls.
5
--#if defined(__clang__) && __has_attribute(nomerge)
6
+-#if defined(__clang__) && HAS_ATTRIBUTE(nomerge)
7
 +#if defined(__clang__) && (__clang_major__ >= 12) && \
8
-+    __has_attribute(nomerge) && !defined(OS_CHROMEOS)
9
++    HAS_ATTRIBUTE(nomerge) && !defined(OS_CHROMEOS)
10
  #define NOMERGE clang::nomerge
11
  #else
12
  #define NOMERGE
13
chromium-fix-swiftshader-template.patch Deleted
72
 
1
@@ -1,70 +0,0 @@
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-missing-include-tuple.patch Deleted
13
 
1
@@ -1,11 +0,0 @@
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 Deleted
13
 
1
@@ -1,11 +0,0 @@
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-webrtc-stats-missing-vector.patch Deleted
12
 
1
@@ -1,10 +0,0 @@
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
ffmpeg-new-channel-layout.patch Added
201
 
1
@@ -0,0 +1,333 @@
2
+From 6e554a30893150793c2638e3689cf208ffc8e375 Mon Sep 17 00:00:00 2001
3
+From: Dale Curtis <dalecurtis@chromium.org>
4
+Date: Sat, 2 Apr 2022 05:13:53 +0000
5
+Subject: PATCH Roll src/third_party/ffmpeg/ 574c39cce..32b2d1d526 (1125
6
+ commits)
7
+
8
+https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/574c39cce323..32b2d1d526
9
+
10
+Created with:
11
+  roll-dep src/third_party/ffmpeg
12
+
13
+Fixed: 1293918
14
+Cq-Include-Trybots: luci.chromium.try:mac_chromium_asan_rel_ng,linux_chromium_asan_rel_ng,linux_chromium_chromeos_asan_rel_ng
15
+Change-Id: I41945d0f963e3d1f65940067bac22f63b68e37d2
16
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3565647
17
+Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
18
+Reviewed-by: Dan Sanders <sandersd@chromium.org>
19
+Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
20
+Cr-Commit-Position: refs/heads/main@{#988253}
21
+---
22
+ .../clear_key_cdm/ffmpeg_cdm_audio_decoder.cc | 29 ++++++++++---------
23
+ media/ffmpeg/ffmpeg_common.cc                 | 11 +++----
24
+ media/filters/audio_file_reader.cc            |  9 +++---
25
+ media/filters/audio_file_reader_unittest.cc   |  6 ++--
26
+ .../filters/audio_video_metadata_extractor.cc | 11 +++++--
27
+ .../filters/ffmpeg_aac_bitstream_converter.cc |  7 +++--
28
+ ...ffmpeg_aac_bitstream_converter_unittest.cc |  2 +-
29
+ media/filters/ffmpeg_audio_decoder.cc         | 13 +++++----
30
+ 8 files changed, 51 insertions(+), 37 deletions(-)
31
+
32
+diff --git a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
33
+index e4fc3f460e2..9b1ad9f7675 100644
34
+--- a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
35
++++ b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
36
+@@ -74,7 +74,7 @@ void CdmAudioDecoderConfigToAVCodecContext(
37
+       codec_context->sample_fmt = AV_SAMPLE_FMT_NONE;
38
+   }
39
+ 
40
+-  codec_context->channels = config.channel_count;
41
++  codec_context->ch_layout.nb_channels = config.channel_count;
42
+   codec_context->sample_rate = config.samples_per_second;
43
+ 
44
+   if (config.extra_data) {
45
+@@ -124,8 +124,8 @@ void CopySamples(cdm::AudioFormat cdm_format,
46
+     case cdm::kAudioFormatPlanarS16:
47
+     case cdm::kAudioFormatPlanarF32: {
48
+       const int decoded_size_per_channel =
49
+-          decoded_audio_size / av_frame.channels;
50
+-      for (int i = 0; i < av_frame.channels; ++i) {
51
++          decoded_audio_size / av_frame.ch_layout.nb_channels;
52
++      for (int i = 0; i < av_frame.ch_layout.nb_channels; ++i) {
53
+         memcpy(output_buffer, av_frame.extended_datai,
54
+                decoded_size_per_channel);
55
+         output_buffer += decoded_size_per_channel;
56
+@@ -185,13 +185,14 @@ bool FFmpegCdmAudioDecoder::Initialize(
57
+   // Success!
58
+   decoding_loop_ = std::make_unique<FFmpegDecodingLoop>(codec_context_.get());
59
+   samples_per_second_ = config.samples_per_second;
60
+-  bytes_per_frame_ = codec_context_->channels * config.bits_per_channel / 8;
61
++  bytes_per_frame_ =
62
++      codec_context_->ch_layout.nb_channels * config.bits_per_channel / 8;
63
+   output_timestamp_helper_ =
64
+       std::make_unique<AudioTimestampHelper>(config.samples_per_second);
65
+   is_initialized_ = true;
66
+ 
67
+   // Store initial values to guard against midstream configuration changes.
68
+-  channels_ = codec_context_->channels;
69
++  channels_ = codec_context_->ch_layout.nb_channels;
70
+   av_sample_format_ = codec_context_->sample_fmt;
71
+ 
72
+   return true;
73
+@@ -291,17 +292,19 @@ cdm::Status FFmpegCdmAudioDecoder::DecodeBuffer(
74
+   for (auto& frame : audio_frames) {
75
+     int decoded_audio_size = 0;
76
+     if (frame->sample_rate != samples_per_second_ ||
77
+-        frame->channels != channels_ || frame->format != av_sample_format_) {
78
++        frame->ch_layout.nb_channels != channels_ ||
79
++        frame->format != av_sample_format_) {
80
+       DLOG(ERROR) << "Unsupported midstream configuration change!"
81
+                   << " Sample Rate: " << frame->sample_rate << " vs "
82
+-                  << samples_per_second_ << ", Channels: " << frame->channels
83
+-                  << " vs " << channels_ << ", Sample Format: " << frame->format
84
+-                  << " vs " << av_sample_format_;
85
++                  << samples_per_second_
86
++                  << ", Channels: " << frame->ch_layout.nb_channels << " vs "
87
++                  << channels_ << ", Sample Format: " << frame->format << " vs "
88
++                  << av_sample_format_;
89
+       return cdm::kDecodeError;
90
+     }
91
+ 
92
+     decoded_audio_size = av_samples_get_buffer_size(
93
+-        nullptr, codec_context_->channels, frame->nb_samples,
94
++        nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
95
+         codec_context_->sample_fmt, 1);
96
+     if (!decoded_audio_size)
97
+       continue;
98
+@@ -320,9 +323,9 @@ bool FFmpegCdmAudioDecoder::OnNewFrame(
99
+     size_t* total_size,
100
+     std::vector<std::unique_ptr<AVFrame, ScopedPtrAVFreeFrame>>* audio_frames,
101
+     AVFrame* frame) {
102
+-  *total_size += av_samples_get_buffer_size(nullptr, codec_context_->channels,
103
+-                                            frame->nb_samples,
104
+-                                            codec_context_->sample_fmt, 1);
105
++  *total_size += av_samples_get_buffer_size(
106
++      nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
107
++      codec_context_->sample_fmt, 1);
108
+   audio_frames->emplace_back(av_frame_clone(frame));
109
+   return true;
110
+ }
111
+diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
112
+index 87ca8969626..76f03d6608e 100644
113
+--- a/media/ffmpeg/ffmpeg_common.cc
114
++++ b/media/ffmpeg/ffmpeg_common.cc
115
+@@ -345,10 +345,11 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
116
+       codec_context->sample_fmt, codec_context->codec_id);
117
+ 
118
+   ChannelLayout channel_layout =
119
+-      codec_context->channels > 8
120
++      codec_context->ch_layout.nb_channels > 8
121
+           ? CHANNEL_LAYOUT_DISCRETE
122
+-          : ChannelLayoutToChromeChannelLayout(codec_context->channel_layout,
123
+-                                               codec_context->channels);
124
++          : ChannelLayoutToChromeChannelLayout(
125
++                codec_context->ch_layout.u.mask,
126
++                codec_context->ch_layout.nb_channels);
127
+ 
128
+   int sample_rate = codec_context->sample_rate;
129
+   switch (codec) {
130
+@@ -401,7 +402,7 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
131
+                      extra_data, encryption_scheme, seek_preroll,
132
+                      codec_context->delay);
133
+   if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
134
+-    config->SetChannelsForDiscrete(codec_context->channels);
135
++    config->SetChannelsForDiscrete(codec_context->ch_layout.nb_channels);
136
+ 
137
+ #if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
138
+   // These are bitstream formats unknown to ffmpeg, so they don't have
139
+@@ -470,7 +471,7 @@ void AudioDecoderConfigToAVCodecContext(const AudioDecoderConfig& config,
140
+ 
141
+   // TODO(scherkus): should we set |channel_layout|? I'm not sure if FFmpeg uses
142
+   // said information to decode.
143
+-  codec_context->channels = config.channels();
144
++  codec_context->ch_layout.nb_channels = config.channels();
145
+   codec_context->sample_rate = config.samples_per_second();
146
+ 
147
+   if (config.extra_data().empty()) {
148
+diff --git a/media/filters/audio_file_reader.cc b/media/filters/audio_file_reader.cc
149
+index 5f257bdfaa6..e1be5aa9a5b 100644
150
+--- a/media/filters/audio_file_reader.cc
151
++++ b/media/filters/audio_file_reader.cc
152
+@@ -113,14 +113,15 @@ bool AudioFileReader::OpenDecoder() {
153
+ 
154
+   // Verify the channel layout is supported by Chrome.  Acts as a sanity check
155
+   // against invalid files.  See http://crbug.com/171962
156
+-  if (ChannelLayoutToChromeChannelLayout(codec_context_->channel_layout,
157
+-                                         codec_context_->channels) ==
158
++  if (ChannelLayoutToChromeChannelLayout(
159
++          codec_context_->ch_layout.u.mask,
160
++          codec_context_->ch_layout.nb_channels) ==
161
+       CHANNEL_LAYOUT_UNSUPPORTED) {
162
+     return false;
163
+   }
164
+ 
165
+   // Store initial values to guard against midstream configuration changes.
166
+-  channels_ = codec_context_->channels;
167
++  channels_ = codec_context_->ch_layout.nb_channels;
168
+   audio_codec_ = CodecIDToAudioCodec(codec_context_->codec_id);
169
+   sample_rate_ = codec_context_->sample_rate;
170
+   av_sample_format_ = codec_context_->sample_fmt;
171
+@@ -223,7 +224,7 @@ bool AudioFileReader::OnNewFrame(
172
+   if (frames_read < 0)
173
+     return false;
174
+ 
175
+-  const int channels = frame->channels;
176
++  const int channels = frame->ch_layout.nb_channels;
177
+   if (frame->sample_rate != sample_rate_ || channels != channels_ ||
178
+       frame->format != av_sample_format_) {
179
+     DLOG(ERROR) << "Unsupported midstream configuration change!"
180
+diff --git a/media/filters/audio_file_reader_unittest.cc b/media/filters/audio_file_reader_unittest.cc
181
+index 2aba7927a31..1f45a50cace 100644
182
+--- a/media/filters/audio_file_reader_unittest.cc
183
++++ b/media/filters/audio_file_reader_unittest.cc
184
+@@ -121,11 +121,11 @@ class AudioFileReaderTest : public testing::Test {
185
+     EXPECT_FALSE(reader_->Open());
186
+   }
187
+ 
188
+-  void RunTestFailingDecode(const char* fn) {
189
++  void RunTestFailingDecode(const char* fn, int expect_read = 0) {
190
+     Initialize(fn);
191
+     EXPECT_TRUE(reader_->Open());
192
+     std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
193
+-    EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
194
++    EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
195
+   }
196
+ 
197
+   void RunTestPartialDecode(const char* fn) {
198
+@@ -219,7 +219,7 @@ TEST_F(AudioFileReaderTest, AAC_ADTS) {
199
+ }
200
+ 
201
gcc-enable-lto.patch Changed
23
 
1
@@ -58,13 +58,13 @@
2
 --- a/base/BUILD.gn
3
 +++ b/base/BUILD.gn
4
 @@ -1986,6 +1986,10 @@
5
-         
6
-       }
7
+     }
8
+   }
9
 
10
-+      if (gcc_lto) {
11
-+        configs -=  "//build/config/compiler:gcc_lto" 
12
-+      }
13
++  if (gcc_lto) {
14
++    configs -=  "//build/config/compiler:gcc_lto" 
15
++  }
16
 +
17
-       if (current_cpu == "x64") {
18
-         defines +=  "PA_PCSCAN_STACK_SUPPORTED" 
19
-         sources +=  "allocator/partition_allocator/starscan/stack/asm/x64/push_registers_asm.cc" 
20
+   if (use_partition_alloc) {
21
+     sources += 
22
+       "allocator/partition_allocator/address_pool_manager_unittest.cc",
23
chromium-100.0.4896.127.tar.xz -> chromium-103.0.5060.114.tar.xz Changed
chromium-symbolic.svg Changed
60
 
1
@@ -1,8 +1,545 @@
2
-<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
3
- <g transform="translate(0 -292.77)" fill-rule="evenodd">
4
-  <path transform="translate(0 292.77)" d="m8 0c-2.9688 0-5.5431 1.6049-6.9238 3.9941l3.4629 5.998 0.0058594-0.0039063c-0.33743-0.587-0.54492-1.2599-0.54492-1.9883 0-2.216 1.784-4 4-4h6.918l0.007812-0.0039062c-1.3803-2.3906-3.956-3.9961-6.9258-3.9961zm-6.9238 3.9941c-0.16618 0.28757-0.31369 0.58593-0.44336 0.89453 0.12852-0.30638 0.27614-0.60523 0.44336-0.89453zm-0.81445 2.002c-0.063348 0.24696-0.11637 0.49818-0.15625 0.75391 0.040321-0.25396 0.09178-0.50523 0.15625-0.75391zm-0.19336 1.002c-0.031547 0.25414-0.049317 0.51231-0.056641 0.77344 0.0074787-0.25874 0.024224-0.51758 0.056641-0.77344zm-0.066406 0.96289c-6.3137e-5 0.013175-0.0019531 0.025872-0.0019531 0.039062 0 0.31231 0.022151 0.61909 0.056641 0.92188-0.037536-0.3208-0.05629-0.64074-0.054688-0.96094zm0.076172 1.1016c0.038415 0.29125 0.093448 0.5771 0.16211 0.85742-0.070883-0.28406-0.12335-0.57082-0.16211-0.85742zm0.19727 0.99805c0.091086 0.3385 0.20625 0.67364 0.34375 1.0039-0.13429-0.32476-0.25247-0.65856-0.34375-1.0039zm0.34375 1.0039c0.093646 0.22647 0.20902 0.4391 0.32227 0.6543-0.11418-0.21652-0.22997-0.43262-0.32227-0.6543zm0.32227 0.6543c0.047723 0.090496 0.083121 0.18399 0.13477 0.27344 0.0068955 0.011943 0.016491 0.021308 0.023438 0.033203-0.057828-0.099177-0.10459-0.20477-0.1582-0.30664zm0.1582 0.30664c0.18369 0.31503 0.38946 0.61488 0.61328 0.90039-0.22081-0.2833-0.42705-0.5815-0.61328-0.90039zm0.67383 0.98828c0.24745 0.30711 0.51472 0.59779 0.80469 0.86523-0.286-0.26475-0.5556-0.55416-0.80469-0.86523zm1.4141 1.373c0.19915 0.15005 0.40407 0.29066 0.61719 0.42188-0.21156-0.1305-0.41738-0.27099-0.61719-0.42188zm0.64844 0.44141c0.20201 0.12309 0.40966 0.23664 0.62305 0.3418-0.21134-0.10449-0.42088-0.21838-0.62305-0.3418zm0.71484 0.38672c0.19014 0.090687 0.38386 0.17422 0.58203 0.25-0.1972-0.075792-0.39101-0.15859-0.58203-0.25zm0.74609 0.30859c0.18385 0.065711 0.36872 0.12728 0.55859 0.17969-0.18849-0.052523-0.37433-0.11344-0.55859-0.17969zm0.75586 0.23047c0.17137 0.042615 0.34392 0.081857 0.51953 0.11328-0.1743-0.031708-0.34783-0.070112-0.51953-0.11328zm0.84375 0.16211c0.14048 0.019266 0.28107 0.038852 0.42383 0.050781-0.1422-0.012166-0.28272-0.031057-0.42383-0.050781zm0.85156 0.072265c0.084408 0.00261 0.16689 0.011719 0.25195 0.011719v-0.007812c-0.084073-4e-6 -0.16806-0.001251-0.25195-0.003907z"/>
5
-  <path transform="translate(0 292.77)" d="m8.2051-0.0039062c-0.067876-0.0018334-0.13533 0.0040042-0.20312 0.0039062 0.36876 8.8644e-5 0.73088 0.02619 1.0859 0.074219-0.29424-0.041037-0.58844-0.070174-0.88281-0.078125zm-0.21289 0.0039062c-0.26615-5.8021e-5 -0.53129 0.014666-0.79492 0.041016 0.26143-0.025824 0.52654-0.040759 0.79492-0.041016zm-0.85156 0.046875c-0.23605 0.025293-0.47073 0.061354-0.70312 0.10742 0.23076-0.045338 0.46557-0.082259 0.70312-0.10742zm1.9727 0.03125c0.29658 0.042337 0.59114 0.10493 0.88477 0.18164-0.28938-0.074218-0.58339-0.13988-0.88477-0.18164zm-2.8145 0.10547c-0.20793 0.045059-0.41353 0.096739-0.61719 0.1582 0.20238-0.060783 0.4083-0.11329 0.61719-0.1582zm4.0117 0.16406c0.17588 0.052879 0.34712 0.11527 0.51758 0.17969-0.17171-0.065602-0.3437-0.12659-0.51758-0.17969zm-4.7949 0.048828c-0.18254 0.059478-0.363 0.12276-0.54102 0.19531 0.17733-0.072143 0.35752-0.13576 0.54102-0.19531zm-0.75195 0.28711c-0.16297 0.071956-0.32421 0.14754-0.48242 0.23047 0.15724-0.082363 0.31917-0.15847 0.48242-0.23047zm6.4824 0.0078125c0.11114 0.049754 0.22028 0.11078 0.33008 0.16602-0.11024-0.055265-0.21697-0.11578-0.33008-0.16602zm-7.1875 0.3457c-0.15224 0.086105-0.30238 0.17512-0.44922 0.27148 0.14627-0.09592 0.29643-0.18512 0.44922-0.27148zm8.332 0.29102c0.12847 0.084776 0.25775 0.1679 0.38086 0.25977-0.12261-0.090957-0.2518-0.17494-0.38086-0.25977zm-8.9746 0.11328c-0.14122 0.098764-0.2788 0.20216-0.41406 0.31055 0.13477-0.10781 0.27232-0.21151 0.41406-0.31055zm9.6836 0.4082c0.14161 0.11775 0.281 0.2381 0.41406 0.36523-0.13289-0.12624-0.27123-0.24721-0.41406-0.36523zm-10.328 0.095703c-0.10925 0.094548-0.21767 0.18998-0.32227 0.29102 0.10418-0.10034 0.21274-0.19643 0.32227-0.29102zm11.002 0.52539c0.18123 0.18967 0.35359 0.38691 0.51562 0.59375-0.16146-0.20541-0.33262-0.40324-0.51562-0.59375zm-11.592 0.039062c-0.087652 0.093206-0.17413 0.18711-0.25781 0.28516 0.083362-0.097301 0.16992-0.19202 0.25781-0.28516zm-0.5332 0.62891c-0.066279 0.086893-0.13213 0.17344-0.19531 0.26367 0.062985-0.089711 0.12878-0.17674 0.19531-0.26367zm12.717 0.015625c0.19435 0.25492 0.36841 0.52294 0.5293 0.79688-0.16178-0.27581-0.3368-0.54357-0.5293-0.79688zm-13.176 0.6543c-0.040114 0.065194-0.086473 0.12468-0.125 0.19141l0.0058594 0.0039062c0.038163-0.06626 0.07915-0.13028 0.11914-0.19531zm6.8105 0.19141c2.216 0 4 1.784 4 4 0 0.73147-0.2087 1.4074-0.54883 1.9961l0.005859 0.0039062-0.13867 0.24023-3.3184 5.75v0.009766c2.7599-0.001023 5.4372-1.4285 6.9219-4 1.4856-2.5731 1.3819-5.6088 0-8h-6.9219z" opacity=".55"/>
6
-  <path transform="translate(0 292.77)" d="m7.9922 0c-0.26839 2e-4 -0.53349 0.015216-0.79492 0.041016 0.26363-0.0263 0.52877-0.041076 0.79492-0.041016zm-0.85156 0.046875c-0.23755 0.02512-0.47236 0.062122-0.70312 0.10742 0.2324-0.04602 0.46708-0.082122 0.70312-0.10742zm-0.8418 0.13672c-0.20888 0.04491-0.41481 0.097403-0.61719 0.1582 0.20366-0.0615 0.40926-0.1131 0.61719-0.1582zm4.0117 0.16406c0.17388 0.0531 0.34587 0.11409 0.51758 0.17969-0.17045-0.06442-0.3417-0.12679-0.51758-0.17969zm-4.7949 0.048828c-0.18349 0.05955-0.36369 0.12321-0.54102 0.19531 0.17802-0.07256 0.35848-0.13581 0.54102-0.19531zm-0.75195 0.28711c-0.16325 0.07199-0.32518 0.14807-0.48242 0.23047 0.15821-0.08294 0.31945-0.15847 0.48242-0.23047zm-0.70508 0.35352c-0.15279 0.08637-0.30295 0.17558-0.44922 0.27148 0.14684-0.09637 0.29698-0.18538 0.44922-0.27148zm8.332 0.29102c0.12906 0.08482 0.25825 0.16877 0.38086 0.25977-0.12311-0.09186-0.25239-0.17497-0.38086-0.25977zm-8.9746 0.11328c-0.14174 0.09904-0.2793 0.20274-0.41406 0.31055 0.13527-0.10839 0.27284-0.21175 0.41406-0.31055zm9.6836 0.4082c0.14284 0.11803 0.28117 0.23899 0.41406 0.36523-0.13307-0.12714-0.27246-0.24748-0.41406-0.36523zm-10.328 0.095703c-0.10952 0.09459-0.21808 0.19069-0.32227 0.29102 0.1046-0.10103 0.21302-0.19652 0.32227-0.29102zm11.002 0.52539c0.18301 0.1905 0.35417 0.38834 0.51562 0.59375-0.16203-0.20684-0.3344-0.40409-0.51562-0.59375zm-11.592 0.039062c-0.08789 0.09314-0.17445 0.18786-0.25781 0.28516 0.083679-0.09804 0.17016-0.19196 0.25781-0.28516zm-0.5332 0.62891c-0.066533 0.08694-0.13233 0.17397-0.19531 0.26367 0.063183-0.09023 0.12903-0.17677 0.19531-0.26367zm13.283 0.85352-0.013672 0.0078125h0.003906c1.0361 1.7929 1.3524 3.9472 0.82031 5.998 0.51081-1.9573 0.28609-4.1064-0.81055-6.0059zm-13.855 0.0019531c-0.0019132 0.0032892-0.0039597 0.0064654-0.0058594 0.0097656-1.3768 2.3898-1.4778 5.4185 0.0058594 7.9883 1.4849 2.572 4.1633 3.9999 6.9238 4v-0.001954l3.3184-5.75c-0.71742 1.0637-1.9334 1.7598-3.3184 1.7598-1.4877 0-2.7659-0.81274-3.4551-2.0117l-0.0058594 0.0039063-3.4629-5.998zm10.242 6.2461 0.13867-0.24023-0.005859-0.0039062c-0.046283 0.080108-0.081254 0.1677-0.13281 0.24414zm4.4238-0.23828c-0.17464 0.67175-0.44309 1.3319-0.80469 1.9648 0.3561-0.6189 0.62541-1.2792 0.80469-1.9648zm-0.80469 1.9648c-0.008878 0.01543-0.016406 0.031498-0.025391 0.046875 0.002853-0.004915 0.006923-0.008748 0.009766-0.013672 0.006215-0.010765 0.009465-0.022422 0.015625-0.033203zm-0.025391 0.046875c-0.16138 0.27807-0.34026 0.53954-0.5293 0.78906 0.19208-0.25377 0.37016-0.51671 0.5293-0.78906zm-0.5293 0.78906c-0.034882 0.046087-0.07147 0.09131-0.10742 0.13672 0.036023-0.045459 0.072258-0.090304 0.10742-0.13672zm-0.10742 0.13672c-0.19263 0.24309-0.39299 0.47669-0.60742 0.69336 0.21926-0.21926 0.4175-0.45347 0.60742-0.69336zm-0.75977 0.84375c-0.16802 0.16083-0.34574 0.30905-0.52539 0.45312 0.18255-0.14513 0.35845-0.29493 0.52539-0.45312zm-0.79492 0.66992c-0.19636 0.14387-0.40011 0.27399-0.60742 0.39844 0.20953-0.12546 0.41362-0.25756 0.60742-0.39844zm-1.1328 0.68164c-0.13759 0.069106-0.27496 0.1383-0.41602 0.19922 0.14014-0.060811 0.27798-0.12975 0.41602-0.19922zm-0.8125 0.35547c-0.17664 0.065328-0.35449 0.127-0.53516 0.17969 0.17969-0.052782 0.3577-0.11362 0.53516-0.17969zm-0.86914 0.27148c-0.23843 0.058475-0.47953 0.1042-0.72266 0.14062 0.2417-0.036415 0.48287-0.081371 0.72266-0.14062zm-0.90625 0.17383c-0.30489 0.038433-0.61309 0.055452-0.92188 0.058594 0.30718-0.003008 0.61446-0.019611 0.92188-0.058594z" opacity=".7"/>
7
-  <rect x="5" y="297.77" width="6" height="6" ry="3" opacity=".85"/>
8
- </g>
9
-</svg>
10
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
11
+<svg
12
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
13
+   xmlns:cc="http://creativecommons.org/ns#"
14
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
15
+   xmlns:svg="http://www.w3.org/2000/svg"
16
+   xmlns="http://www.w3.org/2000/svg"
17
+   xmlns:xlink="http://www.w3.org/1999/xlink"
18
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
19
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
20
+   version="1.1"
21
+   id="svg2"
22
+   xml:space="preserve"
23
+   width="1056"
24
+   height="816"
25
+   viewBox="0 0 1056 816"
26
+   sodipodi:docname="chromium.ai"><metadata
27
+     id="metadata8"><rdf:RDF><cc:Work
28
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
29
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
30
+     id="defs6"><clipPath
31
+       clipPathUnits="userSpaceOnUse"
32
+       id="clipPath18"><path
33
+         d="m 332.315,306.427 c 0,-35.346 28.656,-64.001 64,-64.001 v 0 c 35.348,0 64.001,28.655 64.001,64.001 v 0 c 0,35.348 -28.653,64.003 -64.001,64.003 v 0 c -35.344,0 -64,-28.655 -64,-64.003"
34
+         id="path16" /></clipPath><clipPath
35
+       clipPathUnits="userSpaceOnUse"
36
+       id="clipPath26"><path
37
+         d="m 356.24,344.208 h 80.16 v -80.16 h -80.16 z"
38
+         id="path24" /></clipPath><clipPath
39
+       clipPathUnits="userSpaceOnUse"
40
+       id="clipPath30"><path
41
+         d="m 356.24,344.208 h 80.16 v -80.16 h -80.16 z"
42
+         id="path28" /></clipPath><mask
43
+       maskUnits="userSpaceOnUse"
44
+       x="0"
45
+       y="0"
46
+       width="1"
47
+       height="1"
48
+       id="mask32"><g
49
+         id="g42"><g
50
+           clip-path="url(#clipPath30)"
51
+           id="g40"><g
52
+             id="g38"><g
53
+               transform="matrix(80.160004,0,0,80.160004,356.24023,264.048)"
54
+               id="g36"><image
55
+                 width="1"
56
+                 height="1"
57
+                 style="image-rendering:optimizeSpeed"
58
+                 preserveAspectRatio="none"
59
+                 transform="matrix(1,0,0,-1,0,1)"
60