We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 22
chromium-ffmpeg-extra.changes
Changed
x
1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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