Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chromium.15750 for openSUSE:Leap:15.2:Update checked in at 2021-02-09 19:41:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2:Update/chromium.15750 (Old) and /work/SRC/openSUSE:Leap:15.2:Update/.chromium.15750.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium.15750" Tue Feb 9 19:41:08 2021 rev:1 rq:870574 version:88.0.4324.150 Changes: -------- New Changes file: --- /dev/null 2021-01-11 18:20:20.070723563 +0100 +++ /work/SRC/openSUSE:Leap:15.2:Update/.chromium.15750.new.28504/chromium.changes 2021-02-09 19:41:26.724049932 +0100 @@ -0,0 +1,6223 @@ +------------------------------------------------------------------- +Sat Feb 6 13:26:42 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Update to 88.0.4324.150 bsc#1181827 + - CVE-2021-21148: Heap buffer overflow in V8 + +------------------------------------------------------------------- +Thu Feb 4 10:09:32 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Update to 88.0.4324.146 bsc#1181772 + - CVE-2021-21142: Use after free in Payments + - CVE-2021-21143: Heap buffer overflow in Extensions + - CVE-2021-21144: Heap buffer overflow in Tab Groups. + - CVE-2021-21145: Use after free in Fonts + - CVE-2021-21146: Use after free in Navigation. + - CVE-2021-21147: Inappropriate implementation in Skia + +------------------------------------------------------------------- +Sat Jan 23 10:09:14 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Update to 88.0.4324.96 bsc#1181137 + - CVE-2021-21117: Insufficient policy enforcement in Cryptohome + - CVE-2021-21118: Insufficient data validation in V8 + - CVE-2021-21119: Use after free in Media + - CVE-2021-21120: Use after free in WebSQL + - CVE-2021-21121: Use after free in Omnibox + - CVE-2021-21122: Use after free in Blink + - CVE-2021-21123: Insufficient data validation in File System API + - CVE-2021-21124: Potential user after free in Speech Recognizer + - CVE-2021-21125: Insufficient policy enforcement in File System API + - CVE-2020-16044: Use after free in WebRTC + - CVE-2021-21126: Insufficient policy enforcement in extensions + - CVE-2021-21127: Insufficient policy enforcement in extensions + - CVE-2021-21128: Heap buffer overflow in Blink + - CVE-2021-21129: Insufficient policy enforcement in File System API + - CVE-2021-21130: Insufficient policy enforcement in File System API + - CVE-2021-21131: Insufficient policy enforcement in File System API + - CVE-2021-21132: Inappropriate implementation in DevTools + - CVE-2021-21133: Insufficient policy enforcement in Downloads + - CVE-2021-21134: Incorrect security UI in Page Info + - CVE-2021-21135: Inappropriate implementation in Performance API + - CVE-2021-21136: Insufficient policy enforcement in WebView + - CVE-2021-21137: Inappropriate implementation in DevTools + - CVE-2021-21138: Use after free in DevTools + - CVE-2021-21139: Inappropriate implementation in iframe sandbox + - CVE-2021-21140: Uninitialized Use in USB + - CVE-2021-21141: Insufficient policy enforcement in File System API +- Added patches: + - chromium-88-compiler.patch + - chromium-88-ozone-deps.patch + - chromium-88-ityp-include.patch + - chromium-88-AXTreeFormatter-include.patch + - chromium-88-BookmarkModelObserver-include.patch + - chromium-88-federated_learning-include.patch + - chromium-88-ideographicSpaceCharacter.patch + - chromium-88-StringPool-include.patch + - chromium-88-dawn-static.patch + - chromium-88-CompositorFrameReporter-dcheck.patch +- Removed patches: + - gpu-timeout.patch + - chromium-87-compiler.patch + - chromium-87-ServiceWorkerContainerHost-crash.patch + - chromium-87-ozone-deps.patch + - chromium-87-v8-icu68.patch + - chromium-87-icu68.patch + +------------------------------------------------------------------- +Sat Jan 16 11:40:43 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Remove C++ only flags from CFLAGS +- Update chromium-gcc11.patch +- Comply with new Google API key rules for Derivatives + +------------------------------------------------------------------- +Thu Jan 7 08:59:35 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Update to 87.0.4280.141 bsc#1180645 + - CVE-2021-21106: Use after free in autofill + - CVE-2021-21107: Use after free in drag and drop + - CVE-2021-21108: Use after free in media + - CVE-2021-21109: Use after free in payments + - CVE-2021-21110: Use after free in safe browsing + - CVE-2021-21111: Insufficient policy enforcement in WebUI + - CVE-2021-21112: Use after free in Blink + - CVE-2021-21113: Heap buffer overflow in Skia + - CVE-2020-16043: Insufficient data validation in networking + - CVE-2021-21114: Use after free in audio + - CVE-2020-15995: Out of bounds write in V8 + - CVE-2021-21115: Use after free in safe browsing + - CVE-2021-21116: Heap buffer overflow in audio + +------------------------------------------------------------------- +Sun Dec 20 17:27:47 UTC 2020 - Callum Farmer <gm...@opensuse.org> + +- Use main URLs instead of redirects in master preferences +- Remove useless %post and %postun + +------------------------------------------------------------------- +Fri Dec 4 15:24:58 UTC 2020 - Callum Farmer <gm...@opensuse.org> + +- Added patches: + - chromium-87-icu68.patch + - chromium-87-v8-icu68.patch +- Update to 87.0.4280.88 bsc#1179576 + - CVE-2020-16037: Use after free in clipboard + - CVE-2020-16038: Use after free in media + - CVE-2020-16039: Use after free in extensions + - CVE-2020-16040: Insufficient data validation in V8 + - CVE-2020-16041: Out of bounds read in networking + - CVE-2020-16042: Uninitialized Use in V8 + +------------------------------------------------------------------- +Sat Nov 28 16:29:53 UTC 2020 - Callum Farmer <gm...@opensuse.org> + +- Remove erroneous call to ldconfig which causes Firefox crashes (boo#1179298) + +------------------------------------------------------------------- +Thu Nov 19 21:17:10 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com> + +- Added patches: + - chromium-gcc11.patch + - chromium-86-fix-vaapi-on-intel.patch + - chromium-87-compiler.patch + - chromium-87-CursorFactory-include.patch + - chromium-87-openscreen-include.patch + - chromium-87-ozone-deps.patch + - chromium-87-ServiceWorkerContainerHost-crash.patch + - chromium-87-webcodecs-deps.patch + - chromium-88-vaapi-attribute.patch + - chromium-lp152-missing-includes.patch +- Removed patches: + - chromium-86-ServiceWorkerRunningInfo-noexcept.patch + - chromium-86-compiler.patch + - fix-invalid-end-iterator-usage-in-CookieMonster.patch + - old-libva.patch +- Update to 87.0.4280.66 bsc#1178923 + - Wayland support by default + - CVE-2020-16018: Use after free in payments. + - CVE-2020-16019: Inappropriate implementation in filesystem. + - CVE-2020-16020: Inappropriate implementation in cryptohome. + - CVE-2020-16021: Race in ImageBurner. + - CVE-2020-16022: Insufficient policy enforcement in networking. + - CVE-2020-16015: Insufficient data validation in WASM. R + - CVE-2020-16014: Use after free in PPAPI. + - CVE-2020-16023: Use after free in WebCodecs. + - CVE-2020-16024: Heap buffer overflow in UI. + - CVE-2020-16025: Heap buffer overflow in clipboard. + - CVE-2020-16026: Use after free in WebRTC. + - CVE-2020-16027: Insufficient policy enforcement in developer tools. R + - CVE-2020-16028: Heap buffer overflow in WebRTC. + - CVE-2020-16029: Inappropriate implementation in PDFium. + - CVE-2020-16030: Insufficient data validation in Blink. + - CVE-2019-8075: Insufficient data validation in Flash. + - CVE-2020-16031: Incorrect security UI in tab preview. + - CVE-2020-16032: Incorrect security UI in sharing. + - CVE-2020-16033: Incorrect security UI in WebUSB. + - CVE-2020-16034: Inappropriate implementation in WebRTC. + - CVE-2020-16035: Insufficient data validation in cros-disks. + - CVE-2020-16012: Side-channel information leakage in graphics. + - CVE-2020-16036: Inappropriate implementation in cookies. + +------------------------------------------------------------------- +Thu Nov 12 08:44:47 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com> + +- Update to 86.0.4240.198 bsc#1178703 + - CVE-2020-16013: Inappropriate implementation in V8 + - CVE-2020-16017: Use after free in site isolation + +------------------------------------------------------------------- +Wed Nov 11 14:21:25 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com> + +- Update to 86.0.4240.193 bsc#1178630 + - CVE-2020-16016: Inappropriate implementation in base. + +------------------------------------------------------------------- +Tue Nov 3 09:37:03 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com> + +- Update to 86.0.4240.183 bsc#1178375 + - CVE-2020-16004: Use after free in user interface. + - CVE-2020-16005: Insufficient policy enforcement in ANGLE. + - CVE-2020-16006: Inappropriate implementation in V8 + - CVE-2020-16007: Insufficient data validation in installer. + - CVE-2020-16008: Stack buffer overflow in WebRTC. + - CVE-2020-16009: Inappropriate implementation in V8. + - CVE-2020-16011: Heap buffer overflow in UI on Windows. + +------------------------------------------------------------------- +Thu Oct 22 06:06:13 UTC 2020 - Marcus Meissner <meiss...@suse.com> + +- Update to 86.0.4240.111 bsc#1177936 + - CVE-2020-16000: Inappropriate implementation in Blink. + - CVE-2020-16001: Use after free in media. + - CVE-2020-16002: Use after free in PDFium. + - CVE-2020-15999: Heap buffer overflow in Freetype. + - CVE-2020-16003: Use after free in printing. + +------------------------------------------------------------------- ++++ 6026 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Leap:15.2:Update/.chromium.15750.new.28504/chromium.changes New: ---- _constraints build-with-pipewire-0.3.patch chromium-78-protobuf-RepeatedPtrField-export.patch chromium-79-gcc-protobuf-alignas.patch chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch chromium-84-blink-disable-clang-format.patch chromium-86-ConsumeDurationNumber-constexpr.patch chromium-86-ImageMemoryBarrierData-init.patch chromium-86-f_seal.patch chromium-86-fix-vaapi-on-intel.patch chromium-86-nearby-explicit.patch chromium-86-nearby-include.patch chromium-87-CursorFactory-include.patch chromium-87-openscreen-include.patch chromium-87-webcodecs-deps.patch chromium-88-AXTreeFormatter-include.patch chromium-88-BookmarkModelObserver-include.patch chromium-88-CompositorFrameReporter-dcheck.patch chromium-88-StringPool-include.patch chromium-88-compiler.patch chromium-88-dawn-static.patch chromium-88-federated_learning-include.patch chromium-88-ideographicSpaceCharacter.patch chromium-88-ityp-include.patch chromium-88-ozone-deps.patch chromium-88-vaapi-attribute.patch chromium-88.0.4324.150.tar.xz chromium-browser.desktop chromium-browser.sh chromium-browser.xml chromium-buildname.patch chromium-disable-parallel-gold.patch chromium-fix-char_traits.patch chromium-gcc11.patch chromium-libusb_interrupt_event_handler.patch chromium-lp151-old-drm.patch chromium-lp152-missing-includes.patch chromium-master-prefs-path.patch chromium-norar.patch chromium-prop-codecs.patch chromium-symbolic.svg chromium-system-libusb.patch chromium-vaapi.patch chromium.changes chromium.default chromium.spec exclude_ymp.patch fix_building_widevinecdm_with_chromium.patch gcc-enable-lto.patch master_preferences no-location-leap151.patch system-libdrm.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ ++++ 827 lines (skipped) ++++++ _constraints ++++++ <?xml version="1.0"?> <constraints> <hardware> <disk> <size unit="G">16</size> </disk> <physicalmemory> <size unit="G">8</size> </physicalmemory> </hardware> <overwrite> <conditions> <arch>x86_64</arch> </conditions> <hardware> <memory> <size unit="G">24</size> </memory> </hardware> </overwrite> </constraints> ++++++ build-with-pipewire-0.3.patch ++++++ ++++ 793 lines (skipped) ++++++ chromium-78-protobuf-RepeatedPtrField-export.patch ++++++ diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h index b5b193c..4434854 100644 --- a/third_party/protobuf/src/google/protobuf/repeated_field.h +++ b/third_party/protobuf/src/google/protobuf/repeated_field.h @@ -804,7 +804,7 @@ class StringTypeHandler { // RepeatedPtrField is like RepeatedField, but used for repeated strings or // Messages. template <typename Element> -class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { +class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { public: RepeatedPtrField(); explicit RepeatedPtrField(Arena* arena); ++++++ chromium-79-gcc-protobuf-alignas.patch ++++++ >From 5d66d5907ac3e76d1e382b8a8e8afe653bd00f4c Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 31 May 2020 13:59:15 +0000 Subject: [PATCH] Fix GCC build with PROTOBUF_USE_DLLS enabled GCC does not allow mixing __attribute__(()) syntax and alignas() syntax. Re-use approach from chromium base/compiler_specific.h --- .../protobuf/src/google/protobuf/arena.h | 2 +- .../protobuf/src/google/protobuf/port_def.inc | 29 +++++++++++++++++++ .../src/google/protobuf/port_undef.inc | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/third_party/protobuf/src/google/protobuf/arena.h b/third_party/protobuf/src/google/protobuf/arena.h index dedc221..a8515ce 100644 --- a/third_party/protobuf/src/google/protobuf/arena.h +++ b/third_party/protobuf/src/google/protobuf/arena.h @@ -245,7 +245,7 @@ struct ArenaOptions { // well as protobuf container types like RepeatedPtrField and Map. The protocol // is internal to protobuf and is not guaranteed to be stable. Non-proto types // should not rely on this protocol. -class PROTOBUF_EXPORT alignas(8) Arena final { +class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final { public: // Arena constructor taking custom options. See ArenaOptions below for // descriptions of the options available. diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc index f1bd85d..6d02b53 100644 --- a/third_party/protobuf/src/google/protobuf/port_def.inc +++ b/third_party/protobuf/src/google/protobuf/port_def.inc @@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); #undef IN #endif // _MSC_VER +// Specify memory alignment for structs, classes, etc. +// Use like: +// class PROTOBUF_ALIGNAS(16) MyClass { ... } +// PROTOBUF_ALIGNAS(16) int array[4]; +// +// In most places you can use the C++11 keyword "alignas", which is preferred. +// +// But compilers have trouble mixing __attribute__((...)) syntax with +// alignas(...) syntax. +// +// Doesn't work in clang or gcc: +// struct alignas(16) __attribute__((packed)) S { char c; }; +// Works in clang but not gcc: +// struct __attribute__((packed)) alignas(16) S2 { char c; }; +// Works in clang and gcc: +// struct alignas(16) S3 { char c; } __attribute__((packed)); +// +// There are also some attributes that must be specified *before* a class +// definition: visibility (used for exporting functions/classes) is one of +// these attributes. This means that it is not possible to use alignas() with a +// class that is marked as exported. +#if defined(_MSC_VER) +#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment)) +#elif defined(__GNUC__) +#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment))) +#else +#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment) +#endif + #if defined(__clang__) #pragma clang diagnostic push // TODO(gerbens) ideally we cleanup the code. But a cursory try shows many diff --git a/third_party/protobuf/src/google/protobuf/port_undef.inc b/third_party/protobuf/src/google/protobuf/port_undef.inc index b7e67fe..ba1fffc 100644 --- a/third_party/protobuf/src/google/protobuf/port_undef.inc +++ b/third_party/protobuf/src/google/protobuf/port_undef.inc @@ -80,6 +80,7 @@ #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport +#undef PROTOBUF_ALIGNAS -- 2.26.2 ++++++ chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch ++++++ >From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001 From: vasilvv <vasi...@google.com> Date: Wed, 03 Apr 2019 13:58:53 -0700 Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer QuicStreamSendBuffer constructor is implicitely required in the initialization of the vector of substreams in QuicCryptoStream. Though clang apparently ignores that, GCC fails to build. BUG=chromium:819294 Originally submitted by Jos?? Dapena Paz <jose.dap...@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420 PiperOrigin-RevId: 241800134 Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066 --- 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 index e34514b..74e9d0d 100644 --- 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 @@ -62,7 +62,7 @@ public: explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator); QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete; - QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete; + QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default; ~QuicStreamSendBuffer(); // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer. ++++++ chromium-84-blink-disable-clang-format.patch ++++++ >From 08ac7188f414218ac9d764e29e7aa64a6bfc2f96 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 31 May 2020 10:02:03 +0000 Subject: [PATCH] disable clang-format for generated code in blink For GCC builds clang-format might be not available. Additionally, current scripts look for clang-format within chromium sources and don't consider system clang-format. --- .../bindings/scripts/bind_gen/codegen_utils.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py index 7021f1a..33bf5bf 100644 --- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py @@ -150,12 +150,4 @@ def write_code_node_to_file(code_node, filepath): rendered_text = render_code_node(code_node) - format_result = style_format.auto_format(rendered_text, filename=filepath) - if not format_result.did_succeed: - raise RuntimeError("Style-formatting failed: filename = {filename}\n" - "---- stderr ----\n" - "{stderr}:".format( - filename=format_result.filename, - stderr=format_result.error_message)) - - web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) + web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) -- 2.26.2 ++++++ chromium-86-ConsumeDurationNumber-constexpr.patch ++++++ >From f64e2d2daa64749995253f8ad00679ce74abdc1b Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Wed, 19 Aug 2020 11:02:00 +0200 Subject: [PATCH] GCC: ConsumeDurationNumber cannot be a constexpr Declaring base::ConsumeDurationNumber as constexpr is not valid, as it uses the BasicStringPiece::begin method, that is not constexpr. build error in GCC: ../../base/time/time.cc: In function ???constexpr base::Optional<base::{anonymous}::ParsedDecimal> base::{anonymous}::ConsumeDurationNumber(base::StringPiece&)???: ../../base/time/time.cc:67:63: error: call to non-???constexpr??? function ???const value_type* base::BasicStringPiece<STRING_TYPE>::begin() const [with STRING_TYPE = std::__cxx11::basic_string<char>; base::BasicStringPiece<STRING_TYPE>::const_iterator = const char*; base::BasicStringPiece<STRING_TYPE>::value_type = char]??? 67 | StringPiece::const_iterator orig_start = number_string.begin(); | ~~~~~~~~~~~~~~~~~~~^~ Bug: 859294 Change-Id: Id987d003f66052848d7083bb33abc3acfd109b73 --- diff --git a/base/time/time.cc b/base/time/time.cc index 1b1a830..7c47419 100644 --- a/base/time/time.cc +++ b/base/time/time.cc @@ -61,8 +61,7 @@ // // Adapted from absl: // https://cs.chromium.org/chromium/src/third_party/abseil-cpp/absl/time/duration.cc?l=807&rcl=2c22e9135f107a4319582ae52e2e3e6b201b6b7c -constexpr Optional<ParsedDecimal> ConsumeDurationNumber( - StringPiece& number_string) { +Optional<ParsedDecimal> ConsumeDurationNumber(StringPiece& number_string) { ParsedDecimal res; StringPiece::const_iterator orig_start = number_string.begin(); // Parse contiguous digits. ++++++ chromium-86-ImageMemoryBarrierData-init.patch ++++++ >From 2879a6ba43b65c33e3c02432b4ae7a7462d24096 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Fri, 28 Aug 2020 07:23:29 +0000 Subject: [PATCH] GCC: fix ImageMemoryBarrierData initialization GCC can't convert constant string to char[40]. Use const char * instead. Otherwise fails like this: src/libANGLE/renderer/vulkan/vk_helpers.cpp:121:1: error: could not convert '...' from '<brace-enclosed initializer list>' to 'const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>' --- third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp index af957d7..7fe82ae 100644 --- a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp +++ b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp @@ -73,7 +73,7 @@ enum BarrierType struct ImageMemoryBarrierData { - char name[40]; + const char *name; // The Vk layout corresponding to the ImageLayout key. VkImageLayout layout; -- 2.26.2 ++++++ chromium-86-f_seal.patch ++++++ Index: chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc =================================================================== --- chromium-86.0.4240.75.orig/sandbox/policy/linux/bpf_gpu_policy_linux.cc +++ chromium-86.0.4240.75/sandbox/policy/linux/bpf_gpu_policy_linux.cc @@ -6,6 +6,18 @@ #include <errno.h> #include <fcntl.h> +#ifndef F_SEAL_SEAL +# define F_SEAL_SEAL 0x0001 +#endif +#ifndef F_SEAL_SHRINK +# define F_SEAL_SHRINK 0x0002 +#endif +#ifndef F_SEAL_GROW +# define F_SEAL_GROW 0x0004 +#endif +#ifndef F_ADD_SEALS +# define F_ADD_SEALS 1033 +#endif #include <sys/socket.h> #include <sys/types.h> #include <unistd.h> ++++++ chromium-86-fix-vaapi-on-intel.patch ++++++ diff -up chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc --- chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-10-07 12:38:47.000000000 -0400 +++ chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-14 16:20:46.938556042 -0400 @@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecPro return VA_RT_FORMAT_YUV420; } +#if defined(OS_ANDROID) || defined(OS_CHROMEOS) // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby // Lake) Cpu platform id's are referenced from the following file in kernel // source arch/x86/include/asm/intel-family.h @@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() { cpuid.model() >= kGeminiLakeModelId; return is_geminilake_or_later; } +#endif } // namespace @@ -1214,6 +1216,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) return BufferAllocationMode::kNormal; +#if defined(OS_ANDROID) || defined(OS_CHROMEOS) + // Move this to chromeOs only as it is causing problem in some intel linux drivers // On Gemini Lake, Kaby Lake and later we can pass to libva the client's // PictureBuffers to decode onto, which skips the use of the Vpp unit and its // associated format reconciliation copy, avoiding all internal buffer @@ -1229,6 +1233,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe num_extra_pics_ = 3; return BufferAllocationMode::kNone; } +#endif // For H.264 on older devices, another +1 is experimentally needed for // high-to-high resolution changes. ++++++ chromium-86-nearby-explicit.patch ++++++ >From 849e5c6b3a8746d9205102bd3df4e140cead405a Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 18 Jul 2020 15:11:13 +0000 Subject: [PATCH] GCC: remove explicit from AtomicReference constructor --- .../nearby/src/cpp/platform/public/atomic_reference.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/nearby/src/cpp/platform/public/atomic_reference.h b/third_party/nearby/src/cpp/platform/public/atomic_reference.h index 5742724..bbb8c01 100644 --- a/third_party/nearby/src/cpp/platform/public/atomic_reference.h +++ b/third_party/nearby/src/cpp/platform/public/atomic_reference.h @@ -37,7 +37,7 @@ class AtomicReference<T, std::enable_if_t<sizeof(T) <= sizeof(std::uint32_t) && final { public: using Platform = api::ImplementationPlatform; - explicit AtomicReference(T value) + AtomicReference(T value) : impl_(Platform::CreateAtomicUint32(static_cast<std::uint32_t>(value))) { } ~AtomicReference() = default; -- 2.26.2 ++++++ chromium-86-nearby-include.patch ++++++ >From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 18 Jul 2020 14:15:50 +0000 Subject: [PATCH] IWYU: memcpy is defined in cstring --- third_party/nearby/src/cpp/platform/base/byte_array.h | 1 + 1 file changed, 1 insertion(+) diff --git a/third_party/nearby/src/cpp/platform/base/byte_array.h b/third_party/nearby/src/cpp/platform/base/byte_array.h index ee5d0eb..4b1d79b 100644 --- a/third_party/nearby/src/cpp/platform/base/byte_array.h +++ b/third_party/nearby/src/cpp/platform/base/byte_array.h @@ -18,6 +18,7 @@ #include <algorithm> #include <array> #include <cstdint> +#include <cstring> #include <string> #include <type_traits> #include <utility> -- 2.26.2 ++++++ chromium-87-CursorFactory-include.patch ++++++ >From c4f6e8cd34a245c3640b86a91c9694d69594d80b Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Wed, 16 Sep 2020 15:05:02 +0000 Subject: [PATCH] IWYU: ui::CursorFactory is now required independent from Ozone --- .../ui/views/chrome_browser_main_extra_parts_views_linux.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc index 5a97d61..ccedd2a 100644 --- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc +++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc @@ -7,6 +7,7 @@ #include "chrome/browser/themes/theme_service_aura_linux.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/views/theme_profile_key.h" +#include "ui/base/cursor/cursor_factory.h" #include "ui/display/screen.h" #include "ui/views/linux_ui/linux_ui.h" @@ -15,10 +16,6 @@ #include "ui/gtk/gtk_ui_delegate.h" #endif -#if defined(USE_OZONE) -#include "ui/base/cursor/cursor_factory.h" -#endif - #if defined(USE_X11) #include "ui/gfx/x/connection.h" // nogncheck #if BUILDFLAG(USE_GTK) -- 2.26.2 ++++++ chromium-87-openscreen-include.patch ++++++ >From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Fri, 2 Oct 2020 12:11:58 +0000 Subject: [PATCH] IWYU: uint8_t is defined in stdint.h --- third_party/openscreen/src/util/crypto/random_bytes.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/third_party/openscreen/src/util/crypto/random_bytes.h b/third_party/openscreen/src/util/crypto/random_bytes.h index 3cb2fa8..025b52c 100644 --- a/third_party/openscreen/src/util/crypto/random_bytes.h +++ b/third_party/openscreen/src/util/crypto/random_bytes.h @@ -7,6 +7,8 @@ #include <array> +#include <stdint.h> + namespace openscreen { std::array<uint8_t, 16> GenerateRandomBytes16(); -- 2.26.2 ++++++ chromium-87-webcodecs-deps.patch ++++++ >From 47f6a3bcf7e72c467ca6a2cd633a5c3585a218d5 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Fri, 2 Oct 2020 06:44:53 +0000 Subject: [PATCH] add dependency on openh264:encoder webcodecs uses openh264 encoder, but dependency is missing. With unbundled openh264 library build fails, because include path is incomplete. --- third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn index 99d0e47..7c4d188 100644 --- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn +++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn @@ -54,6 +54,7 @@ blink_modules_sources("webcodecs") { "//media/mojo/clients", "//media/mojo/mojom", "//third_party/libyuv:libyuv", + "//third_party/openh264:encoder", ] public_deps = [ "//third_party/blink/renderer/modules/mediastream:mediastream", -- 2.26.2 ++++++ chromium-88-AXTreeFormatter-include.patch ++++++ >From 6e402d97c2dec5726f37e95f97b7f7e12b1d3b1d Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Wed, 11 Nov 2020 11:02:13 +0100 Subject: [PATCH] IWYU: include headers for std::vector and std::unique_ptr in AXTreeFormatter Fix these build errors with libstdc++: ../../ui/accessibility/platform/inspect/tree_formatter.h:35:12: error: ???std::vector??? has not been declared ../../ui/accessibility/platform/inspect/tree_formatter.h:61:16: error: ???unique_ptr??? in namespace ???std??? does not name a template type Bug: 957519 Change-Id: I402ac0644255b3cd4932ff2fe72d999b125a7895 --- diff --git a/ui/accessibility/platform/inspect/tree_formatter.h b/ui/accessibility/platform/inspect/tree_formatter.h index 4a70a4d..bb23768 100644 --- a/ui/accessibility/platform/inspect/tree_formatter.h +++ b/ui/accessibility/platform/inspect/tree_formatter.h @@ -5,6 +5,9 @@ #ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ #define UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ +#include <memory> +#include <vector> + #include "ui/accessibility/platform/inspect/inspect.h" #include "ui/gfx/native_widget_types.h" ++++++ chromium-88-BookmarkModelObserver-include.patch ++++++ >From 127ec3b1bf26ab37f2ae8333f284008868756274 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 21 Nov 2020 15:59:23 +0000 Subject: [PATCH] IWYU: size_t is defined stddef.h Change-Id: I4400ac7c6004b49ec6e72c44f2754e2166642f88 --- diff --git a/components/bookmarks/browser/bookmark_model_observer.h b/components/bookmarks/browser/bookmark_model_observer.h index 69c40e7..0e5eb96 100644 --- a/components/bookmarks/browser/bookmark_model_observer.h +++ b/components/bookmarks/browser/bookmark_model_observer.h @@ -7,6 +7,8 @@ #include <set> +#include <stddef.h> + class GURL; namespace bookmarks { ++++++ chromium-88-CompositorFrameReporter-dcheck.patch ++++++ >From 56c654a91600e3bf254aa9f66c1151b0850b6ee4 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz <jdap...@igalia.com> Date: Wed, 11 Nov 2020 10:24:47 +0100 Subject: [PATCH] GCC: do not pass unique_ptr to DCHECK_NE, but the actual pointer, in CompositorFrameReporter DCHECK_NE comparison requires CheckOpValueStr to be defined for the type, or providing an output stream operator. A unique_ptr does not provide any. Compilation in GCC is failing in CompositorFrameReporter because of this: ../../cc/metrics/compositor_frame_reporter.cc: In member function ???void cc::CompositorFrameReporter::ReportEventLatencyHistograms() const???: ../../base/check_op.h:224:59: error: no matching function for call to ???CheckOpValueStr(const std::unique_ptr<cc::EventMetrics>&)??? Fixed comparing the result of get() method for unique_ptr instead of the unique_ptr. Bug: 819294 Change-Id: I11103d1867c7196c1de92e72f9f12dcfd31c29f1 (updated to use DCHECK as suggested in comments) --- diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc index 725beb0..fafd0f3 100644 --- a/cc/metrics/compositor_frame_reporter.cc +++ b/cc/metrics/compositor_frame_reporter.cc @@ -686,7 +686,7 @@ void CompositorFrameReporter::ReportEventLatencyHistograms() const { for (const auto& event_metrics : events_metrics_) { - DCHECK_NE(event_metrics, nullptr); + DCHECK(event_metrics); const std::string histogram_base_name = GetEventLatencyHistogramBaseName(*event_metrics); const int event_type_index = static_cast<int>(event_metrics->type()); ++++++ chromium-88-StringPool-include.patch ++++++ >From 372366b4180533f27d3250a50810828370d697b0 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 21 Nov 2020 16:12:18 +0000 Subject: [PATCH] IWYU: include limits for std::numeric_limits Change-Id: Ia5226e1432a622f4f4abc8f1b18bcab8638a73c6 --- diff --git a/src/trace_processor/containers/string_pool.h b/src/trace_processor/containers/string_pool.h index 11ae91c..58c6db2 100644 --- a/third_party/perfetto/src/trace_processor/containers/string_pool.h +++ b/third_party/perfetto/src/trace_processor/containers/string_pool.h @@ -22,6 +22,7 @@ #include <unordered_map> #include <vector> +#include <limits> #include "perfetto/ext/base/optional.h" #include "perfetto/ext/base/paged_memory.h" ++++++ chromium-88-compiler.patch ++++++ >From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001 From: Mike Gilbert <flop...@gentoo.org> Date: Sun, 15 Nov 2020 08:37:23 +0000 Subject: [PATCH] Disable various compiler configs --- build/config/compiler/BUILD.gn | 52 +++++++++++----------------------- 1 file changed, 17 insertions(+), 35 deletions(-) diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn index 9d66490..a2bc09e 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -254,8 +254,6 @@ config("compiler") { configs += [ # See the definitions below. - ":clang_revision", - ":compiler_cpu_abi", ":compiler_codegen", ":compiler_deterministic", ] @@ -478,17 +476,6 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && !use_xcode_clang) { - cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] - - cflags += [ - # TODO(hans): Remove this once Clang generates better optimized debug info - # by default. https://crbug.com/765793 - "-mllvm", - "-instcombine-lower-dbg-declare=0", - ] - } - # C11/C++11 compiler flags setup. # --------------------------- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || @@ -1574,7 +1561,7 @@ config("chromium_code") { defines = [ "_HAS_NODISCARD" ] } } else { - cflags = [ "-Wall" ] + cflags = [] if (treat_warnings_as_errors) { cflags += [ "-Werror" ] @@ -1583,10 +1570,6 @@ config("chromium_code") { # well. ldflags = [ "-Werror" ] } - if (is_clang) { - # Enable extra warnings for chromium_code when we control the compiler. - cflags += [ "-Wextra" ] - } # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. @@ -1595,15 +1578,6 @@ config("chromium_code") { "__STDC_FORMAT_MACROS", ] - if (!is_debug && !using_sanitizer && current_cpu != "s390x" && - current_cpu != "s390" && current_cpu != "ppc64" && - current_cpu != "mips" && current_cpu != "mips64") { - # Non-chromium code is not guaranteed to compile cleanly with - # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are - # disabled, so only do that for Release build. - defines += [ "_FORTIFY_SOURCE=2" ] - } - if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] @@ -2006,7 +1980,8 @@ config("default_stack_frames") { } # Default "optimization on" config. -config("optimize") { +config("optimize") { } +config("xoptimize") { if (is_win) { if (chrome_pgo_phase != 2) { # Favor size over speed, /O1 must be before the common flags. @@ -2041,7 +2016,8 @@ config("optimize") { } # Turn off optimizations. -config("no_optimize") { +config("no_optimize") { } +config("xno_optimize") { if (is_win) { cflags = [ "/Od", # Disable optimization. @@ -2081,7 +2057,8 @@ config("no_optimize") { # Turns up the optimization level. On Windows, this implies whole program # optimization and link-time code generation which is very expensive and should # be used sparingly. -config("optimize_max") { +config("optimize_max") { } +config("xoptimize_max") { if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: @@ -2113,7 +2090,8 @@ config("optimize_max") { # # TODO(crbug.com/621335) - rework how all of these configs are related # so that we don't need this disclaimer. -config("optimize_speed") { +config("optimize_speed") { } +config("xoptimize_speed") { if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: @@ -2138,7 +2116,8 @@ config("optimize_speed") { } } -config("optimize_fuzzing") { +config("optimize_fuzzing") { } +config("xoptimize_fuzzing") { cflags = [ "-O1" ] + common_optimize_on_cflags ldflags = common_optimize_on_ldflags visibility = [ ":default_optimization" ] @@ -2267,7 +2246,8 @@ config("win_pdbaltpath") { } # Full symbols. -config("symbols") { +config("symbols") { } +config("xsymbols") { if (is_win) { if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. @@ -2365,7 +2345,8 @@ config("symbols") { # Minimal symbols. # This config guarantees to hold symbol for stack trace which are shown to user # when crash happens in unittests running on buildbot. -config("minimal_symbols") { +config("minimal_symbols") { } +config("xminimal_symbols") { if (is_win) { # Functions, files, and line tables only. cflags = [] @@ -2418,7 +2399,8 @@ config("minimal_symbols") { # This configuration contains function names only. That is, the compiler is # told to not generate debug information and the linker then just puts function # names in the final debug information. -config("no_symbols") { +config("no_symbols") { } +config("xno_symbols") { if (is_win) { ldflags = [ "/DEBUG" ] -- 2.26.2 ++++++ chromium-88-dawn-static.patch ++++++ >From 75a1f5234e4b544b4d16eddb995d39685da21361 Mon Sep 17 00:00:00 2001 From: Ivan Murashov <ivan.muras...@lge.com> Date: Fri, 20 Nov 2020 09:38:56 +0000 Subject: [PATCH] Remove storage class specifier for the explicit template specialization According to the http://www.eel.is/c++draft/temp.expl.spec: An explicit specialization shall not use a storage-class-specifier other than thread_local. Clang doesn't claims about it, but GCC does. An error example for GCC 8.4.0: gen/third_party/dawn/src/dawn_wire/client/ApiObjects_autogen.h:25:5: error: explicit template specialization cannot have a storage class Bug: dawn:384 Change-Id: Iaf86722a943d19c9796a7f112885666ac88f20ca Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33480 Commit-Queue: Corentin Wallez <cwal...@chromium.org> Reviewed-by: Corentin Wallez <cwal...@chromium.org> --- diff --git a/third_party/dawn/generator/templates/dawn_wire/client/ApiObjects.h b/third_party/dawn/generator/templates/dawn_wire/client/ApiObjects.h index 0d8421b..bbf9817 100644 --- a/third_party/dawn/generator/templates/dawn_wire/client/ApiObjects.h +++ b/third_party/dawn/generator/templates/dawn_wire/client/ApiObjects.h @@ -21,7 +21,9 @@ namespace dawn_wire { namespace client { template <typename T> - static constexpr ObjectType ObjectTypeToTypeEnum = static_cast<ObjectType>(-1); + struct ObjectTypeToTypeEnum { + static constexpr ObjectType value = static_cast<ObjectType>(-1); + }; {% for type in by_category["object"] %} {% set Type = type.name.CamelCase() %} @@ -41,7 +43,9 @@ } template <> - static constexpr ObjectType ObjectTypeToTypeEnum<{{type.name.CamelCase()}}> = ObjectType::{{type.name.CamelCase()}}; + struct ObjectTypeToTypeEnum<{{Type}}> { + static constexpr ObjectType value = ObjectType::{{Type}}; + }; {% endfor %} }} // namespace dawn_wire::client diff --git a/third_party/dawn/src/dawn_wire/client/Device.h b/third_party/dawn/src/dawn_wire/client/Device.h index eef03a5..a0036a4 100644 --- a/third_party/dawn/src/dawn_wire/client/Device.h +++ b/third_party/dawn/src/dawn_wire/client/Device.h @@ -65,7 +65,7 @@ template <typename T> void TrackObject(T* object) { - mObjects[ObjectTypeToTypeEnum<T>].Append(object); + mObjects[ObjectTypeToTypeEnum<T>::value].Append(object); } void CancelCallbacksForDisconnect() override; ++++++ chromium-88-federated_learning-include.patch ++++++ >From bcb20babee602b55fe4bd026e13a41d10b89632f Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sat, 21 Nov 2020 15:55:02 +0000 Subject: [PATCH] IWYU: include limits for std::numeric_limits Change-Id: I1b6b07ebb397a29c84d3ed51ae41523e3ecab497 --- diff --git a/components/federated_learning/floc_constants.cc b/components/federated_learning/floc_constants.cc index df66e5d..2eb50f1 100644 --- a/components/federated_learning/floc_constants.cc +++ b/components/federated_learning/floc_constants.cc @@ -4,6 +4,8 @@ #include "components/federated_learning/floc_constants.h" +#include <limits> + namespace federated_learning { // This is only for experimentation and won't be served to websites. ++++++ chromium-88-ideographicSpaceCharacter.patch ++++++ >From 75ff882bb5f2fcd14431e65fa638ae72bdb47086 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Sun, 15 Nov 2020 14:31:23 +0000 Subject: [PATCH] fix ideographicSpaceCharacter constant for system icu https://chromium-review.googlesource.com/c/chromium/src/+/1687411 renamed ideographicSpaceCharacter to kIdeographicSpaceCharacter. --- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc index fb8ab05..5d4ea13 100644 --- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc @@ -432,7 +432,7 @@ String TextCodecICU::Decode(const char* bytes, // ICU decodes it as U+E5E5. if (!strcmp(encoding_.GetName(), "GBK")) { if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) - resultString.Replace(0xE5E5, ideographicSpaceCharacter); + resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); // Make GBK compliant to the encoding spec and align with GB18030 resultString.Replace(0x01F9, 0xE7C8); // FIXME: Once https://www.w3.org/Bugs/Public/show_bug.cgi?id=28740#c3 -- 2.26.2 ++++++ chromium-88-ityp-include.patch ++++++ >From bc383a5dd7fa8f2b535f28815fd6932fbc0d2a45 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Wed, 28 Oct 2020 16:00:35 +0000 Subject: [PATCH] IWYU: include stddef.h for size_t --- third_party/dawn/src/common/ityp_array.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/third_party/dawn/src/common/ityp_array.h b/third_party/dawn/src/common/ityp_array.h index 48e080f..c784198 100644 --- a/third_party/dawn/src/common/ityp_array.h +++ b/third_party/dawn/src/common/ityp_array.h @@ -21,6 +21,8 @@ #include <array> #include <type_traits> +#include <stddef.h> + namespace ityp { // ityp::array is a helper class that wraps std::array with the restriction that -- 2.26.2 ++++++ chromium-88-ozone-deps.patch ++++++ >From a5a6050ed551972faaaa65ebc2b4e7e1958738a1 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Fri, 6 Nov 2020 16:17:30 +0000 Subject: [PATCH] fix building without Ozone When building with use_x11=true and use_ozone=false build fails, because features::IsUsingOzonePlatform() is not defined: ../../content/browser/gpu/gpu_internals_ui.cc: In function 'std::unique_ptr<base::ListValue> content::{anonymous}::GpuMemoryBufferInfo(const gfx::GpuExtraInfo&)' ../../content/browser/gpu/gpu_internals_ui.cc:397:18: error: 'IsUsingOzonePlatform' is not a member of 'features' 397 | if (!features::IsUsingOzonePlatform()) { | ^~~~~~~~~~~~~~~~~~~~ --- content/browser/gpu/gpu_internals_ui.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc index 4f07186..01dfcbf 100644 --- a/content/browser/gpu/gpu_internals_ui.cc +++ b/content/browser/gpu/gpu_internals_ui.cc @@ -394,7 +394,12 @@ std::unique_ptr<base::ListValue> GpuMemoryBufferInfo( gpu::GpuMemoryBufferConfigurationSet native_config; #if defined(USE_X11) - if (!features::IsUsingOzonePlatform()) { +#if defined(USE_OZONE) + const auto is_using_ozone_platform = features::IsUsingOzonePlatform(); +#else + const auto is_using_ozone_platform = false; +#endif + if (!is_using_ozone_platform) { for (const auto& config : gpu_extra_info.gpu_memory_buffer_support_x11) { native_config.emplace(config); } -- 2.26.2 ++++++ chromium-88-vaapi-attribute.patch ++++++ >From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001 From: Stephan Hartmann <sth...@googlemail.com> Date: Fri, 6 Nov 2020 11:18:42 +0000 Subject: [PATCH] GCC: fix attribute on function definition GCC does not accept attributes at the end for function definitions. Solution is to move it before function name. Otherwise GCC fails like this: ../../base/compiler_specific.h:97:28: error: attributes are not allowed on a function-definition 97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) | ^~~~~~~~~~~~~ ../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in expansion of macro 'WARN_UNUSED_RESULT' 322 | const T* data) WARN_UNUSED_RESULT { | ^~~~~~~~~~~~~~~~~~ --- media/gpu/vaapi/vaapi_wrapper.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h index fd1fd82..deeda1f 100644 --- a/media/gpu/vaapi/vaapi_wrapper.h +++ b/media/gpu/vaapi/vaapi_wrapper.h @@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper // Convenient templatized version of SubmitBuffer() where |size| is deduced to // be the size of the type of |*data|. template <typename T> - bool SubmitBuffer(VABufferType va_buffer_type, - const T* data) WARN_UNUSED_RESULT { + bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type, + const T* data) { return SubmitBuffer(va_buffer_type, sizeof(T), data); } // Batch-version of SubmitBuffer(), where the lock for accessing libva is -- 2.26.2 ++++++ chromium-browser.desktop ++++++ [Desktop Entry] Version=1.0 Name=Chromium Comment=Browse the World Wide Web GenericName=Web Browser Exec=chromium %u Terminal=false X-MultipleArgs=false Type=Application Icon=chromium-browser Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https; StartupWMClass=Chromium ++++++ chromium-browser.sh ++++++ #!/bin/sh # Chromium launcher # Authors: # Fabien Tassin <f...@sofaraway.org> # License: GPLv2 or later APPNAME=chromium LIBDIR=/usr/lib/chromium GDB=/usr/bin/gdb usage () { echo "$APPNAME [-h|--help] [-g|--debug] [options] [URL]" echo echo " -g or --debug Start within $GDB" echo " -h or --help This help screen" } # FFmpeg needs to know where its libs are located if [ "Z$LD_LIBRARY_PATH" != Z ] ; then LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH else LD_LIBRARY_PATH=$LIBDIR fi export LD_LIBRARY_PATH # in case chromium runs in a Wayland session ensure GTK falls back to X11 # if we are in a X-session, there is no difference export GDK_BACKEND=x11 # xdg-settings should in PATH PATH=$PATH:$LIBDIR export PATH want_debug=0 while [ $# -gt 0 ]; do case "$1" in -h | --help | -help ) usage exit 0 ;; -g | --debug ) want_debug=1 shift ;; -- ) # Stop option prcessing shift break ;; * ) break ;; esac done # Setup the default profile if this is none # Set the default theme as GTK+ with system window decoration if [ ! -d ~/.config/chromium/Default ]; then mkdir -p ~/.config/chromium/Default cp /etc/chromium/master_preferences ~/.config/chromium/Default/Preferences fi # Allow users to override command-line options # Based on Gentoo's chromium package (and by extension, Debian's) if [ -f /etc/default/chromium ]; then . /etc/default/chromium fi # Detect if PepperFlash has been installed (based on the package in packman) # If so, automatically enable it if [ -f /usr/lib/chromium/PepperFlash/libpepflashplayer.so ]; then PEPPER_FLASH_VERSION=$(grep '"version":' /usr/lib/chromium/PepperFlash/manifest.json| grep -Po '(?<=version": ")(?:\d|\.)*') PEPPERFLASH="--ppapi-flash-path=/usr/lib/chromium/PepperFlash/libpepflashplayer.so --ppapi-flash-version=$PEPPER_FLASH_VERSION" fi # Prefer user defined CHROMIUM_USER_FLAGS (from env) over system # default CHROMIUM_FLAGS (from /etc/chromium/default) CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS} if [ $want_debug -eq 1 ] ; then if [ ! -x $GDB ] ; then echo "Sorry, can't find usable $GDB. Please install it." exit 1 fi tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; } trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15 echo "set args ${1+"$@"}" > $tmpfile echo "# Env:" echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH" echo "$GDB $LIBDIR/$APPNAME -x $tmpfile" $GDB "$LIBDIR/$APPNAME" -x $tmpfile exit $? else exec $LIBDIR/$APPNAME ${PEPPERFLASH} "--password-store=detect" "--enable-threaded-compositing" "--ui-disable-partial-swap" ${CHROMIUM_FLAGS} "$@" fi ++++++ chromium-browser.xml ++++++ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd"> <default-apps> <web-browsers> <web-browser> <name>Chromium</name> <executable>chromium</executable> <command>chromium %s</command> <icon-name>chromium-browser</icon-name> <run-in-terminal>false</run-in-terminal> <netscape-remote>true</netscape-remote> <tab-command>false</tab-command> <win-command>false</win-command> </web-browser> </web-browsers> </default-apps> ++++++ chromium-buildname.patch ++++++ Index: chromium-73.0.3683.27/components/version_ui_strings.grdp =================================================================== --- chromium-73.0.3683.27.orig/components/version_ui_strings.grdp +++ chromium-73.0.3683.27/components/version_ui_strings.grdp @@ -7,7 +7,7 @@ Official Build </message> <message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on the about:version page"> - Developer Build + openSUSE Build </message> <message name="IDS_VERSION_UI_32BIT" desc="32-bit on the chrome://version page"> (32-bit) ++++++ chromium-disable-parallel-gold.patch ++++++ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn index 01d97a360..a9a721403 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -415,8 +415,6 @@ config("compiler") { # https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/281527606915bb36 # Only apply this to the target linker, since the host # linker might not be gold, but isn't used much anyway. - "-Wl,--threads", - "-Wl,--thread-count=4", ] } ++++++ chromium-fix-char_traits.patch ++++++ --- a/base/strings/char_traits.h +++ b/base/strings/char_traits.h @@ -67,9 +67,9 @@ return __builtin_memcmp(s1, s2, n); #else for (; n; --n, ++s1, ++s2) { - if (*s1 < *s2) + if ((unsigned char)*s1 < (unsigned char)*s2) return -1; - if (*s1 > *s2) + if ((unsigned char)*s1 > (unsigned char)*s2) return 1; } return 0; ++++++ chromium-gcc11.patch ++++++ diff --git a/third_party/angle/src/libANGLE/HandleAllocator.cpp b/third_party/angle/src/libANGLE/HandleAllocator.cpp index 013f1dfb2..3ce63c192 100644 --- a/third_party/angle/src/libANGLE/HandleAllocator.cpp +++ b/third_party/angle/src/libANGLE/HandleAllocator.cpp @@ -9,6 +9,7 @@ #include "libANGLE/HandleAllocator.h" +#include <limits> #include <algorithm> #include <functional> diff --git a/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/third_party/perfetto/src/trace_processor/containers/string_pool.cc index fd651958f..1e8d0606c 100644 --- a/third_party/perfetto/src/trace_processor/containers/string_pool.cc +++ b/third_party/perfetto/src/trace_processor/containers/string_pool.cc @@ -14,9 +14,9 @@ * limitations under the License. */ +#include <limits> #include "src/trace_processor/containers/string_pool.h" -#include <limits> #include "perfetto/base/logging.h" #include "perfetto/ext/base/utils.h" diff --git a/third_party/perfetto/src/trace_processor/db/column.cc b/third_party/perfetto/src/trace_processor/db/column.cc index 00496b335..0dccfeb8a 100644 --- a/third_party/perfetto/src/trace_processor/db/column.cc +++ b/third_party/perfetto/src/trace_processor/db/column.cc @@ -14,6 +14,7 @@ * limitations under the License. */ +#include <limits> #include "src/trace_processor/db/column.h" #include "src/trace_processor/db/compare.h" diff --git a/third_party/perfetto/src/trace_processor/types/variadic.cc b/third_party/perfetto/src/trace_processor/types/variadic.cc index 837bfeba9..cdd56817d 100644 --- a/third_party/perfetto/src/trace_processor/types/variadic.cc +++ b/third_party/perfetto/src/trace_processor/types/variadic.cc @@ -14,6 +14,7 @@ * limitations under the License. */ +#include <limits> #include "src/trace_processor/types/variadic.h" namespace perfetto { diff --git a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc index be91def6b..73f202356 100644 --- a/ui/accessibility/platform/ax_platform_atk_hyperlink.cc +++ b/ui/accessibility/platform/ax_platform_atk_hyperlink.cc @@ -245,7 +245,7 @@ static void AXPlatformAtkHyperlinkInit(AXPlatformAtkHyperlink* self, gpointer) { } GType ax_platform_atk_hyperlink_get_type() { - static volatile gsize type_volatile = 0; + static gsize type_volatile = 0; AXPlatformNodeAuraLinux::EnsureGTypeInit(); diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc index 04125c6fd..6c64e5d8e 100644 --- a/ui/accessibility/platform/ax_platform_node_auralinux.cc +++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc @@ -2274,7 +2274,7 @@ void ClassInit(gpointer class_pointer, gpointer /* class_data */) { GType GetType() { AXPlatformNodeAuraLinux::EnsureGTypeInit(); - static volatile gsize type_volatile = 0; + static gsize type_volatile = 0; if (g_once_init_enter(&type_volatile)) { static const GTypeInfo type_info = { sizeof(AXPlatformNodeAuraLinuxClass), // class_size diff --git a/ui/gtk/gtk_key_bindings_handler.cc b/ui/gtk/gtk_key_bindings_handler.cc index c663a2074..38a342484 100644 --- a/ui/gtk/gtk_key_bindings_handler.cc +++ b/ui/gtk/gtk_key_bindings_handler.cc @@ -141,7 +141,7 @@ void GtkKeyBindingsHandler::HandlerClassInit(HandlerClass* klass) { } GType GtkKeyBindingsHandler::HandlerGetType() { - static volatile gsize type_id_volatile = 0; + static gsize type_id_volatile = 0; if (g_once_init_enter(&type_id_volatile)) { GType type_id = g_type_register_static_simple( GTK_TYPE_TEXT_VIEW, g_intern_static_string("GtkKeyBindingsHandler"), diff --git a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc index c0b5a805b..e6f921926 100644 --- a/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc +++ b/chrome/browser/ui/bookmarks/bookmark_tab_helper.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <cstddef> #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" #include "base/observer_list.h" diff --git a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc index 4ad2afa1f..5c4596e12 100644 --- a/components/bookmarks/browser/bookmark_expanded_state_tracker.cc +++ b/components/bookmarks/browser/bookmark_expanded_state_tracker.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <cstddef> #include "components/bookmarks/browser/bookmark_expanded_state_tracker.h" #include <stdint.h> diff --git a/components/bookmarks/browser/base_bookmark_model_observer.cc b/components/bookmarks/browser/base_bookmark_model_observer.cc index 657a3c96b..ad641a082 100644 --- a/components/bookmarks/browser/base_bookmark_model_observer.cc +++ b/components/bookmarks/browser/base_bookmark_model_observer.cc @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <cstddef> + #include "components/bookmarks/browser/base_bookmark_model_observer.h" namespace bookmarks { ++++++ chromium-libusb_interrupt_event_handler.patch ++++++ diff -up chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc --- chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500 +++ chromium-48.0.2564.116/services/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500 @@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run() void UsbContext::UsbEventHandler::Stop() { base::subtle::Release_Store(&running_, 0); +#ifdef LIBUSB_API_VERSION >= 0x01000105 + libusb_interrupt_event_handler(context_); +#else libusb_interrupt_handle_event(context_); +#endif } UsbContext::UsbContext(PlatformUsbContext context) : context_(context) { ++++++ chromium-lp151-old-drm.patch ++++++ Index: chromium-85.0.4183.69/ui/gfx/linux/drm_util_linux.cc =================================================================== --- chromium-85.0.4183.69.orig/ui/gfx/linux/drm_util_linux.cc +++ chromium-85.0.4183.69/ui/gfx/linux/drm_util_linux.cc @@ -6,6 +6,27 @@ #include <drm_fourcc.h> +#ifndef DRM_FORMAT_P010 +/* + * 2 plane YCbCr MSB aligned + * index 0 = Y plane, [15:0] Y:x [10:6] little endian + * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian + */ +#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */ +/* + * 2 plane YCbCr MSB aligned + * index 0 = Y plane, [15:0] Y:x [12:4] little endian + * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [12:4:12:4] little endian + */ +#define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cr:Cb plane 12 bits per channel */ +/* + * 2 plane YCbCr MSB aligned + * index 0 = Y plane, [15:0] Y little endian + * index 1 = Cr:Cb plane, [31:0] Cr:Cb [16:16] little endian + */ +#define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */ +#endif + #include "base/notreached.h" namespace ui { ++++++ chromium-lp152-missing-includes.patch ++++++ --- a/components/autofill/core/browser/pattern_provider/pattern_provider.h +++ b/components/autofill/core/browser/pattern_provider/pattern_provider.h @@ -5,6 +5,7 @@ #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_PATTERN_PROVIDER_PATTERN_PROVIDER_H_ #define COMPONENTS_AUTOFILL_CORE_BROWSER_PATTERN_PROVIDER_PATTERN_PROVIDER_H_ +#include <vector> #include <string> #include "base/gtest_prod_util.h" ++++++ chromium-master-prefs-path.patch ++++++ Index: chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc =================================================================== --- chromium-86.0.4240.75.orig/chrome/browser/first_run/first_run_internal_linux.cc +++ chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc @@ -20,8 +20,7 @@ bool IsOrganicFirstRun() { base::FilePath InitialPrefsPath() { // The standard location of the initial prefs is next to the chrome binary. base::FilePath initial_prefs; - if (!base::PathService::Get(base::DIR_EXE, &initial_prefs)) - return base::FilePath(); + initial_prefs = base::FilePath("/etc/chromium"); return initial_prefs.AppendASCII(installer::kDefaultMasterPrefs); } ++++++ chromium-norar.patch ++++++ Index: chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn =================================================================== --- chromium-86.0.4240.75.orig/chrome/common/safe_browsing/BUILD.gn +++ chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn @@ -43,38 +43,6 @@ public_deps = [ "//components/safe_browsing/core:csd_proto" ] } - source_set("rar_analyzer") { - sources = [ - "rar_analyzer.cc", - "rar_analyzer.h", - ] - - deps = [ - ":archive_analyzer_results", - ":download_type_util", - "//base", - "//base:i18n", - "//components/safe_browsing/core:features", - "//components/safe_browsing/core:file_type_policies", - "//third_party/unrar:unrar", - ] - - defines = [ - "_FILE_OFFSET_BITS=64", - "LARGEFILE_SOURCE", - "RAR_SMP", - "SILENT", - - # The following is set to disable certain macro definitions in the unrar - # source code. - "CHROMIUM_UNRAR", - - # Disables exceptions in unrar, replaces them with process termination. - "UNRAR_NO_EXCEPTIONS", - ] - - public_deps = [ "//components/safe_browsing/core:csd_proto" ] - } if (is_mac) { source_set("disk_image_type_sniffer_mac") { @@ -138,7 +105,6 @@ source_set("safe_browsing") { ":archive_analyzer_results", ":binary_feature_extractor", ":download_type_util", - ":rar_analyzer", "//components/safe_browsing/core:features", ] Index: chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS =================================================================== --- chromium-86.0.4240.75.orig/chrome/common/safe_browsing/DEPS +++ chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS @@ -1,6 +1,5 @@ include_rules = [ "+components/safe_browsing", "+third_party/protobuf", - "+third_party/unrar", "+third_party/zlib", ] Index: chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc =================================================================== --- chromium-86.0.4240.75.orig/chrome/services/file_util/safe_archive_analyzer.cc +++ chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc @@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, base::File temporary_file, AnalyzeRarFileCallback callback) { +#if 0 DCHECK(rar_file.IsValid()); safe_browsing::ArchiveAnalyzerResults results; safe_browsing::rar_analyzer::AnalyzeRarFile( std::move(rar_file), std::move(temporary_file), &results); std::move(callback).Run(results); +#else + NOTREACHED(); +#endif } Index: chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn =================================================================== --- chromium-86.0.4240.75.orig/chrome/services/file_util/BUILD.gn +++ chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn @@ -15,7 +15,6 @@ source_set("file_util") { "//base", "//chrome/common/safe_browsing", "//chrome/common/safe_browsing:archive_analyzer_results", - "//chrome/common/safe_browsing:rar_analyzer", "//components/safe_browsing:buildflags", "//mojo/public/cpp/bindings", ] ++++++ chromium-prop-codecs.patch ++++++ Index: chromium-85.0.4183.69/media/BUILD.gn =================================================================== --- chromium-85.0.4183.69.orig/media/BUILD.gn +++ chromium-85.0.4183.69/media/BUILD.gn @@ -44,12 +44,6 @@ buildflag_header("media_buildflags") { ] } -if (proprietary_codecs && media_use_ffmpeg) { - assert( - ffmpeg_branding != "Chromium", - "proprietary codecs and ffmpeg_branding set to Chromium are incompatible") -} - # Common configuration for targets in the media directory; these must not be # exported since things like USE_NEON and USE_CRAS have different meanings # elsewhere in the code base. Index: chromium-85.0.4183.69/third_party/webrtc/webrtc.gni =================================================================== --- chromium-85.0.4183.69.orig/third_party/webrtc/webrtc.gni +++ chromium-85.0.4183.69/third_party/webrtc/webrtc.gni @@ -156,8 +156,7 @@ declare_args() { # # Enabling H264 when building with MSVC is currently not supported, see # bugs.webrtc.org/9213#c13 for more info. - rtc_use_h264 = - proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang) + rtc_use_h264 = false # Enable this flag to make webrtc::Mutex be implemented by absl::Mutex. rtc_use_absl_mutex = false ++++++ chromium-system-libusb.patch ++++++ Index: chromium-70.0.3538.54/build/linux/unbundle/libusb.gn =================================================================== --- /dev/null +++ chromium-70.0.3538.54/build/linux/unbundle/libusb.gn @@ -0,0 +1,24 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/linux/pkg_config.gni") +import("//build/shim_headers.gni") + +pkg_config("system_libusb") { + packages = [ "libusb-1.0" ] +} + +shim_headers("libusb_shim") { + root_path = "src/libusb" + headers = [ + "libusb.h", + ] +} + +source_set("libusb") { + deps = [ + ":libusb_shim", + ] + public_configs = [ ":system_libusb" ] +} Index: chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py =================================================================== --- chromium-70.0.3538.54.orig/build/linux/unbundle/replace_gn_files.py +++ chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py @@ -27,6 +27,7 @@ REPLACEMENTS = { 'libevent': 'base/third_party/libevent/BUILD.gn', 'libjpeg': 'third_party/libjpeg.gni', 'libpng': 'third_party/libpng/BUILD.gn', + 'libusb': 'third_party/libusb/BUILD.gn', 'libvpx': 'third_party/libvpx/BUILD.gn', 'libwebp': 'third_party/libwebp/BUILD.gn', 'libxml': 'third_party/libxml/BUILD.gn', ++++++ chromium-vaapi.patch ++++++ diff -up chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/about_flags.cc --- chromium-88.0.4324.11/chrome/browser/about_flags.cc.accel-mjpeg 2020-11-19 20:51:19.000000000 -0500 +++ chromium-88.0.4324.11/chrome/browser/about_flags.cc 2020-11-30 16:14:32.393366384 -0500 @@ -3309,12 +3309,12 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, #endif // ENABLE_VR -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) {"disable-accelerated-mjpeg-decode", flag_descriptions::kAcceleratedMjpegDecodeName, - flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, + flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, -#endif // OS_CHROMEOS +#endif // OS_CHROMEOS || OS_LINUX {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc --- chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc.accel-mjpeg 2020-11-30 16:14:32.393366384 -0500 +++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.cc 2020-11-30 16:20:50.174195910 -0500 @@ -3572,9 +3572,9 @@ const char kVideoToolboxVp9DecodingDescr #endif -// Chrome OS ------------------------------------------------------------------- +// Chrome OS and Linux --------------------------------------------------------- -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) const char kAcceleratedMjpegDecodeName[] = "Hardware-accelerated mjpeg decode for captured frame"; @@ -3582,6 +3582,12 @@ const char kAcceleratedMjpegDecodeDescri "Enable hardware-accelerated mjpeg decode for captured frame where " "available."; +#endif + +// Chrome OS ------------------------------------------------------------------- + +#if defined(OS_CHROMEOS) + const char kAllowDisableMouseAccelerationName[] = "Allow disabling mouse acceleration"; const char kAllowDisableMouseAccelerationDescription[] = diff -up chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-88.0.4324.11/chrome/browser/flag_descriptions.h --- chromium-88.0.4324.11/chrome/browser/flag_descriptions.h.accel-mjpeg 2020-11-30 16:14:32.394366389 -0500 +++ chromium-88.0.4324.11/chrome/browser/flag_descriptions.h 2020-11-30 16:22:13.831601058 -0500 @@ -2068,13 +2068,19 @@ extern const char kVideoToolboxVp9Decodi #endif // defined(OS_MAC) -// Chrome OS ------------------------------------------------------------------ +// Chrome OS and Linux -------------------------------------------------------- -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) extern const char kAcceleratedMjpegDecodeName[]; extern const char kAcceleratedMjpegDecodeDescription[]; +#endif + +// Chrome OS ------------------------------------------------------------------ + +#if defined(OS_CHROMEOS) + extern const char kAllowDisableMouseAccelerationName[]; extern const char kAllowDisableMouseAccelerationDescription[]; ++++++ chromium.default ++++++ # Default settings for chromium. This file is sourced by /usr/bin/chromium # Options to pass to chromium # Ie. debugging: --enable-logging=stderr --v=2 --debug --single-process CHROMIUM_FLAGS="" ++++++ exclude_ymp.patch ++++++ --- a/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200 +++ b/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200 @@ -79,6 +79,7 @@ "text/x-csv", "text/x-vcf", "text/rtf", + "text/x-suse-ymp", "text/comma-separated-values", "text/csv", "text/tab-separated-values", ++++++ fix_building_widevinecdm_with_chromium.patch ++++++ Index: chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h =================================================================== --- chromium-79.0.3941.4.orig/third_party/widevine/cdm/widevine_cdm_version.h +++ chromium-79.0.3941.4/third_party/widevine/cdm/widevine_cdm_version.h @@ -11,5 +11,6 @@ // If the Widevine CDM is available define the following: // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available // as a string, e.g., "1.0.123.456"). +#define WIDEVINE_CDM_VERSION_STRING "unknown" #endif // WIDEVINE_CDM_VERSION_H_ ++++++ gcc-enable-lto.patch ++++++ Index: chromium-85.0.4183.69/build/config/BUILDCONFIG.gn =================================================================== --- chromium-85.0.4183.69.orig/build/config/BUILDCONFIG.gn +++ chromium-85.0.4183.69/build/config/BUILDCONFIG.gn @@ -130,6 +130,8 @@ declare_args() { # separate flags. is_official_build = false + gcc_lto = false + # Set to true when compiling with the Clang compiler. is_clang = current_os != "linux" || (current_cpu != "s390x" && current_cpu != "s390" && @@ -441,6 +443,12 @@ default_compiler_configs = [ "//build/config/sanitizers:default_sanitizer_flags", ] +if (gcc_lto) { + default_compiler_configs += [ + "//build/config/compiler:gcc_lto", + ] +} + if (is_win) { default_compiler_configs += [ "//build/config/win:default_crt", Index: chromium-85.0.4183.69/build/config/compiler/BUILD.gn =================================================================== --- chromium-85.0.4183.69.orig/build/config/compiler/BUILD.gn +++ chromium-85.0.4183.69/build/config/compiler/BUILD.gn @@ -1947,6 +1947,10 @@ if (is_win) { } } +config("gcc_lto") { + cflags = [ "-flto" ] +} + config("default_stack_frames") { if (is_posix || is_fuchsia) { if (enable_frame_pointers) { Index: chromium-85.0.4183.69/sandbox/linux/BUILD.gn =================================================================== --- chromium-85.0.4183.69.orig/sandbox/linux/BUILD.gn +++ chromium-85.0.4183.69/sandbox/linux/BUILD.gn @@ -250,6 +250,9 @@ component("seccomp_bpf") { "//build:chromeos_buildflags", "//sandbox:sandbox_buildflags", ] + if (gcc_lto) { + configs -= [ "//build/config/compiler:gcc_lto" ] + } if (is_android) { sources += [ ++++++ master_preferences ++++++ { "distribution": { "skip_first_run_ui": true, "alternate_shortcut_text": false, "oem_bubble": true, "chrome_shortcut_icon_index": 0, "create_all_shortcuts": true, "show_welcome_page": true, "make_chrome_default": false, "make_chrome_default_for_user": false, "system_level": false, "verbose_logging": false }, "download": { "extensions_to_open": "ymp" }, "browser": { "show_home_button": true, "check_default_browser": false, "custom_chrome_frame": true }, "bookmark_bar": { "show_on_all_tabs": true }, "first_run_tabs": [ "https://search.opensuse.org/", "https://www.google.com/chrome/" ], "homepage": "https://search.opensuse.org/", "homepage_is_newtabpage": false } ++++++ no-location-leap151.patch ++++++ Index: chromium-86.0.4240.75/base/location.h =================================================================== --- chromium-86.0.4240.75.orig/base/location.h +++ chromium-86.0.4240.75/base/location.h @@ -23,7 +23,7 @@ namespace base { #define SUPPORTS_LOCATION_BUILTINS \ (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ __has_builtin(__builtin_LINE)) -#elif defined(COMPILER_GCC) && __GNUC__ >= 7 +#elif defined(COMPILER_GCC) && __GNUC__ >= 10 // GCC has supported these for a long time, but they point at the function // declaration in the case of default arguments, rather than at the call site. #define SUPPORTS_LOCATION_BUILTINS 1 Index: chromium-86.0.4240.75/base/location.cc =================================================================== --- chromium-86.0.4240.75.orig/base/location.cc +++ chromium-86.0.4240.75/base/location.cc @@ -92,7 +92,7 @@ NOINLINE Location Location::Current(cons #else // static NOINLINE Location Location::Current() { - return Location(nullptr, RETURN_ADDRESS()); + return Location("[unknown file]", RETURN_ADDRESS()); } #endif ++++++ system-libdrm.patch ++++++ Index: chromium-84.0.4147.85/ui/ozone/platform/drm/gpu/hardware_display_controller.cc =================================================================== --- chromium-84.0.4147.85.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc +++ chromium-84.0.4147.85/ui/ozone/platform/drm/gpu/hardware_display_controller.cc @@ -5,6 +5,7 @@ #include "ui/ozone/platform/drm/gpu/hardware_display_controller.h" #include <drm.h> +#include <drm_fourcc.h> #include <string.h> #include <xf86drm.h> #include <memory> @@ -14,7 +15,6 @@ #include "base/logging.h" #include "base/stl_util.h" #include "base/trace_event/trace_event.h" -#include "third_party/libdrm/src/include/drm/drm_fourcc.h" #include "third_party/skia/include/core/SkCanvas.h" #include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/size.h"