Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Sun, 15 Sep 2019 22:51:09
Message-Id: 1568587838.f4b625dd30a5feb33881ed004c951f31713b14a6.floppym@gentoo
1 commit: f4b625dd30a5feb33881ed004c951f31713b14a6
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 15 22:50:38 2019 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 15 22:50:38 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4b625dd
7
8 www-client/chromium: remove old
9
10 Bug: https://bugs.gentoo.org/694002
11 Package-Manager: Portage-2.3.75_p7, Repoman-2.3.17_p49
12 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
13
14 www-client/chromium/Manifest | 1 -
15 www-client/chromium/chromium-76.0.3809.132.ebuild | 720 ---------------------
16 .../chromium/files/chromium-76-arm64-skia.patch | 41 --
17 .../chromium-76-gcc-ambiguous-nodestructor.patch | 39 --
18 .../files/chromium-76-gcc-blink-constexpr.patch | 32 -
19 .../files/chromium-76-gcc-blink-namespace1.patch | 91 ---
20 .../files/chromium-76-gcc-blink-namespace2.patch | 97 ---
21 .../chromium/files/chromium-76-gcc-gl-init.patch | 33 -
22 .../chromium/files/chromium-76-gcc-include.patch | 10 -
23 .../chromium/files/chromium-76-gcc-noexcept.patch | 347 ----------
24 .../chromium/files/chromium-76-gcc-private.patch | 63 --
25 .../files/chromium-76-gcc-pure-virtual.patch | 50 --
26 .../chromium/files/chromium-76-gcc-uint32.patch | 30 -
27 .../chromium/files/chromium-76-gcc-vulkan.patch | 115 ----
28 .../chromium/files/chromium-76-no-cups.patch | 41 --
29 www-client/chromium/files/chromium-76-quiche.patch | 239 -------
30 16 files changed, 1949 deletions(-)
31
32 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
33 index db4981117b9..233558cf3c7 100644
34 --- a/www-client/chromium/Manifest
35 +++ b/www-client/chromium/Manifest
36 @@ -1,3 +1,2 @@
37 -DIST chromium-76.0.3809.132.tar.xz 728899912 BLAKE2B 725513b659f613c5827f5e847dde8c5ea448adb3a3d5561312ad05d54293c72150b010e6c804fb17be22882e4c87f2ebcdd40d08dbd601d78573678fd9d195c9 SHA512 e267d4a975fdcc33125d8fed1597e2dc8ec37a78ee2f9a4e03a1aaf6b83b594b444280b7f2ee68b41d227e7daf31b9de91ab2f998f9146613ebd50651c0d16e8
38 DIST chromium-77.0.3865.75.tar.xz 733233852 BLAKE2B e39856418a4dc0bcc690e0748781fd6d2395b2908d06616d44c76f5923d08f9ccd0cb1793447970302a47da631244aa96c7cf4d3df8cbd89fb3271badf163873 SHA512 7ab5103d75ddaeded69b63110a4ce401f4773017981eb2abaa650cc8a0c013323f7cd4beb19b6bfb6b0542a0269d86f6274da302b3b25d662c7a945f6d17f5d6
39 DIST chromium-78.0.3887.7.tar.xz 737057024 BLAKE2B b4754f1fa9a243c29e83d6136494c6db1726a6d3f23013115a4a576428f7ca3c0fcd3f81cf7fe4037f2c3e6901b3fce015aeed7b7b945b4a3e368f2e6fb9afa1 SHA512 9b8eb33c6f19e5b247372e19a61ec1ae6c804bd7b9731222430e2e1b585146fc543a686ccfc9553d6d137999570c544cdb45696db6ce50c38dfead1b0760c1a4
40
41 diff --git a/www-client/chromium/chromium-76.0.3809.132.ebuild b/www-client/chromium/chromium-76.0.3809.132.ebuild
42 deleted file mode 100644
43 index 89e2260d169..00000000000
44 --- a/www-client/chromium/chromium-76.0.3809.132.ebuild
45 +++ /dev/null
46 @@ -1,720 +0,0 @@
47 -# Copyright 2009-2019 Gentoo Authors
48 -# Distributed under the terms of the GNU General Public License v2
49 -
50 -EAPI=7
51 -PYTHON_COMPAT=( python2_7 )
52 -
53 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
54 - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
55 - sv sw ta te th tr uk vi zh-CN zh-TW"
56 -
57 -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
58 -
59 -DESCRIPTION="Open-source version of Google Chrome web browser"
60 -HOMEPAGE="http://chromium.org/"
61 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
62 -
63 -LICENSE="BSD"
64 -SLOT="0"
65 -KEYWORDS="amd64 ~arm64 ~x86"
66 -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
67 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
68 -REQUIRED_USE="component-build? ( !suid )"
69 -
70 -COMMON_DEPEND="
71 - >=app-accessibility/at-spi2-atk-2.26:2
72 - app-arch/bzip2:=
73 - cups? ( >=net-print/cups-1.3.11:= )
74 - >=dev-libs/atk-2.26
75 - dev-libs/expat:=
76 - dev-libs/glib:2
77 - system-icu? ( >=dev-libs/icu-64:= )
78 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
79 - dev-libs/libxslt:=
80 - dev-libs/nspr:=
81 - >=dev-libs/nss-3.26:=
82 - >=dev-libs/re2-0.2016.11.01:=
83 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
84 - >=media-libs/alsa-lib-1.0.19:=
85 - media-libs/fontconfig:=
86 - media-libs/freetype:=
87 - >=media-libs/harfbuzz-2.2.0:0=[icu(-)]
88 - media-libs/libjpeg-turbo:=
89 - media-libs/libpng:=
90 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
91 - >=media-libs/openh264-1.6.0:=
92 - pulseaudio? ( media-sound/pulseaudio:= )
93 - system-ffmpeg? (
94 - >=media-video/ffmpeg-4:=
95 - || (
96 - media-video/ffmpeg[-samba]
97 - >=net-fs/samba-4.5.10-r1[-debug(-)]
98 - )
99 - !=net-fs/samba-4.5.12-r0
100 - media-libs/opus:=
101 - )
102 - sys-apps/dbus:=
103 - sys-apps/pciutils:=
104 - virtual/udev
105 - x11-libs/cairo:=
106 - x11-libs/gdk-pixbuf:2
107 - x11-libs/gtk+:3[X]
108 - x11-libs/libX11:=
109 - x11-libs/libXcomposite:=
110 - x11-libs/libXcursor:=
111 - x11-libs/libXdamage:=
112 - x11-libs/libXext:=
113 - x11-libs/libXfixes:=
114 - >=x11-libs/libXi-1.6.0:=
115 - x11-libs/libXrandr:=
116 - x11-libs/libXrender:=
117 - x11-libs/libXScrnSaver:=
118 - x11-libs/libXtst:=
119 - x11-libs/pango:=
120 - app-arch/snappy:=
121 - media-libs/flac:=
122 - >=media-libs/libwebp-0.4.0:=
123 - sys-libs/zlib:=[minizip]
124 - kerberos? ( virtual/krb5 )
125 -"
126 -# For nvidia-drivers blocker, see bug #413637 .
127 -RDEPEND="${COMMON_DEPEND}
128 - !<www-plugins/chrome-binary-plugins-57
129 - x11-misc/xdg-utils
130 - virtual/opengl
131 - virtual/ttf-fonts
132 - selinux? ( sec-policy/selinux-chromium )
133 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
134 - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
135 -"
136 -DEPEND="${COMMON_DEPEND}
137 -"
138 -# dev-vcs/git - https://bugs.gentoo.org/593476
139 -BDEPEND="
140 - ${PYTHON_DEPS}
141 - >=app-arch/gzip-1.7
142 - !arm? (
143 - dev-lang/yasm
144 - )
145 - dev-lang/perl
146 - <dev-util/gn-0.1583
147 - dev-vcs/git
148 - >=dev-util/gperf-3.0.3
149 - >=dev-util/ninja-1.7.2
150 - >=net-libs/nodejs-7.6.0[inspector]
151 - sys-apps/hwids[usb(+)]
152 - >=sys-devel/bison-2.4.3
153 - sys-devel/flex
154 - closure-compile? ( virtual/jre )
155 - virtual/pkgconfig
156 -"
157 -
158 -: ${CHROMIUM_FORCE_CLANG=no}
159 -
160 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
161 - BDEPEND+=" >=sys-devel/clang-7"
162 -fi
163 -
164 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
165 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
166 -fi
167 -
168 -DISABLE_AUTOFORMATTING="yes"
169 -DOC_CONTENTS="
170 -Some web pages may require additional fonts to display properly.
171 -Try installing some of the following packages if some characters
172 -are not displayed properly:
173 -- media-fonts/arphicfonts
174 -- media-fonts/droid
175 -- media-fonts/ipamonafont
176 -- media-fonts/noto
177 -- media-fonts/ja-ipafonts
178 -- media-fonts/takao-fonts
179 -- media-fonts/wqy-microhei
180 -- media-fonts/wqy-zenhei
181 -
182 -To fix broken icons on the Downloads page, you should install an icon
183 -theme that covers the appropriate MIME types, and configure this as your
184 -GTK+ icon theme.
185 -
186 -For native file dialogs in KDE, install kde-apps/kdialog.
187 -"
188 -
189 -PATCHES=(
190 - "${FILESDIR}/chromium-compiler-r10.patch"
191 - "${FILESDIR}/chromium-widevine-r4.patch"
192 - "${FILESDIR}/chromium-fix-char_traits.patch"
193 - "${FILESDIR}/chromium-angle-inline.patch"
194 - "${FILESDIR}/chromium-76-arm64-skia.patch"
195 - "${FILESDIR}/chromium-76-quiche.patch"
196 - "${FILESDIR}/chromium-76-no-cups.patch"
197 - "${FILESDIR}/chromium-76-gcc-vulkan.patch"
198 - "${FILESDIR}/chromium-76-gcc-private.patch"
199 - "${FILESDIR}/chromium-76-gcc-noexcept.patch"
200 - "${FILESDIR}/chromium-76-gcc-gl-init.patch"
201 - "${FILESDIR}/chromium-76-gcc-blink-namespace1.patch"
202 - "${FILESDIR}/chromium-76-gcc-blink-namespace2.patch"
203 - "${FILESDIR}/chromium-76-gcc-blink-constexpr.patch"
204 - "${FILESDIR}/chromium-76-gcc-uint32.patch"
205 - "${FILESDIR}/chromium-76-gcc-ambiguous-nodestructor.patch"
206 - "${FILESDIR}/chromium-76-gcc-include.patch"
207 - "${FILESDIR}/chromium-76-gcc-pure-virtual.patch"
208 -)
209 -
210 -pre_build_checks() {
211 - if [[ ${MERGE_TYPE} != binary ]]; then
212 - local -x CPP="$(tc-getCXX) -E"
213 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then
214 - die "At least gcc 8.0 is required"
215 - fi
216 - fi
217 -
218 - # Check build requirements, bug #541816 and bug #471810 .
219 - CHECKREQS_MEMORY="3G"
220 - CHECKREQS_DISK_BUILD="7G"
221 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
222 - CHECKREQS_DISK_BUILD="25G"
223 - if ! use component-build; then
224 - CHECKREQS_MEMORY="16G"
225 - fi
226 - fi
227 - check-reqs_pkg_setup
228 -}
229 -
230 -pkg_pretend() {
231 - pre_build_checks
232 -}
233 -
234 -pkg_setup() {
235 - pre_build_checks
236 -
237 - chromium_suid_sandbox_check_kernel_config
238 -}
239 -
240 -src_prepare() {
241 - # Calling this here supports resumption via FEATURES=keepwork
242 - python_setup
243 -
244 - default
245 -
246 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
247 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
248 -
249 - local keeplibs=(
250 - base/third_party/cityhash
251 - base/third_party/dmg_fp
252 - base/third_party/dynamic_annotations
253 - base/third_party/icu
254 - base/third_party/nspr
255 - base/third_party/superfasthash
256 - base/third_party/symbolize
257 - base/third_party/valgrind
258 - base/third_party/xdg_mime
259 - base/third_party/xdg_user_dirs
260 - buildtools/third_party/libc++
261 - buildtools/third_party/libc++abi
262 - chrome/third_party/mozilla_security_manager
263 - courgette/third_party
264 - net/third_party/mozilla_security_manager
265 - net/third_party/nss
266 - net/third_party/quic
267 - net/third_party/uri_template
268 - third_party/abseil-cpp
269 - third_party/angle
270 - third_party/angle/src/common/third_party/base
271 - third_party/angle/src/common/third_party/smhasher
272 - third_party/angle/src/common/third_party/xxhash
273 - third_party/angle/src/third_party/compiler
274 - third_party/angle/src/third_party/libXNVCtrl
275 - third_party/angle/src/third_party/trace_event
276 - third_party/angle/third_party/glslang
277 - third_party/angle/third_party/spirv-headers
278 - third_party/angle/third_party/spirv-tools
279 - third_party/angle/third_party/vulkan-headers
280 - third_party/angle/third_party/vulkan-loader
281 - third_party/angle/third_party/vulkan-tools
282 - third_party/angle/third_party/vulkan-validation-layers
283 - third_party/apple_apsl
284 - third_party/axe-core
285 - third_party/blink
286 - third_party/boringssl
287 - third_party/boringssl/src/third_party/fiat
288 - third_party/boringssl/src/third_party/sike
289 - third_party/boringssl/linux-aarch64/crypto/third_party/sike
290 - third_party/boringssl/linux-x86_64/crypto/third_party/sike
291 - third_party/breakpad
292 - third_party/breakpad/breakpad/src/third_party/curl
293 - third_party/brotli
294 - third_party/cacheinvalidation
295 - third_party/catapult
296 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
297 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
298 - third_party/catapult/third_party/beautifulsoup4
299 - third_party/catapult/third_party/html5lib-python
300 - third_party/catapult/third_party/polymer
301 - third_party/catapult/third_party/six
302 - third_party/catapult/tracing/third_party/d3
303 - third_party/catapult/tracing/third_party/gl-matrix
304 - third_party/catapult/tracing/third_party/jszip
305 - third_party/catapult/tracing/third_party/mannwhitneyu
306 - third_party/catapult/tracing/third_party/oboe
307 - third_party/catapult/tracing/third_party/pako
308 - third_party/ced
309 - third_party/cld_3
310 - third_party/closure_compiler
311 - third_party/crashpad
312 - third_party/crashpad/crashpad/third_party/lss
313 - third_party/crashpad/crashpad/third_party/zlib
314 - third_party/crc32c
315 - third_party/cros_system_api
316 - third_party/dav1d
317 - third_party/dawn
318 - third_party/devscripts
319 - third_party/dom_distiller_js
320 - third_party/emoji-segmenter
321 - third_party/flatbuffers
322 - third_party/flot
323 - third_party/freetype
324 - third_party/glslang
325 - third_party/google_input_tools
326 - third_party/google_input_tools/third_party/closure_library
327 - third_party/google_input_tools/third_party/closure_library/third_party/closure
328 - third_party/googletest
329 - third_party/hunspell
330 - third_party/iccjpeg
331 - third_party/inspector_protocol
332 - third_party/jinja2
333 - third_party/jsoncpp
334 - third_party/jstemplate
335 - third_party/khronos
336 - third_party/leveldatabase
337 - third_party/libXNVCtrl
338 - third_party/libaddressinput
339 - third_party/libaom
340 - third_party/libaom/source/libaom/third_party/vector
341 - third_party/libaom/source/libaom/third_party/x86inc
342 - third_party/libjingle
343 - third_party/libphonenumber
344 - third_party/libsecret
345 - third_party/libsrtp
346 - third_party/libsync
347 - third_party/libudev
348 - third_party/libwebm
349 - third_party/libxml/chromium
350 - third_party/libyuv
351 - third_party/llvm
352 - third_party/lss
353 - third_party/lzma_sdk
354 - third_party/markupsafe
355 - third_party/mesa
356 - third_party/metrics_proto
357 - third_party/modp_b64
358 - third_party/nasm
359 - third_party/node
360 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
361 - third_party/openscreen
362 - third_party/ots
363 - third_party/pdfium
364 - third_party/pdfium/third_party/agg23
365 - third_party/pdfium/third_party/base
366 - third_party/pdfium/third_party/bigint
367 - third_party/pdfium/third_party/freetype
368 - third_party/pdfium/third_party/lcms
369 - third_party/pdfium/third_party/libopenjpeg20
370 - third_party/pdfium/third_party/libpng16
371 - third_party/pdfium/third_party/libtiff
372 - third_party/pdfium/third_party/skia_shared
373 - third_party/perfetto
374 - third_party/pffft
375 - third_party/ply
376 - third_party/polymer
377 - third_party/protobuf
378 - third_party/protobuf/third_party/six
379 - third_party/pyjson5
380 - third_party/qcms
381 - third_party/rnnoise
382 - third_party/s2cellid
383 - third_party/sfntly
384 - third_party/simplejson
385 - third_party/skia
386 - third_party/skia/include/third_party/skcms
387 - third_party/skia/include/third_party/vulkan
388 - third_party/skia/third_party/gif
389 - third_party/skia/third_party/skcms
390 - third_party/skia/third_party/vulkan
391 - third_party/smhasher
392 - third_party/spirv-headers
393 - third_party/SPIRV-Tools
394 - third_party/sqlite
395 - third_party/swiftshader
396 - third_party/swiftshader/third_party/llvm-7.0
397 - third_party/swiftshader/third_party/llvm-subzero
398 - third_party/swiftshader/third_party/subzero
399 - third_party/unrar
400 - third_party/usrsctp
401 - third_party/vulkan
402 - third_party/web-animations-js
403 - third_party/webdriver
404 - third_party/webrtc
405 - third_party/webrtc/common_audio/third_party/fft4g
406 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
407 - third_party/webrtc/modules/third_party/fft
408 - third_party/webrtc/modules/third_party/g711
409 - third_party/webrtc/modules/third_party/g722
410 - third_party/webrtc/rtc_base/third_party/base64
411 - third_party/webrtc/rtc_base/third_party/sigslot
412 - third_party/widevine
413 - third_party/woff2
414 - third_party/zlib/google
415 - url/third_party/mozilla
416 - v8/src/third_party/siphash
417 - v8/src/third_party/valgrind
418 - v8/src/third_party/utf8-decoder
419 - v8/third_party/inspector_protocol
420 - v8/third_party/v8
421 -
422 - # gyp -> gn leftovers
423 - base/third_party/libevent
424 - third_party/adobe
425 - third_party/speech-dispatcher
426 - third_party/usb_ids
427 - third_party/xdg-utils
428 - third_party/yasm/run_yasm.py
429 - )
430 - if ! use system-ffmpeg; then
431 - keeplibs+=( third_party/ffmpeg third_party/opus )
432 - fi
433 - if ! use system-icu; then
434 - keeplibs+=( third_party/icu )
435 - fi
436 - if ! use system-libvpx; then
437 - keeplibs+=( third_party/libvpx )
438 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
439 - fi
440 - if use tcmalloc; then
441 - keeplibs+=( third_party/tcmalloc )
442 - fi
443 -
444 - # Remove most bundled libraries. Some are still needed.
445 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
446 -}
447 -
448 -src_configure() {
449 - # Calling this here supports resumption via FEATURES=keepwork
450 - python_setup
451 -
452 - local myconf_gn=""
453 -
454 - # Make sure the build system will use the right tools, bug #340795.
455 - tc-export AR CC CXX NM
456 -
457 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
458 - # Force clang since gcc is pretty broken at the moment.
459 - CC=${CHOST}-clang
460 - CXX=${CHOST}-clang++
461 - strip-unsupported-flags
462 - fi
463 -
464 - if tc-is-clang; then
465 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
466 - else
467 - myconf_gn+=" is_clang=false"
468 - fi
469 -
470 - # Define a custom toolchain for GN
471 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
472 -
473 - if tc-is-cross-compiler; then
474 - tc-export BUILD_{AR,CC,CXX,NM}
475 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
476 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
477 - else
478 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
479 - fi
480 -
481 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
482 - myconf_gn+=" is_debug=false"
483 -
484 - # Component build isn't generally intended for use by end users. It's mostly useful
485 - # for development and debugging.
486 - myconf_gn+=" is_component_build=$(usex component-build true false)"
487 -
488 - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
489 - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
490 -
491 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
492 -
493 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
494 - myconf_gn+=" enable_nacl=false"
495 -
496 - # Use system-provided libraries.
497 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
498 - # TODO: use_system_hunspell (upstream changes needed).
499 - # TODO: use_system_libsrtp (bug #459932).
500 - # TODO: use_system_protobuf (bug #525560).
501 - # TODO: use_system_ssl (http://crbug.com/58087).
502 - # TODO: use_system_sqlite (http://crbug.com/22208).
503 -
504 - # libevent: https://bugs.gentoo.org/593458
505 - local gn_system_libraries=(
506 - flac
507 - fontconfig
508 - freetype
509 - # Need harfbuzz_from_pkgconfig target
510 - #harfbuzz-ng
511 - libdrm
512 - libjpeg
513 - libpng
514 - libwebp
515 - libxml
516 - libxslt
517 - openh264
518 - re2
519 - snappy
520 - yasm
521 - zlib
522 - )
523 - if use system-ffmpeg; then
524 - gn_system_libraries+=( ffmpeg opus )
525 - fi
526 - if use system-icu; then
527 - gn_system_libraries+=( icu )
528 - fi
529 - if use system-libvpx; then
530 - gn_system_libraries+=( libvpx )
531 - fi
532 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
533 -
534 - # See dependency logic in third_party/BUILD.gn
535 - myconf_gn+=" use_system_harfbuzz=true"
536 -
537 - # Optional dependencies.
538 - myconf_gn+=" closure_compile=$(usex closure-compile true false)"
539 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
540 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
541 - myconf_gn+=" use_cups=$(usex cups true false)"
542 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
543 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
544 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
545 -
546 - # TODO: link_pulseaudio=true for GN.
547 -
548 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
549 -
550 - # Never use bundled gold binary. Disable gold linker flags for now.
551 - # Do not use bundled clang.
552 - # Trying to use gold results in linker crash.
553 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
554 -
555 - # Disable forced lld, bug 641556
556 - myconf_gn+=" use_lld=false"
557 -
558 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
559 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
560 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
561 -
562 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
563 - # Note: these are for Gentoo use ONLY. For your own distribution,
564 - # please get your own set of keys. Feel free to contact chromium@g.o
565 - # for more info.
566 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
567 - local google_default_client_id="329227923882.apps.googleusercontent.com"
568 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
569 - myconf_gn+=" google_api_key=\"${google_api_key}\""
570 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
571 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
572 -
573 - local myarch="$(tc-arch)"
574 -
575 - # Avoid CFLAGS problems, bug #352457, bug #390147.
576 - if ! use custom-cflags; then
577 - replace-flags "-Os" "-O2"
578 - strip-flags
579 -
580 - # Prevent linker from running out of address space, bug #471810 .
581 - if use x86; then
582 - filter-flags "-g*"
583 - fi
584 -
585 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
586 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
587 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
588 - fi
589 - fi
590 -
591 - if [[ $myarch = amd64 ]] ; then
592 - myconf_gn+=" target_cpu=\"x64\""
593 - ffmpeg_target_arch=x64
594 - elif [[ $myarch = x86 ]] ; then
595 - myconf_gn+=" target_cpu=\"x86\""
596 - ffmpeg_target_arch=ia32
597 -
598 - # This is normally defined by compiler_cpu_abi in
599 - # build/config/compiler/BUILD.gn, but we patch that part out.
600 - append-flags -msse2 -mfpmath=sse -mmmx
601 - elif [[ $myarch = arm64 ]] ; then
602 - myconf_gn+=" target_cpu=\"arm64\""
603 - ffmpeg_target_arch=arm64
604 - elif [[ $myarch = arm ]] ; then
605 - myconf_gn+=" target_cpu=\"arm\""
606 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
607 - else
608 - die "Failed to determine target arch, got '$myarch'."
609 - fi
610 -
611 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
612 - # Depending on GCC version the warnings are different and we don't want
613 - # the build to fail because of that.
614 - myconf_gn+=" treat_warnings_as_errors=false"
615 -
616 - # Disable fatal linker warnings, bug 506268.
617 - myconf_gn+=" fatal_linker_warnings=false"
618 -
619 - # Bug 491582.
620 - export TMPDIR="${WORKDIR}/temp"
621 - mkdir -p -m 755 "${TMPDIR}" || die
622 -
623 - # https://bugs.gentoo.org/654216
624 - addpredict /dev/dri/ #nowarn
625 -
626 - #if ! use system-ffmpeg; then
627 - if false; then
628 - local build_ffmpeg_args=""
629 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
630 - build_ffmpeg_args+=" --disable-asm"
631 - fi
632 -
633 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
634 - einfo "Configuring bundled ffmpeg..."
635 - pushd third_party/ffmpeg > /dev/null || die
636 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
637 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
638 - chromium/scripts/copy_config.sh || die
639 - chromium/scripts/generate_gn.py || die
640 - popd > /dev/null || die
641 - fi
642 -
643 - einfo "Configuring Chromium..."
644 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
645 - echo "$@"
646 - "$@" || die
647 -}
648 -
649 -src_compile() {
650 - # Final link uses lots of file descriptors.
651 - ulimit -n 2048
652 -
653 - # Calling this here supports resumption via FEATURES=keepwork
654 - python_setup
655 -
656 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
657 -
658 - # Build mksnapshot and pax-mark it.
659 - local x
660 - for x in mksnapshot v8_context_snapshot_generator; do
661 - if tc-is-cross-compiler; then
662 - eninja -C out/Release "host/${x}"
663 - pax-mark m "out/Release/host/${x}"
664 - else
665 - eninja -C out/Release "${x}"
666 - pax-mark m "out/Release/${x}"
667 - fi
668 - done
669 -
670 - # Even though ninja autodetects number of CPUs, we respect
671 - # user's options, for debugging with -j 1 or any other reason.
672 - eninja -C out/Release chrome chromedriver
673 - use suid && eninja -C out/Release chrome_sandbox
674 -
675 - pax-mark m out/Release/chrome
676 -}
677 -
678 -src_install() {
679 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
680 - exeinto "${CHROMIUM_HOME}"
681 - doexe out/Release/chrome
682 -
683 - if use suid; then
684 - newexe out/Release/chrome_sandbox chrome-sandbox
685 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
686 - fi
687 -
688 - doexe out/Release/chromedriver
689 -
690 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
691 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
692 - doexe chromium-launcher.sh
693 -
694 - # It is important that we name the target "chromium-browser",
695 - # xdg-utils expect it; bug #355517.
696 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
697 - # keep the old symlink around for consistency
698 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
699 -
700 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
701 -
702 - # Allow users to override command-line options, bug #357629.
703 - insinto /etc/chromium
704 - newins "${FILESDIR}/chromium.default" "default"
705 -
706 - pushd out/Release/locales > /dev/null || die
707 - chromium_remove_language_paks
708 - popd
709 -
710 - insinto "${CHROMIUM_HOME}"
711 - doins out/Release/*.bin
712 - doins out/Release/*.pak
713 - doins out/Release/*.so
714 -
715 - if ! use system-icu; then
716 - doins out/Release/icudtl.dat
717 - fi
718 -
719 - doins -r out/Release/locales
720 - doins -r out/Release/resources
721 -
722 - if [[ -d out/Release/swiftshader ]]; then
723 - insinto "${CHROMIUM_HOME}/swiftshader"
724 - doins out/Release/swiftshader/*.so
725 - fi
726 -
727 - # Install icons and desktop entry.
728 - local branding size
729 - for size in 16 22 24 32 48 64 128 256 ; do
730 - case ${size} in
731 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
732 - *) branding="chrome/app/theme/chromium" ;;
733 - esac
734 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
735 - chromium-browser.png
736 - done
737 -
738 - local mime_types="text/html;text/xml;application/xhtml+xml;"
739 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
740 - mime_types+="x-scheme-handler/ftp;" # bug #412185
741 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
742 - make_desktop_entry \
743 - chromium-browser \
744 - "Chromium" \
745 - chromium-browser \
746 - "Network;WebBrowser" \
747 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
748 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
749 -
750 - # Install GNOME default application entry (bug #303100).
751 - insinto /usr/share/gnome-control-center/default-apps
752 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
753 -
754 - readme.gentoo_create_doc
755 -}
756 -
757 -pkg_postrm() {
758 - xdg_icon_cache_update
759 - xdg_desktop_database_update
760 -}
761 -
762 -pkg_postinst() {
763 - xdg_icon_cache_update
764 - xdg_desktop_database_update
765 - readme.gentoo_print_elog
766 -}
767
768 diff --git a/www-client/chromium/files/chromium-76-arm64-skia.patch b/www-client/chromium/files/chromium-76-arm64-skia.patch
769 deleted file mode 100644
770 index 8a44235c803..00000000000
771 --- a/www-client/chromium/files/chromium-76-arm64-skia.patch
772 +++ /dev/null
773 @@ -1,41 +0,0 @@
774 -From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001
775 -From: Mike Klein <mtklein@××××××.com>
776 -Date: Tue, 02 Jul 2019 13:23:06 -0500
777 -Subject: [PATCH] fix GCC arm64 builds
778 -
779 -These two guards are checking if we're building for aarch64 and thus
780 -have F16 conversion instructions, but weren't checking if we want to use
781 -them (if we have them _and_ we're being compiled by Clang). At head
782 -we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
783 -uint16x4_t, etc.
784 -
785 -Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
786 -Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
787 -Reviewed-by: Herb Derby <herb@××××××.com>
788 -Commit-Queue: Mike Klein <mtklein@××××××.com>
789 ----
790 -
791 -diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h
792 -index 0eae9fe..e05f36c 100644
793 ---- a/third_party/skia/src/opts/SkRasterPipeline_opts.h
794 -+++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h
795 -@@ -972,7 +972,8 @@
796 - }
797 -
798 - SI F from_half(U16 h) {
799 --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
800 -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
801 -+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
802 - return vcvt_f32_f16(h);
803 -
804 - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
805 -@@ -992,7 +993,8 @@
806 - }
807 -
808 - SI U16 to_half(F f) {
809 --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
810 -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
811 -+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
812 - return vcvt_f16_f32(f);
813 -
814 - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
815
816 diff --git a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch b/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch
817 deleted file mode 100644
818 index 587abf31bb7..00000000000
819 --- a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch
820 +++ /dev/null
821 @@ -1,39 +0,0 @@
822 -From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001
823 -From: Jose Dapena Paz <jose.dapena@×××.com>
824 -Date: Wed, 05 Jun 2019 19:46:55 +0000
825 -Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes.
826 -
827 -Use brace-list notation to wrap the already existing brace-list for
828 -initializing the flat-set. This resolves an ambiguous instantiation
829 -in GCC.
830 -
831 -Bug: 819294
832 -Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78
833 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774
834 -Reviewed-by: Matt Menke <mmenke@××××××××.org>
835 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
836 -Cr-Commit-Position: refs/heads/master@{#666401}
837 ----
838 -
839 -diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc
840 -index 30999c0..60a03f6 100644
841 ---- a/services/network/cross_origin_read_blocking.cc
842 -+++ b/services/network/cross_origin_read_blocking.cc
843 -@@ -211,7 +211,7 @@
844 - // confirmation sniffing because images, scripts, etc. are frequently
845 - // mislabelled by http servers as HTML/JSON/XML).
846 - base::flat_set<std::string>& GetNeverSniffedMimeTypes() {
847 -- static base::NoDestructor<base::flat_set<std::string>> s_types({
848 -+ static base::NoDestructor<base::flat_set<std::string>> s_types{{
849 - // The list below has been populated based on most commonly used content
850 - // types according to HTTP Archive - see:
851 - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454
852 -@@ -224,7 +224,7 @@
853 - "application/x-www-form-urlencoded",
854 - "application/zip",
855 - "text/event-stream",
856 -- });
857 -+ }};
858 -
859 - // All items need to be lower-case, to support case-insensitive comparisons
860 - // later.
861
862 diff --git a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch b/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch
863 deleted file mode 100644
864 index 26bba05aa92..00000000000
865 --- a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch
866 +++ /dev/null
867 @@ -1,32 +0,0 @@
868 -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001
869 -From: Jose Dapena Paz <jose.dapena@×××.com>
870 -Date: Wed, 05 Jun 2019 17:18:40 +0000
871 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr
872 -
873 -Other HasFraction methods as in PhysicalUnit are declared already
874 -constexpr and using it. It breaks GCC build.
875 -
876 -Bug: 819294.
877 -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb
878 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222
879 -Reviewed-by: vmpstr <vmpstr@××××××××.org>
880 -Reviewed-by: Xianzhu Wang <wangxianzhu@××××××××.org>
881 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
882 -Cr-Commit-Position: refs/heads/master@{#666336}
883 ----
884 -
885 -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h
886 -index f073986..b6dbc76 100644
887 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h
888 -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h
889 -@@ -202,7 +202,9 @@
890 - return value_ > 0 ? LayoutUnit() : *this;
891 - }
892 -
893 -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; }
894 -+ constexpr bool HasFraction() const {
895 -+ return RawValue() % kFixedPointDenominator;
896 -+ }
897 -
898 - LayoutUnit Fraction() const {
899 - // Compute fraction using the mod operator to preserve the sign of the value
900
901 diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch
902 deleted file mode 100644
903 index bae3edec89d..00000000000
904 --- a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch
905 +++ /dev/null
906 @@ -1,91 +0,0 @@
907 -From c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc Mon Sep 17 00:00:00 2001
908 -From: Jose Dapena Paz <jose.dapena@×××.com>
909 -Date: Fri, 07 Jun 2019 18:11:15 +0000
910 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace
911 -
912 -Compilation fails because we are declaring ParseValueForFuzzer as friend method,
913 -but we are declaring it is in anonymous namespace. Moving to global namespace
914 -still fails (in this case in Clang).
915 -
916 -So final solution is making it a public static method of FeaturePolicyParser.
917 -
918 -Bug: 819294
919 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7
920 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645223
921 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
922 -Reviewed-by: Luna Lu <loonybear@××××××××.org>
923 -Cr-Commit-Position: refs/heads/master@{#667228}
924 ----
925 -
926 -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
927 -index f1c9594..bae91a1 100644
928 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
929 -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
930 -@@ -323,6 +323,13 @@
931 - return value;
932 - }
933 -
934 -+void FeaturePolicyParser::ParseValueForFuzzer(
935 -+ blink::mojom::PolicyValueType feature_type,
936 -+ const WTF::String& value_string) {
937 -+ bool ok;
938 -+ ParseValueForType(feature_type, value_string, &ok);
939 -+}
940 -+
941 - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature,
942 - const ParsedFeaturePolicy& policy) {
943 - return std::any_of(policy.begin(), policy.end(),
944 -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
945 -index fd25d90..8aa7323 100644
946 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
947 -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
948 -@@ -16,9 +16,6 @@
949 - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
950 - #include "third_party/blink/renderer/platform/wtf/vector.h"
951 -
952 --// Forward declare for friendship.
953 --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&);
954 --
955 - namespace blink {
956 -
957 - class Document;
958 -@@ -79,8 +76,10 @@
959 - const FeatureNameMap& feature_names,
960 - ExecutionContext* execution_context = nullptr);
961 -
962 -+ // Used for LLVM fuzzer test
963 -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&);
964 -+
965 - private:
966 -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&);
967 - static PolicyValue GetFallbackValueForFeature(
968 - mojom::FeaturePolicyFeature feature);
969 - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type,
970 -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
971 -index 7f8e6aa..1455636 100644
972 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
973 -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
974 -@@ -13,19 +13,12 @@
975 - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
976 - #include "third_party/blink/renderer/platform/wtf/vector.h"
977 -
978 --void ParseValueForFuzzer(blink::mojom::PolicyValueType feature_type,
979 -- const WTF::String& value_string) {
980 -- bool ok;
981 -- blink::FeaturePolicyParser::ParseValueForType(feature_type, value_string,
982 -- &ok);
983 --}
984 --
985 - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
986 - static blink::BlinkFuzzerTestSupport test_support =
987 - blink::BlinkFuzzerTestSupport();
988 -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool,
989 -- WTF::String(data, size));
990 -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble,
991 -- WTF::String(data, size));
992 -+ blink::FeaturePolicyParser::ParseValueForFuzzer(
993 -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size));
994 -+ blink::FeaturePolicyParser::ParseValueForFuzzer(
995 -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size));
996 - return 0;
997 - }
998
999 diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch
1000 deleted file mode 100644
1001 index 1d4b90febf6..00000000000
1002 --- a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch
1003 +++ /dev/null
1004 @@ -1,97 +0,0 @@
1005 -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001
1006 -From: Jose Dapena Paz <jose.dapena@×××.com>
1007 -Date: Tue, 11 Jun 2019 08:00:13 +0000
1008 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo
1009 -
1010 -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks
1011 -build because of that. Move the template specializations out of RunInfo declaration
1012 -in shape_result_inline_headeres.h to fix the GCC build issue.
1013 -
1014 -Bug: 819294
1015 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0
1016 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728
1017 -Reviewed-by: Kinuko Yasuda <kinuko@××××××××.org>
1018 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1019 -Cr-Commit-Position: refs/heads/master@{#667901}
1020 ----
1021 -
1022 -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
1023 -index 76ee6091..c14d3a0 100644
1024 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
1025 -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
1026 -@@ -251,37 +251,6 @@
1027 - template <bool has_non_zero_glyph_offsets>
1028 - struct iterator final {};
1029 -
1030 -- // For non-zero glyph offset array
1031 -- template <>
1032 -- struct iterator<true> final {
1033 -- // The constructor for ShapeResult
1034 -- explicit iterator(const GlyphOffsetArray& array)
1035 -- : pointer(array.storage_.get()) {
1036 -- DCHECK(pointer);
1037 -- }
1038 --
1039 -- // The constructor for ShapeResultView
1040 -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
1041 -- DCHECK(pointer);
1042 -- }
1043 --
1044 -- GlyphOffset operator*() const { return *pointer; }
1045 -- void operator++() { ++pointer; }
1046 --
1047 -- const GlyphOffset* pointer;
1048 -- };
1049 --
1050 -- // For zero glyph offset array
1051 -- template <>
1052 -- struct iterator<false> final {
1053 -- explicit iterator(const GlyphOffsetArray& array) {
1054 -- DCHECK(!array.HasStorage());
1055 -- }
1056 -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
1057 -- GlyphOffset operator*() const { return GlyphOffset(); }
1058 -- void operator++() {}
1059 -- };
1060 --
1061 - template <bool has_non_zero_glyph_offsets>
1062 - iterator<has_non_zero_glyph_offsets> GetIterator() const {
1063 - return iterator<has_non_zero_glyph_offsets>(*this);
1064 -@@ -495,6 +464,37 @@
1065 - float width_;
1066 - };
1067 -
1068 -+// For non-zero glyph offset array
1069 -+template <>
1070 -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final {
1071 -+ // The constructor for ShapeResult
1072 -+ explicit iterator(const GlyphOffsetArray& array)
1073 -+ : pointer(array.storage_.get()) {
1074 -+ DCHECK(pointer);
1075 -+ }
1076 -+
1077 -+ // The constructor for ShapeResultView
1078 -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
1079 -+ DCHECK(pointer);
1080 -+ }
1081 -+
1082 -+ GlyphOffset operator*() const { return *pointer; }
1083 -+ void operator++() { ++pointer; }
1084 -+
1085 -+ const GlyphOffset* pointer;
1086 -+};
1087 -+
1088 -+// For zero glyph offset array
1089 -+template <>
1090 -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final {
1091 -+ explicit iterator(const GlyphOffsetArray& array) {
1092 -+ DCHECK(!array.HasStorage());
1093 -+ }
1094 -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
1095 -+ GlyphOffset operator*() const { return GlyphOffset(); }
1096 -+ void operator++() {}
1097 -+};
1098 -+
1099 - // Find the range of HarfBuzzRunGlyphData for the specified character index
1100 - // range. This function uses binary search twice, hence O(2 log n).
1101 - inline ShapeResult::RunInfo::GlyphDataRange
1102
1103 diff --git a/www-client/chromium/files/chromium-76-gcc-gl-init.patch b/www-client/chromium/files/chromium-76-gcc-gl-init.patch
1104 deleted file mode 100644
1105 index 3bf394f92d9..00000000000
1106 --- a/www-client/chromium/files/chromium-76-gcc-gl-init.patch
1107 +++ /dev/null
1108 @@ -1,33 +0,0 @@
1109 -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001
1110 -From: Jose Dapena Paz <jose.dapena@×××.com>
1111 -Date: Wed, 05 Jun 2019 21:09:01 +0000
1112 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration
1113 -
1114 -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the
1115 -same order of the declaration. GCC fails because of that.
1116 -
1117 -Bug: 819294
1118 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f
1119 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253
1120 -Reviewed-by: Zhenyao Mo <zmo@××××××××.org>
1121 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1122 -Cr-Commit-Position: refs/heads/master@{#666436}
1123 ----
1124 -
1125 -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc
1126 -index f649dd4..0aa6892 100644
1127 ---- a/ui/gl/gl_surface_glx.cc
1128 -+++ b/ui/gl/gl_surface_glx.cc
1129 -@@ -583,10 +583,10 @@
1130 -
1131 - XSetWindowAttributes swa = {
1132 - .background_pixmap = 0,
1133 -- .bit_gravity = NorthWestGravity,
1134 -- .colormap = g_colormap,
1135 - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM
1136 - .border_pixel = 0,
1137 -+ .bit_gravity = NorthWestGravity,
1138 -+ .colormap = g_colormap,
1139 - };
1140 - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel;
1141 - if (ui::IsCompositingManagerPresent() &&
1142
1143 diff --git a/www-client/chromium/files/chromium-76-gcc-include.patch b/www-client/chromium/files/chromium-76-gcc-include.patch
1144 deleted file mode 100644
1145 index adc7f3ab3ac..00000000000
1146 --- a/www-client/chromium/files/chromium-76-gcc-include.patch
1147 +++ /dev/null
1148 @@ -1,10 +0,0 @@
1149 ---- a/chrome/browser/themes/theme_service.h 2019-06-13 18:56:30.000000000 -0000
1150 -+++ b/chrome/browser/themes/theme_service.h 2019-06-17 08:50:57.714289399 -0000
1151 -@@ -26,6 +26,7 @@
1152 - #include "extensions/common/extension_id.h"
1153 - #include "ui/base/theme_provider.h"
1154 - #include "ui/native_theme/native_theme_observer.h"
1155 -+#include "ui/native_theme/native_theme.h"
1156 -
1157 - class BrowserThemePack;
1158 - class CustomThemeSupplier;
1159
1160 diff --git a/www-client/chromium/files/chromium-76-gcc-noexcept.patch b/www-client/chromium/files/chromium-76-gcc-noexcept.patch
1161 deleted file mode 100644
1162 index 2a7f4b35a72..00000000000
1163 --- a/www-client/chromium/files/chromium-76-gcc-noexcept.patch
1164 +++ /dev/null
1165 @@ -1,347 +0,0 @@
1166 -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001
1167 -From: Jose Dapena Paz <jose.dapena@×××.com>
1168 -Date: Fri, 07 Jun 2019 09:50:11 +0000
1169 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept
1170 -
1171 -As LayerTreeHostImpl::UIResourceData move constructor is declared
1172 -noexcept with default implementation, the move constructor of its
1173 -members should also be noexcept. GCC will fail to build otherwise
1174 -for mismatching noexcept declaration.
1175 -
1176 -We also set the move assignment operator.
1177 -
1178 -Bug: 819294
1179 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492
1180 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297
1181 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1182 -Reviewed-by: Daniel Cheng <dcheng@××××××××.org>
1183 -Cr-Commit-Position: refs/heads/master@{#667064}
1184 ----
1185 -
1186 -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc
1187 -index 2be2570..8426fa8 100644
1188 ---- a/base/memory/shared_memory_mapping.cc
1189 -+++ b/base/memory/shared_memory_mapping.cc
1190 -@@ -33,7 +33,7 @@
1191 -
1192 - SharedMemoryMapping::SharedMemoryMapping() = default;
1193 -
1194 --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping)
1195 -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept
1196 - : memory_(mapping.memory_),
1197 - size_(mapping.size_),
1198 - mapped_size_(mapping.mapped_size_),
1199 -@@ -42,7 +42,7 @@
1200 - }
1201 -
1202 - SharedMemoryMapping& SharedMemoryMapping::operator=(
1203 -- SharedMemoryMapping&& mapping) {
1204 -+ SharedMemoryMapping&& mapping) noexcept {
1205 - Unmap();
1206 - memory_ = mapping.memory_;
1207 - size_ = mapping.size_;
1208 -@@ -90,9 +90,9 @@
1209 -
1210 - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default;
1211 - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
1212 -- ReadOnlySharedMemoryMapping&&) = default;
1213 -+ ReadOnlySharedMemoryMapping&&) noexcept = default;
1214 - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=(
1215 -- ReadOnlySharedMemoryMapping&&) = default;
1216 -+ ReadOnlySharedMemoryMapping&&) noexcept = default;
1217 - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
1218 - void* address,
1219 - size_t size,
1220 -@@ -102,9 +102,9 @@
1221 -
1222 - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default;
1223 - WritableSharedMemoryMapping::WritableSharedMemoryMapping(
1224 -- WritableSharedMemoryMapping&&) = default;
1225 -+ WritableSharedMemoryMapping&&) noexcept = default;
1226 - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=(
1227 -- WritableSharedMemoryMapping&&) = default;
1228 -+ WritableSharedMemoryMapping&&) noexcept = default;
1229 - WritableSharedMemoryMapping::WritableSharedMemoryMapping(
1230 - void* address,
1231 - size_t size,
1232 -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h
1233 -index d9569af..2b8858e 100644
1234 ---- a/base/memory/shared_memory_mapping.h
1235 -+++ b/base/memory/shared_memory_mapping.h
1236 -@@ -32,8 +32,8 @@
1237 - SharedMemoryMapping();
1238 -
1239 - // Move operations are allowed.
1240 -- SharedMemoryMapping(SharedMemoryMapping&& mapping);
1241 -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping);
1242 -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept;
1243 -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept;
1244 -
1245 - // Unmaps the region if the mapping is valid.
1246 - virtual ~SharedMemoryMapping();
1247 -@@ -93,8 +93,9 @@
1248 - ReadOnlySharedMemoryMapping();
1249 -
1250 - // Move operations are allowed.
1251 -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&);
1252 -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&);
1253 -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept;
1254 -+ ReadOnlySharedMemoryMapping& operator=(
1255 -+ ReadOnlySharedMemoryMapping&&) noexcept;
1256 -
1257 - // Returns the base address of the mapping. This is read-only memory. This is
1258 - // page-aligned. This is nullptr for invalid instances.
1259 -@@ -171,8 +172,9 @@
1260 - WritableSharedMemoryMapping();
1261 -
1262 - // Move operations are allowed.
1263 -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&);
1264 -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&);
1265 -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept;
1266 -+ WritableSharedMemoryMapping& operator=(
1267 -+ WritableSharedMemoryMapping&&) noexcept;
1268 -
1269 - // Returns the base address of the mapping. This is writable memory. This is
1270 - // page-aligned. This is nullptr for invalid instances.
1271 -
1272 -From bdc24128b75008743d819e298557a53205706e7c Mon Sep 17 00:00:00 2001
1273 -From: Jose Dapena Paz <jose.dapena@×××.com>
1274 -Date: Sun, 09 Jun 2019 11:22:25 +0000
1275 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo
1276 -
1277 -AccountInfo declares them as noexcept and uses default implementation,
1278 -so all its members (including AccountId) should be noexcept. But AccountId
1279 -is not noexcept. To fix it we just need to make CoreAccountId move
1280 -operator/assign operator noexcept.
1281 -
1282 -Bug: 819294
1283 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98
1284 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645296
1285 -Reviewed-by: Roger Tawa <rogerta@××××××××.org>
1286 -Reviewed-by: Sylvain Defresne <sdefresne@××××××××.org>
1287 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1288 -Cr-Commit-Position: refs/heads/master@{#667484}
1289 ----
1290 -
1291 -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc
1292 -index d808082..12eefe3 100644
1293 ---- a/google_apis/gaia/core_account_id.cc
1294 -+++ b/google_apis/gaia/core_account_id.cc
1295 -@@ -6,8 +6,16 @@
1296 -
1297 - CoreAccountId::CoreAccountId() = default;
1298 -
1299 -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default;
1300 -+
1301 -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default;
1302 -+
1303 - CoreAccountId::~CoreAccountId() = default;
1304 -
1305 -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default;
1306 -+
1307 -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default;
1308 -+
1309 - CoreAccountId::CoreAccountId(const char* id) : id(id) {}
1310 -
1311 - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {}
1312 -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h
1313 -index 5ea602a..c2d1911 100644
1314 ---- a/google_apis/gaia/core_account_id.h
1315 -+++ b/google_apis/gaia/core_account_id.h
1316 -@@ -14,8 +14,13 @@
1317 - // for design and tracking).
1318 - struct CoreAccountId {
1319 - CoreAccountId();
1320 -+ CoreAccountId(const CoreAccountId&);
1321 -+ CoreAccountId(CoreAccountId&&) noexcept;
1322 - ~CoreAccountId();
1323 -
1324 -+ CoreAccountId& operator=(const CoreAccountId&);
1325 -+ CoreAccountId& operator=(CoreAccountId&&) noexcept;
1326 -+
1327 - // Those implicit constructor and conversion operator allow to
1328 - // progressively migrate the code to use this struct. Removing
1329 - // them is tracked by https://crbug.com/959161
1330 -
1331 -From 9aae68736bc7eb7172d0d0c978ecb6d1f75c7b30 Mon Sep 17 00:00:00 2001
1332 -From: Jose Dapena Paz <jose.dapena@×××.com>
1333 -Date: Tue, 11 Jun 2019 10:27:19 +0200
1334 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow
1335 -
1336 -In GCC, build is failing because history::QueryURLResult declares its move
1337 -assignment operator as noexcept using default implementation. That requires
1338 -its members to provide a move assignment operator that is noexcept too.
1339 -
1340 -But URLRow was missing noexcept declaration in move assignment operator (even
1341 -though it was providing noexcept to its move constructor).
1342 -
1343 -Bug: 819294
1344 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f
1345 ----
1346 -
1347 -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc
1348 -index 44c22fd..aec0101 100644
1349 ---- a/components/history/core/browser/url_row.cc
1350 -+++ b/components/history/core/browser/url_row.cc
1351 -@@ -26,7 +26,7 @@
1352 - }
1353 -
1354 - URLRow& URLRow::operator=(const URLRow& other) = default;
1355 --URLRow& URLRow::operator=(URLRow&& other) = default;
1356 -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default;
1357 -
1358 - void URLRow::Swap(URLRow* other) {
1359 - std::swap(id_, other->id_);
1360 -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h
1361 -index 8f6f9cf..31a1ef8 100644
1362 ---- a/components/history/core/browser/url_row.h
1363 -+++ b/components/history/core/browser/url_row.h
1364 -@@ -35,7 +35,7 @@
1365 -
1366 - virtual ~URLRow();
1367 - URLRow& operator=(const URLRow& other);
1368 -- URLRow& operator=(URLRow&& other);
1369 -+ URLRow& operator=(URLRow&& other) noexcept;
1370 -
1371 - URLID id() const { return id_; }
1372 -
1373 -
1374 -From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001
1375 -From: Jose Dapena Paz <jose.dapena@×××.com>
1376 -Date: Thu, 06 Jun 2019 15:30:49 +0000
1377 -Subject: [PATCH] Fix AutocompleteMatch move constructor/assign operator noexcept
1378 -
1379 -For AutocompleteMatch to declare noexcept them, all the contained
1380 -properties need to be noexcept too. This is required at least
1381 -for SuggestionAnswer, because base::string16 will make default
1382 -calculated signature of the move operator noexcept(false).
1383 -
1384 -To avoid this issue we explicitely declare them on SuggestionAnswer,
1385 -and its member classes TextField and ImageLine.
1386 -
1387 -Bug: 819294
1388 -Change-Id: I8714f2c6352a3292bdebdc3aed9790270e49c580
1389 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1554669
1390 -Reviewed-by: Kevin Bailey <krb@××××××××.org>
1391 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1392 -Cr-Commit-Position: refs/heads/master@{#666714}
1393 ----
1394 -
1395 -diff --git a/components/omnibox/browser/suggestion_answer.cc b/components/omnibox/browser/suggestion_answer.cc
1396 -index 151e55f..a0c9049 100644
1397 ---- a/components/omnibox/browser/suggestion_answer.cc
1398 -+++ b/components/omnibox/browser/suggestion_answer.cc
1399 -@@ -55,6 +55,12 @@
1400 -
1401 - SuggestionAnswer::TextField::TextField() = default;
1402 - SuggestionAnswer::TextField::~TextField() = default;
1403 -+SuggestionAnswer::TextField::TextField(const TextField&) = default;
1404 -+SuggestionAnswer::TextField::TextField(TextField&&) noexcept = default;
1405 -+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
1406 -+ const TextField&) = default;
1407 -+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
1408 -+ TextField&&) noexcept = default;
1409 -
1410 - // static
1411 - bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json,
1412 -@@ -93,9 +99,12 @@
1413 - SuggestionAnswer::ImageLine::ImageLine()
1414 - : num_text_lines_(1) {}
1415 - SuggestionAnswer::ImageLine::ImageLine(const ImageLine& line) = default;
1416 -+SuggestionAnswer::ImageLine::ImageLine(ImageLine&&) noexcept = default;
1417 -
1418 - SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
1419 - const ImageLine& line) = default;
1420 -+SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
1421 -+ ImageLine&&) noexcept = default;
1422 -
1423 - SuggestionAnswer::ImageLine::~ImageLine() {}
1424 -
1425 -@@ -251,9 +260,14 @@
1426 -
1427 - SuggestionAnswer::SuggestionAnswer(const SuggestionAnswer& answer) = default;
1428 -
1429 -+SuggestionAnswer::SuggestionAnswer(SuggestionAnswer&&) noexcept = default;
1430 -+
1431 - SuggestionAnswer& SuggestionAnswer::operator=(const SuggestionAnswer& answer) =
1432 - default;
1433 -
1434 -+SuggestionAnswer& SuggestionAnswer::operator=(SuggestionAnswer&&) noexcept =
1435 -+ default;
1436 -+
1437 - SuggestionAnswer::~SuggestionAnswer() = default;
1438 -
1439 - // static
1440 -diff --git a/components/omnibox/browser/suggestion_answer.h b/components/omnibox/browser/suggestion_answer.h
1441 -index 31be937..2840ace 100644
1442 ---- a/components/omnibox/browser/suggestion_answer.h
1443 -+++ b/components/omnibox/browser/suggestion_answer.h
1444 -@@ -125,6 +125,10 @@
1445 - public:
1446 - TextField();
1447 - ~TextField();
1448 -+ TextField(const TextField&);
1449 -+ TextField(TextField&&) noexcept;
1450 -+ TextField& operator=(const TextField&);
1451 -+ TextField& operator=(TextField&&) noexcept;
1452 -
1453 - // Parses |field_json| dictionary and populates |text_field| with the
1454 - // contents. If any of the required elements is missing, returns false and
1455 -@@ -162,7 +166,9 @@
1456 - public:
1457 - ImageLine();
1458 - explicit ImageLine(const ImageLine& line);
1459 -+ ImageLine(ImageLine&&) noexcept;
1460 - ImageLine& operator=(const ImageLine& line);
1461 -+ ImageLine& operator=(ImageLine&&) noexcept;
1462 - ~ImageLine();
1463 -
1464 - // Parses dictionary |line_json| and populates |image_line| with the
1465 -@@ -213,7 +219,9 @@
1466 -
1467 - SuggestionAnswer();
1468 - SuggestionAnswer(const SuggestionAnswer& answer);
1469 -+ SuggestionAnswer(SuggestionAnswer&&) noexcept;
1470 - SuggestionAnswer& operator=(const SuggestionAnswer& answer);
1471 -+ SuggestionAnswer& operator=(SuggestionAnswer&&) noexcept;
1472 - ~SuggestionAnswer();
1473 -
1474 - // Parses dictionary |answer_json| and fills a SuggestionAnswer containing the
1475 -
1476 -From 9f99af41cae3cfff3bcdcc856c1539801c9b745b Mon Sep 17 00:00:00 2001
1477 -From: Jose Dapena Paz <jose.dapena@×××.com>
1478 -Date: Fri, 07 Jun 2019 18:59:59 +0000
1479 -Subject: [PATCH] DisjoingRangeLockManager::Lock move constructor/assign operator cannot be noexcept
1480 -
1481 -They depend on LockRequest, that depends on WeakPtr, none of them noexcept.
1482 -
1483 -Bug: 819294
1484 -Change-Id: I04ec15901ca627358df727540597f21f135c129b
1485 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646252
1486 -Reviewed-by: Joshua Bell <jsbell@××××××××.org>
1487 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1488 -Cr-Commit-Position: refs/heads/master@{#667260}
1489 ----
1490 -
1491 -diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
1492 -index 478a5c9..a18c6cd 100644
1493 ---- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
1494 -+++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
1495 -@@ -19,14 +19,13 @@
1496 - : requested_type(type),
1497 - locks_holder(std::move(locks_holder)),
1498 - acquired_callback(std::move(acquired_callback)) {}
1499 --DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) noexcept =
1500 -- default;
1501 -+DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) = default;
1502 - DisjointRangeLockManager::LockRequest::~LockRequest() = default;
1503 - DisjointRangeLockManager::Lock::Lock() = default;
1504 --DisjointRangeLockManager::Lock::Lock(Lock&&) noexcept = default;
1505 -+DisjointRangeLockManager::Lock::Lock(Lock&&) = default;
1506 - DisjointRangeLockManager::Lock::~Lock() = default;
1507 - DisjointRangeLockManager::Lock& DisjointRangeLockManager::Lock::operator=(
1508 -- DisjointRangeLockManager::Lock&&) noexcept = default;
1509 -+ DisjointRangeLockManager::Lock&&) = default;
1510 -
1511 - DisjointRangeLockManager::DisjointRangeLockManager(int level_count)
1512 - : task_runner_(base::SequencedTaskRunnerHandle::Get()),
1513
1514 diff --git a/www-client/chromium/files/chromium-76-gcc-private.patch b/www-client/chromium/files/chromium-76-gcc-private.patch
1515 deleted file mode 100644
1516 index bc0ed980fd3..00000000000
1517 --- a/www-client/chromium/files/chromium-76-gcc-private.patch
1518 +++ /dev/null
1519 @@ -1,63 +0,0 @@
1520 -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001
1521 -From: Jose Dapena Paz <jose.dapena@×××.com>
1522 -Date: Tue, 11 Jun 2019 16:56:27 +0000
1523 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace
1524 -
1525 -GCC does not allow friendship declaration to anonymous namespace as done with Job
1526 -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just
1527 -makes RemoveJob method public, that was the only reason to make Job a friend.
1528 -
1529 -Error was:
1530 -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’:
1531 -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
1532 - delete_this = parent_->RemoveJob(this);
1533 - ^
1534 -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
1535 - std::unique_ptr<Job> RemoveJob(Job* job);
1536 - ^~~~~~~~~
1537 -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’:
1538 -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
1539 - std::unique_ptr<Job> delete_this = parent_->RemoveJob(this);
1540 - ^
1541 -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
1542 - std::unique_ptr<Job> RemoveJob(Job* job);
1543 - ^~~~~~~~~
1544 -
1545 -Bug: 819294
1546 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450
1547 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783
1548 -Commit-Queue: Eric Roman <eroman@××××××××.org>
1549 -Reviewed-by: Eric Roman <eroman@××××××××.org>
1550 -Cr-Commit-Position: refs/heads/master@{#668015}
1551 ----
1552 -
1553 -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc
1554 -index 11a1166..349c656 100644
1555 ---- a/net/cert_net/cert_net_fetcher_impl.cc
1556 -+++ b/net/cert_net/cert_net_fetcher_impl.cc
1557 -@@ -135,21 +135,19 @@
1558 - void Fetch(std::unique_ptr<RequestParams> request_params,
1559 - scoped_refptr<RequestCore> request);
1560 -
1561 -+ // Removes |job| from the in progress jobs and transfers ownership to the
1562 -+ // caller.
1563 -+ std::unique_ptr<Job> RemoveJob(Job* job);
1564 -+
1565 - // Cancels outstanding jobs, which stops network requests and signals the
1566 - // corresponding RequestCores that the requests have completed.
1567 - void Shutdown();
1568 -
1569 - private:
1570 -- friend class Job;
1571 --
1572 - // Finds a job with a matching RequestPararms or returns nullptr if there was
1573 - // no match.
1574 - Job* FindJob(const RequestParams& params);
1575 -
1576 -- // Removes |job| from the in progress jobs and transfers ownership to the
1577 -- // caller.
1578 -- std::unique_ptr<Job> RemoveJob(Job* job);
1579 --
1580 - // The in-progress jobs. This set does not contain the job which is actively
1581 - // invoking callbacks (OnJobCompleted).
1582 - JobSet jobs_;
1583
1584 diff --git a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch b/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch
1585 deleted file mode 100644
1586 index 3d34e436a28..00000000000
1587 --- a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch
1588 +++ /dev/null
1589 @@ -1,50 +0,0 @@
1590 -From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001
1591 -From: Jose Dapena Paz <jose.dapena@×××.com>
1592 -Date: Wed, 05 Jun 2019 14:45:06 +0000
1593 -Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData
1594 -
1595 -When RenderProcessUserData is destroyed from the destructor of
1596 -RenderProcessHostImpl, it is done in the destructor of RenderProcessHost.
1597 -At this point RemoveObserver override is already freed, so RenderProcessHost
1598 -is pure virtual. This crash happens at least building with GCC:
1599 -
1600 - at /usr/include/c++/8/ext/new_allocator.h:140
1601 - (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964
1602 -
1603 -We need to destroy RenderProcessUserData before that happens. To do that
1604 -we can just override RenderProcessHostDestroyed.
1605 -
1606 -Bug: 910288
1607 -Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd
1608 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366
1609 -Commit-Queue: Sigurður Ásgeirsson <siggi@××××××××.org>
1610 -Reviewed-by: Sigurður Ásgeirsson <siggi@××××××××.org>
1611 -Cr-Commit-Position: refs/heads/master@{#666279}
1612 ----
1613 -
1614 -diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc
1615 -index 2e2c199..ef6e1fb 100644
1616 ---- a/chrome/browser/performance_manager/render_process_user_data.cc
1617 -+++ b/chrome/browser/performance_manager/render_process_user_data.cc
1618 -@@ -116,4 +116,9 @@
1619 - base::Unretained(process_node_.get()), info.exit_code));
1620 - }
1621 -
1622 -+void RenderProcessUserData::RenderProcessHostDestroyed(
1623 -+ content::RenderProcessHost* host) {
1624 -+ host->RemoveUserData(kRenderProcessUserDataKey);
1625 -+}
1626 -+
1627 - } // namespace performance_manager
1628 -diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h
1629 -index ac74b1d..f3b4d16 100644
1630 ---- a/chrome/browser/performance_manager/render_process_user_data.h
1631 -+++ b/chrome/browser/performance_manager/render_process_user_data.h
1632 -@@ -47,6 +47,7 @@
1633 - void RenderProcessExited(
1634 - content::RenderProcessHost* host,
1635 - const content::ChildProcessTerminationInfo& info) override;
1636 -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
1637 -
1638 - // All instances are linked together in a doubly linked list to allow orderly
1639 - // destruction at browser shutdown time.
1640
1641 diff --git a/www-client/chromium/files/chromium-76-gcc-uint32.patch b/www-client/chromium/files/chromium-76-gcc-uint32.patch
1642 deleted file mode 100644
1643 index 5e392e6a6e5..00000000000
1644 --- a/www-client/chromium/files/chromium-76-gcc-uint32.patch
1645 +++ /dev/null
1646 @@ -1,30 +0,0 @@
1647 -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001
1648 -From: Jose Dapena Paz <jose.dapena@×××.com>
1649 -Date: Thu, 06 Jun 2019 07:54:05 +0000
1650 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t
1651 -
1652 -We are setting kAlive and kDead values assigning values that
1653 -are bigger than the maximum signed int32. It is better to use
1654 -uint32_t in this case.
1655 -
1656 -Bug: 819294
1657 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee
1658 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772
1659 -Reviewed-by: Kinuko Yasuda <kinuko@××××××××.org>
1660 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1661 -Cr-Commit-Position: refs/heads/master@{#666619}
1662 ----
1663 -
1664 -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h
1665 -index 43751c4..3c6f87b 100644
1666 ---- a/services/network/throttling/throttling_controller.h
1667 -+++ b/services/network/throttling/throttling_controller.h
1668 -@@ -38,7 +38,7 @@
1669 -
1670 - // TODO(https://crbug.com/960874): Debugging code to try and shed some light
1671 - // on why the owned maps are invalid.
1672 -- enum class Liveness : int32_t {
1673 -+ enum class Liveness : uint32_t {
1674 - kAlive = 0xCA11AB13,
1675 - kDead = 0xDEADBEEF,
1676 - };
1677
1678 diff --git a/www-client/chromium/files/chromium-76-gcc-vulkan.patch b/www-client/chromium/files/chromium-76-gcc-vulkan.patch
1679 deleted file mode 100644
1680 index cf93bce63e9..00000000000
1681 --- a/www-client/chromium/files/chromium-76-gcc-vulkan.patch
1682 +++ /dev/null
1683 @@ -1,115 +0,0 @@
1684 -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001
1685 -From: Jose Dapena Paz <jose.dapena@×××.com>
1686 -Date: Tue, 11 Jun 2019 17:39:38 +0000
1687 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names.
1688 -
1689 -The notation for initialization of structs referring to its properties
1690 -is invalid in C++. This is not accepted in GCC. It was making build
1691 -fail in VulkanCommandBuffer.
1692 -
1693 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)':
1694 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token
1695 - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
1696 - ^
1697 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token
1698 - .subresourceRange.baseMipLevel = 0,
1699 - ^
1700 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token
1701 - .subresourceRange.levelCount = 1,
1702 - ^
1703 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token
1704 - .subresourceRange.baseArrayLayer = 0,
1705 - ^
1706 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token
1707 - .subresourceRange.layerCount = 1,
1708 - ^
1709 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)':
1710 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token
1711 - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
1712 - ^
1713 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token
1714 - .imageSubresource.mipLevel = 0,
1715 - ^
1716 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token
1717 - .imageSubresource.baseArrayLayer = 0,
1718 - ^
1719 -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token
1720 - .imageSubresource.layerCount = 1,
1721 - ^
1722 -Bug: 819294
1723 -
1724 -Change-Id: I999abece0c727e77964789183642ba62009c2c22
1725 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802
1726 -Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
1727 -Reviewed-by: Antoine Labour <piman@××××××××.org>
1728 -Cr-Commit-Position: refs/heads/master@{#668033}
1729 ----
1730 -
1731 -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc
1732 -index ba776e4..4f14c85 100644
1733 ---- a/gpu/vulkan/vulkan_command_buffer.cc
1734 -+++ b/gpu/vulkan/vulkan_command_buffer.cc
1735 -@@ -207,21 +207,20 @@
1736 - void VulkanCommandBuffer::TransitionImageLayout(VkImage image,
1737 - VkImageLayout old_layout,
1738 - VkImageLayout new_layout) {
1739 -- VkImageMemoryBarrier barrier = {
1740 -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
1741 -- .srcAccessMask = GetAccessMask(old_layout),
1742 -- .dstAccessMask = GetAccessMask(new_layout),
1743 -- .oldLayout = old_layout,
1744 -- .newLayout = new_layout,
1745 -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
1746 -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
1747 -- .image = image,
1748 -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
1749 -- .subresourceRange.baseMipLevel = 0,
1750 -- .subresourceRange.levelCount = 1,
1751 -- .subresourceRange.baseArrayLayer = 0,
1752 -- .subresourceRange.layerCount = 1,
1753 -- };
1754 -+ VkImageMemoryBarrier barrier = {};
1755 -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
1756 -+ barrier.srcAccessMask = GetAccessMask(old_layout);
1757 -+ barrier.dstAccessMask = GetAccessMask(new_layout);
1758 -+ barrier.oldLayout = old_layout;
1759 -+ barrier.newLayout = new_layout;
1760 -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1761 -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1762 -+ barrier.image = image;
1763 -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
1764 -+ barrier.subresourceRange.baseMipLevel = 0;
1765 -+ barrier.subresourceRange.levelCount = 1;
1766 -+ barrier.subresourceRange.baseArrayLayer = 0;
1767 -+ barrier.subresourceRange.layerCount = 1;
1768 - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout),
1769 - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0,
1770 - nullptr, 1, &barrier);
1771 -@@ -233,17 +232,16 @@
1772 - uint32_t buffer_height,
1773 - uint32_t width,
1774 - uint32_t height) {
1775 -- VkBufferImageCopy region = {
1776 -- .bufferOffset = 0,
1777 -- .bufferRowLength = buffer_width,
1778 -- .bufferImageHeight = buffer_height,
1779 -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
1780 -- .imageSubresource.mipLevel = 0,
1781 -- .imageSubresource.baseArrayLayer = 0,
1782 -- .imageSubresource.layerCount = 1,
1783 -- .imageOffset = {0, 0, 0},
1784 -- .imageExtent = {width, height, 1},
1785 -- };
1786 -+ VkBufferImageCopy region = {};
1787 -+ region.bufferOffset = 0;
1788 -+ region.bufferRowLength = buffer_width;
1789 -+ region.bufferImageHeight = buffer_height;
1790 -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
1791 -+ region.imageSubresource.mipLevel = 0;
1792 -+ region.imageSubresource.baseArrayLayer = 0;
1793 -+ region.imageSubresource.layerCount = 1;
1794 -+ region.imageOffset = {0, 0, 0};
1795 -+ region.imageExtent = {width, height, 1};
1796 - vkCmdCopyBufferToImage(command_buffer_, buffer, image,
1797 - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &region);
1798 - }
1799
1800 diff --git a/www-client/chromium/files/chromium-76-no-cups.patch b/www-client/chromium/files/chromium-76-no-cups.patch
1801 deleted file mode 100644
1802 index 28732c2b431..00000000000
1803 --- a/www-client/chromium/files/chromium-76-no-cups.patch
1804 +++ /dev/null
1805 @@ -1,41 +0,0 @@
1806 -From f768afdd3104e7da663aa82e1e8f969aea3f85c3 Mon Sep 17 00:00:00 2001
1807 -From: Lei Zhang <thestig@××××××××.org>
1808 -Date: Thu, 22 Aug 2019 11:44:27 -0700
1809 -Subject: [PATCH] Handle unsupported configs in CreatePrinterHandlerTaskRunner().
1810 -
1811 -CreatePrinterHandlerTaskRunner(), which was added in
1812 -https://crrev.com/658397, used ifdefs to only handle the supported build
1813 -configs. Add a #else case as a catch-all to conservatively handle the
1814 -unsupported configs. Since it is only a couple lines of trivial code,
1815 -doing this does not create much of a maintenance burden.
1816 -
1817 -(backported to chromium-76)
1818 -
1819 -Bug: 990727
1820 -Change-Id: I07bd21abaeffc8223e88b519c3891185d5d2be12
1821 ----
1822 -
1823 -diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1824 -index 03bd08a..e9c6996 100644
1825 ---- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1826 -+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
1827 -@@ -33,12 +33,15 @@ scoped_refptr<base::TaskRunner> CreatePrinterHandlerTaskRunner() {
1828 - static constexpr base::TaskTraits kTraits = {
1829 - base::MayBlock(), base::TaskPriority::USER_VISIBLE};
1830 -
1831 --#if defined(OS_WIN)
1832 -- // Windows drivers are likely not thread-safe.
1833 -- return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
1834 --#elif defined(USE_CUPS)
1835 -+#if defined(USE_CUPS)
1836 - // CUPS is thread safe.
1837 - return base::CreateTaskRunnerWithTraits(kTraits);
1838 -+#elif defined(OS_WIN)
1839 -+ // Windows drivers are likely not thread-safe.
1840 -+ return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
1841 -+#else
1842 -+ // Be conservative on unsupported platforms.
1843 -+ return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
1844 - #endif
1845 - }
1846 -
1847
1848 diff --git a/www-client/chromium/files/chromium-76-quiche.patch b/www-client/chromium/files/chromium-76-quiche.patch
1849 deleted file mode 100644
1850 index f3aa42aa304..00000000000
1851 --- a/www-client/chromium/files/chromium-76-quiche.patch
1852 +++ /dev/null
1853 @@ -1,239 +0,0 @@
1854 -From 9424add9d73432a794b7944790253213cce6dcb8 Mon Sep 17 00:00:00 2001
1855 -From: danzh <danzh@××××××.com>
1856 -Date: Thu, 06 Jun 2019 14:04:36 -0700
1857 -Subject: [PATCH] gfe-relnote: (n/a) code cleanup. Fix envoy compile errors.
1858 -
1859 -Add #include header for std library.
1860 -Reference TransportParameters when using its enum TransportParameterId.
1861 -
1862 -PiperOrigin-RevId: 251922363
1863 -Change-Id: Iba38660e5adc3069e377829acec44267658b11c6
1864 ----
1865 -
1866 -diff --git a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
1867 -index ee0ebf0..e5df9fe 100644
1868 ---- a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
1869 -+++ b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
1870 -@@ -62,37 +62,37 @@
1871 - std::string TransportParameterIdToString(
1872 - TransportParameters::TransportParameterId param_id) {
1873 - switch (param_id) {
1874 -- case kOriginalConnectionId:
1875 -+ case TransportParameters::kOriginalConnectionId:
1876 - return "original_connection_id";
1877 -- case kIdleTimeout:
1878 -+ case TransportParameters::kIdleTimeout:
1879 - return "idle_timeout";
1880 -- case kStatelessResetToken:
1881 -+ case TransportParameters::kStatelessResetToken:
1882 - return "stateless_reset_token";
1883 -- case kMaxPacketSize:
1884 -+ case TransportParameters::kMaxPacketSize:
1885 - return "max_packet_size";
1886 -- case kInitialMaxData:
1887 -+ case TransportParameters::kInitialMaxData:
1888 - return "initial_max_data";
1889 -- case kInitialMaxStreamDataBidiLocal:
1890 -+ case TransportParameters::kInitialMaxStreamDataBidiLocal:
1891 - return "initial_max_stream_data_bidi_local";
1892 -- case kInitialMaxStreamDataBidiRemote:
1893 -+ case TransportParameters::kInitialMaxStreamDataBidiRemote:
1894 - return "initial_max_stream_data_bidi_remote";
1895 -- case kInitialMaxStreamDataUni:
1896 -+ case TransportParameters::kInitialMaxStreamDataUni:
1897 - return "initial_max_stream_data_uni";
1898 -- case kInitialMaxStreamsBidi:
1899 -+ case TransportParameters::kInitialMaxStreamsBidi:
1900 - return "initial_max_streams_bidi";
1901 -- case kInitialMaxStreamsUni:
1902 -+ case TransportParameters::kInitialMaxStreamsUni:
1903 - return "initial_max_streams_uni";
1904 -- case kAckDelayExponent:
1905 -+ case TransportParameters::kAckDelayExponent:
1906 - return "ack_delay_exponent";
1907 -- case kMaxAckDelay:
1908 -+ case TransportParameters::kMaxAckDelay:
1909 - return "max_ack_delay";
1910 -- case kDisableMigration:
1911 -+ case TransportParameters::kDisableMigration:
1912 - return "disable_migration";
1913 -- case kPreferredAddress:
1914 -+ case TransportParameters::kPreferredAddress:
1915 - return "preferred_address";
1916 -- case kGoogleQuicParam:
1917 -+ case TransportParameters::kGoogleQuicParam:
1918 - return "google";
1919 -- case kGoogleQuicVersion:
1920 -+ case TransportParameters::kGoogleQuicVersion:
1921 - return "google-version";
1922 - }
1923 - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")";
1924 -@@ -390,7 +390,7 @@
1925 - CBB original_connection_id_param;
1926 - if (!in.original_connection_id.IsEmpty()) {
1927 - DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
1928 -- if (!CBB_add_u16(&params, kOriginalConnectionId) ||
1929 -+ if (!CBB_add_u16(&params, TransportParameters::kOriginalConnectionId) ||
1930 - !CBB_add_u16_length_prefixed(&params, &original_connection_id_param) ||
1931 - !CBB_add_bytes(
1932 - &original_connection_id_param,
1933 -@@ -412,7 +412,7 @@
1934 - if (!in.stateless_reset_token.empty()) {
1935 - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size());
1936 - DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
1937 -- if (!CBB_add_u16(&params, kStatelessResetToken) ||
1938 -+ if (!CBB_add_u16(&params, TransportParameters::kStatelessResetToken) ||
1939 - !CBB_add_u16_length_prefixed(&params, &stateless_reset_token_param) ||
1940 - !CBB_add_bytes(&stateless_reset_token_param,
1941 - in.stateless_reset_token.data(),
1942 -@@ -438,7 +438,7 @@
1943 -
1944 - // disable_migration
1945 - if (in.disable_migration) {
1946 -- if (!CBB_add_u16(&params, kDisableMigration) ||
1947 -+ if (!CBB_add_u16(&params, TransportParameters::kDisableMigration) ||
1948 - !CBB_add_u16(&params, 0u)) { // 0 is the length of this parameter.
1949 - QUIC_BUG << "Failed to write disable_migration for " << in;
1950 - return false;
1951 -@@ -458,7 +458,7 @@
1952 - QUIC_BUG << "Bad lengths " << *in.preferred_address;
1953 - return false;
1954 - }
1955 -- if (!CBB_add_u16(&params, kPreferredAddress) ||
1956 -+ if (!CBB_add_u16(&params, TransportParameters::kPreferredAddress) ||
1957 - !CBB_add_u16_length_prefixed(&params, &preferred_address_params) ||
1958 - !CBB_add_bytes(
1959 - &preferred_address_params,
1960 -@@ -491,7 +491,7 @@
1961 - if (in.google_quic_params) {
1962 - const QuicData& serialized_google_quic_params =
1963 - in.google_quic_params->GetSerialized();
1964 -- if (!CBB_add_u16(&params, kGoogleQuicParam) ||
1965 -+ if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicParam) ||
1966 - !CBB_add_u16_length_prefixed(&params, &google_quic_params) ||
1967 - !CBB_add_bytes(&google_quic_params,
1968 - reinterpret_cast<const uint8_t*>(
1969 -@@ -505,7 +505,7 @@
1970 -
1971 - // Google-specific version extension.
1972 - CBB google_version_params;
1973 -- if (!CBB_add_u16(&params, kGoogleQuicVersion) ||
1974 -+ if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicVersion) ||
1975 - !CBB_add_u16_length_prefixed(&params, &google_version_params) ||
1976 - !CBB_add_u32(&google_version_params, in.version)) {
1977 - QUIC_BUG << "Failed to write Google version extension for " << in;
1978 -@@ -565,7 +565,7 @@
1979 - }
1980 - bool parse_success = true;
1981 - switch (param_id) {
1982 -- case kOriginalConnectionId:
1983 -+ case TransportParameters::kOriginalConnectionId:
1984 - if (!out->original_connection_id.IsEmpty()) {
1985 - QUIC_DLOG(ERROR) << "Received a second original connection ID";
1986 - return false;
1987 -@@ -581,10 +581,10 @@
1988 - CBS_len(&value));
1989 - }
1990 - break;
1991 -- case kIdleTimeout:
1992 -+ case TransportParameters::kIdleTimeout:
1993 - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value);
1994 - break;
1995 -- case kStatelessResetToken:
1996 -+ case TransportParameters::kStatelessResetToken:
1997 - if (!out->stateless_reset_token.empty()) {
1998 - QUIC_DLOG(ERROR) << "Received a second stateless reset token";
1999 - return false;
2000 -@@ -597,36 +597,36 @@
2001 - out->stateless_reset_token.assign(CBS_data(&value),
2002 - CBS_data(&value) + CBS_len(&value));
2003 - break;
2004 -- case kMaxPacketSize:
2005 -+ case TransportParameters::kMaxPacketSize:
2006 - parse_success = out->max_packet_size.ReadFromCbs(&value);
2007 - break;
2008 -- case kInitialMaxData:
2009 -+ case TransportParameters::kInitialMaxData:
2010 - parse_success = out->initial_max_data.ReadFromCbs(&value);
2011 - break;
2012 -- case kInitialMaxStreamDataBidiLocal:
2013 -+ case TransportParameters::kInitialMaxStreamDataBidiLocal:
2014 - parse_success =
2015 - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value);
2016 - break;
2017 -- case kInitialMaxStreamDataBidiRemote:
2018 -+ case TransportParameters::kInitialMaxStreamDataBidiRemote:
2019 - parse_success =
2020 - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value);
2021 - break;
2022 -- case kInitialMaxStreamDataUni:
2023 -+ case TransportParameters::kInitialMaxStreamDataUni:
2024 - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value);
2025 - break;
2026 -- case kInitialMaxStreamsBidi:
2027 -+ case TransportParameters::kInitialMaxStreamsBidi:
2028 - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value);
2029 - break;
2030 -- case kInitialMaxStreamsUni:
2031 -+ case TransportParameters::kInitialMaxStreamsUni:
2032 - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value);
2033 - break;
2034 -- case kAckDelayExponent:
2035 -+ case TransportParameters::kAckDelayExponent:
2036 - parse_success = out->ack_delay_exponent.ReadFromCbs(&value);
2037 - break;
2038 -- case kMaxAckDelay:
2039 -+ case TransportParameters::kMaxAckDelay:
2040 - parse_success = out->max_ack_delay.ReadFromCbs(&value);
2041 - break;
2042 -- case kDisableMigration:
2043 -+ case TransportParameters::kDisableMigration:
2044 - if (out->disable_migration) {
2045 - QUIC_DLOG(ERROR) << "Received a second disable migration";
2046 - return false;
2047 -@@ -638,7 +638,7 @@
2048 - }
2049 - out->disable_migration = true;
2050 - break;
2051 -- case kPreferredAddress: {
2052 -+ case TransportParameters::kPreferredAddress: {
2053 - uint16_t ipv4_port, ipv6_port;
2054 - in_addr ipv4_address;
2055 - in6_addr ipv6_address;
2056 -@@ -692,7 +692,7 @@
2057 - QuicMakeUnique<TransportParameters::PreferredAddress>(
2058 - preferred_address);
2059 - } break;
2060 -- case kGoogleQuicParam: {
2061 -+ case TransportParameters::kGoogleQuicParam: {
2062 - if (out->google_quic_params) {
2063 - QUIC_DLOG(ERROR) << "Received a second Google parameter";
2064 - return false;
2065 -@@ -701,7 +701,7 @@
2066 - reinterpret_cast<const char*>(CBS_data(&value)), CBS_len(&value));
2067 - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params);
2068 - } break;
2069 -- case kGoogleQuicVersion: {
2070 -+ case TransportParameters::kGoogleQuicVersion: {
2071 - if (!CBS_get_u32(&value, &out->version)) {
2072 - QUIC_DLOG(ERROR) << "Failed to parse Google version extension";
2073 - return false;
2074 -diff --git a/quic/core/quic_socket_address_coder.cc b/quic/core/quic_socket_address_coder.cc
2075 -index 2527fc9..b26103d 100644
2076 ---- a/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc
2077 -+++ b/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc
2078 -@@ -2,10 +2,12 @@
2079 - // Use of this source code is governed by a BSD-style license that can be
2080 - // found in the LICENSE file.
2081 -
2082 --#include <string>
2083 --
2084 - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h"
2085 -
2086 -+#include <cstring>
2087 -+#include <string>
2088 -+#include <vector>
2089 -+
2090 - namespace quic {
2091 -
2092 - namespace {