Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package chromium.15559 for
openSUSE:Leap:15.2:Update checked in at 2021-01-18 19:51:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/chromium.15559 (Old)
and /work/SRC/openSUSE:Leap:15.2:Update/.chromium.15559.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium.15559"
Mon Jan 18 19:51:42 2021 rev:1 rq:863930 version:87.0.4280.141
Changes:
--------
New Changes file:
--- /dev/null 2021-01-11 18:20:20.070723563 +0100
+++
/work/SRC/openSUSE:Leap:15.2:Update/.chromium.15559.new.28504/chromium.changes
2021-01-18 19:53:26.447049916 +0100
@@ -0,0 +1,6157 @@
+-------------------------------------------------------------------
+Sat Jan 16 11:40:43 UTC 2021 - Callum Farmer <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- Use main URLs instead of redirects in master preferences
+- Remove useless %post and %postun
+
+-------------------------------------------------------------------
+Fri Dec 4 15:24:58 UTC 2020 - Callum Farmer <[email protected]>
+
+- 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 <[email protected]>
+
+- Remove erroneous call to ldconfig which causes Firefox crashes (boo#1179298)
+
+-------------------------------------------------------------------
+Thu Nov 19 21:17:10 UTC 2020 - Callum Farmer <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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.
+
+-------------------------------------------------------------------
+Mon Oct 19 12:27:04 UTC 2020 - Marcus Meissner <[email protected]>
+
+- chromium-86-f_seal.patch: F_SEAL* definitions added for leap 15.1 and 15.2
+- replace one missed g++-9 by g++-10 for leap 15.1/15.2
+
+-------------------------------------------------------------------
+Wed Oct 14 11:37:13 UTC 2020 - Tom???? Chv??tal <[email protected]>
+
+- Remove vdpau->vaapi bridge as it breaks a lot:
+ (fixes welcome by someone else than me)
+ * chromium-vaapi-fix.patch
+
+-------------------------------------------------------------------
+Wed Oct 14 11:36:22 UTC 2020 - Tom???? Chv??tal <[email protected]>
+
+- Fix cookiemonster:
+ * fix-invalid-end-iterator-usage-in-CookieMonster.patch
+
+-------------------------------------------------------------------
+Wed Oct 14 11:06:57 UTC 2020 - Tom???? Chv??tal <[email protected]>
+
+- Update to 86.0.4240.75 bsc#1177408:
+ * CVE-2020-15967: Use after free in payments.
+ * CVE-2020-15968: Use after free in Blink.
+ * CVE-2020-15969: Use after free in WebRTC.
+ * CVE-2020-15970: Use after free in NFC.
+ * CVE-2020-15971: Use after free in printing.
+ * CVE-2020-15972: Use after free in audio.
+ * CVE-2020-15990: Use after free in autofill.
+ * CVE-2020-15991: Use after free in password manager.
+ * CVE-2020-15973: Insufficient policy enforcement in extensions.
+ * CVE-2020-15974: Integer overflow in Blink.
+ * CVE-2020-15975: Integer overflow in SwiftShader.
+ * CVE-2020-15976: Use after free in WebXR.
+ * CVE-2020-6557: Inappropriate implementation in networking.
+ * CVE-2020-15977: Insufficient data validation in dialogs.
+ * CVE-2020-15978: Insufficient data validation in navigation.
+ * CVE-2020-15979: Inappropriate implementation in V8.
+ * CVE-2020-15980: Insufficient policy enforcement in Intents.
+ * CVE-2020-15981: Out of bounds read in audio.
+ * CVE-2020-15982: Side-channel information leakage in cache.
+ * CVE-2020-15983: Insufficient data validation in webUI.
+ * CVE-2020-15984: Insufficient policy enforcement in Omnibox.
+ * CVE-2020-15985: Inappropriate implementation in Blink.
+ * CVE-2020-15986: Integer overflow in media.
+ * CVE-2020-15987: Use after free in WebRTC.
+ * CVE-2020-15992: Insufficient policy enforcement in networking.
+ * CVE-2020-15988: Insufficient policy enforcement in downloads.
+ * CVE-2020-15989: Uninitialized Use in PDFium.
+- Add patches:
+ * chromium-78-protobuf-RepeatedPtrField-export.patch
+ * chromium-79-gcc-protobuf-alignas.patch
+ * chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
+ * chromium-86-ConsumeDurationNumber-constexpr.patch
+ * chromium-86-ImageMemoryBarrierData-init.patch
+ * chromium-86-ServiceWorkerRunningInfo-noexcept.patch
+ * chromium-86-compiler.patch
+ * chromium-86-nearby-explicit.patch
+ * chromium-86-nearby-include.patch
+- Remove patches:
+ * chromium-79-gcc-alignas.patch
+ * chromium-80-gcc-quiche.patch
+ * chromium-82-gcc-constexpr.patch
+ * chromium-83-gcc-10.patch
+ * chromium-84-gcc-include.patch
+ * chromium-84-mediaalloc.patch
++++ 5960 more lines (skipped)
++++ between /dev/null
++++ and
/work/SRC/openSUSE:Leap:15.2:Update/.chromium.15559.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-ServiceWorkerContainerHost-crash.patch
chromium-87-compiler.patch
chromium-87-icu68.patch
chromium-87-openscreen-include.patch
chromium-87-ozone-deps.patch
chromium-87-v8-icu68.patch
chromium-87-webcodecs-deps.patch
chromium-87.0.4280.141.tar.xz
chromium-88-vaapi-attribute.patch
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
gpu-timeout.patch
master_preferences
no-location-leap151.patch
system-libdrm.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromium.spec ++++++
++++ 819 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 <[email protected]>
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 <[email protected]>
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 <[email protected]> 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Sat, 18 Jul 2020 15:11:13 +0000
Subject: [PATCH] GCC: remove explicit from AtomicReference constructor
---
.../nearby/src/cpp/platform_v2/public/atomic_reference.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
index 5742724..bbb8c01 100644
--- a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h
+++ b/third_party/nearby/src/cpp/platform_v2/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 <[email protected]>
Date: Sat, 18 Jul 2020 14:15:50 +0000
Subject: [PATCH] IWYU: memcpy is defined in cstring
---
third_party/nearby/src/cpp/platform_v2/base/byte_array.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
index ee5d0eb..4b1d79b 100644
--- a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
+++ b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h
@@ -17,6 +17,7 @@
#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 <[email protected]>
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-ServiceWorkerContainerHost-crash.patch ++++++
Bug: https://bugs.gentoo.org/750038
Upstream bug: https://crbug.com/1135070
--- a/content/browser/service_worker/service_worker_container_host.cc
+++ b/content/browser/service_worker/service_worker_container_host.cc
@@ -626,6 +626,16 @@
int64_t registration_id) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
DCHECK(base::Contains(registration_object_hosts_, registration_id));
+
+ // ServiceWorkerRegistrationObjectHost to be deleted may have the last
reference to
+ // ServiceWorkerRegistration that indirectly owns this
ServiceWorkerContainerHost.
+ // If we erase the object host directly from the map, |this| could be deleted
+ // during the map operation and may crash. To avoid the case, we take the
+ // ownership of the object host from the map first, and then erase the entry
+ // from the map. See https://crbug.com/1135070 for details.
+ std::unique_ptr<ServiceWorkerRegistrationObjectHost> to_be_deleted =
+ std::move(registration_object_hosts_[registration_id]);
+ DCHECK(to_be_deleted);
registration_object_hosts_.erase(registration_id);
}
++++++ chromium-87-compiler.patch ++++++
>From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <[email protected]>
Date: Thu, 1 Oct 2020 18:14:51 +0000
Subject: [PATCH] Disable various compiler configs
---
build/config/compiler/BUILD.gn | 71 ++++++++--------------------------
1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 4f6461b..b5d2c77 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",
]
@@ -480,36 +478,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",
- ]
-
- # Pinned clang has enable-dse-memoryssa enabled by default but it's broken,
- # so we have to force it off.
- # Trunk clang has it disabled by default but it might work, so we force it
- # on so the ToT bots can check if it works now.
- if (!llvm_force_head_revision) {
- cflags += [
- # TODO(https://crbug.com/1127713): Investigate, remove.
- "-mllvm",
- "-enable-dse-memoryssa=false",
- ]
- }
- if (llvm_force_head_revision) {
- cflags += [
- # TODO(https://crbug.com/1127713): Investigate, remove.
- "-mllvm",
- "-enable-dse-memoryssa=true",
- ]
- }
- }
-
# C11/C++11 compiler flags setup.
# ---------------------------
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
@@ -1571,7 +1539,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
- cflags = [ "-Wall" ]
+ cflags = []
if (treat_warnings_as_errors) {
cflags += [ "-Werror" ]
@@ -1580,10 +1548,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.
@@ -1592,15 +1556,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" ]
@@ -1998,7 +1953,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.
@@ -2033,7 +1989,8 @@ config("optimize") {
}
# Turn off optimizations.
-config("no_optimize") {
+config("no_optimize") { }
+config("xno_optimize") {
if (is_win) {
cflags = [
"/Od", # Disable optimization.
@@ -2073,7 +2030,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:
@@ -2105,7 +2063,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:
@@ -2130,7 +2089,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" ]
@@ -2247,7 +2207,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.
@@ -2355,7 +2316,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 = []
@@ -2408,7 +2370,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-87-icu68.patch ++++++
>From 4d16e52a5e6771c4aa5f892e14486bf0e87027d1 Mon Sep 17 00:00:00 2001
From: Frank Tang <[email protected]>
Date: Tue, 20 Oct 2020 00:11:50 +0000
Subject: [PATCH] Prepare for landing ICU68
In the landing process of ICU68 we found these need to be changed
since ICU68 no longer define TRUE and FALSE for UBool to
avoid C++20 problem.
Bug: 1138555
Change-Id: I64fd98c99864aa86b07280537a780105cb0eabbe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2473522
Reviewed-by: Frank Tang <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Dominic Battr?? <[email protected]>
Reviewed-by: Guillaume Jenkins <[email protected]>
Reviewed-by: Jungshik Shin <[email protected]>
Reviewed-by: Mihai Sardarescu <[email protected]>
Reviewed-by: Dave Tapuska <[email protected]>
Reviewed-by: Mustafa Emre Acer <[email protected]>
Reviewed-by: Marian Fechete <[email protected]>
Reviewed-by: Matthew Denton <[email protected]>
Commit-Queue: Frank Tang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#818713}
---
diff --git a/base/i18n/icu_util.cc b/base/i18n/icu_util.cc
index b225f1d..20debbe 100644
--- a/base/i18n/icu_util.cc
+++ b/base/i18n/icu_util.cc
@@ -327,7 +327,7 @@
// https://ssl.icu-project.org/trac/ticket/13208 .
string16 zone_id = android::GetDefaultTimeZoneId();
icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone(
- icu::UnicodeString(FALSE, zone_id.data(), zone_id.length())));
+ icu::UnicodeString(false, zone_id.data(), zone_id.length())));
#elif defined(OS_FUCHSIA)
// The platform-specific mechanisms used by ICU's detectHostTimeZone() to
// determine the default time zone will not work on Fuchsia. Therefore,
diff --git a/base/i18n/string_compare.cc b/base/i18n/string_compare.cc
index c0e83c6..e4fb687 100644
--- a/base/i18n/string_compare.cc
+++ b/base/i18n/string_compare.cc
@@ -18,8 +18,8 @@
StringPiece16 rhs) {
UErrorCode error = U_ZERO_ERROR;
UCollationResult result = collator.compare(
- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())),
- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())),
+ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())),
+ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())),
error);
DCHECK(U_SUCCESS(error));
return result;
diff --git a/base/i18n/time_formatting.cc b/base/i18n/time_formatting.cc
index c769b57..c085f5e 100644
--- a/base/i18n/time_formatting.cc
+++ b/base/i18n/time_formatting.cc
@@ -240,7 +240,7 @@
icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE);
measure_format.formatMeasures(measures, 3, formatted, ignore, status);
*out = i18n::UnicodeStringToString16(formatted);
- return U_SUCCESS(status) == TRUE;
+ return U_SUCCESS(status);
}
string16 DateIntervalFormat(const Time& begin_time,
diff --git a/components/autofill/core/common/autofill_regexes.cc
b/components/autofill/core/common/autofill_regexes.cc
index 02254fa..1cf12f3 100644
--- a/components/autofill/core/common/autofill_regexes.cc
+++ b/components/autofill/core/common/autofill_regexes.cc
@@ -43,7 +43,7 @@
icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) {
auto it = matchers_.find(pattern);
if (it == matchers_.end()) {
- const icu::UnicodeString icu_pattern(FALSE, pattern.data(),
+ const icu::UnicodeString icu_pattern(false, pattern.data(),
pattern.length());
UErrorCode status = U_ZERO_ERROR;
@@ -71,21 +71,21 @@
base::AutoLock lock(*g_lock);
icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern);
- icu::UnicodeString icu_input(FALSE, input.data(), input.length());
+ icu::UnicodeString icu_input(false, input.data(), input.length());
matcher->reset(icu_input);
UErrorCode status = U_ZERO_ERROR;
UBool matched = matcher->find(0, status);
DCHECK(U_SUCCESS(status));
- if (matched == TRUE && match) {
+ if (matched && match) {
icu::UnicodeString match_unicode =
matcher->group(group_to_be_captured, status);
DCHECK(U_SUCCESS(status));
*match = base::i18n::UnicodeStringToString16(match_unicode);
}
- return matched == TRUE;
+ return matched;
}
} // namespace autofill
diff --git a/components/autofill_assistant/browser/string_conversions_util.cc
b/components/autofill_assistant/browser/string_conversions_util.cc
index 212bafa..1d00d68 100644
--- a/components/autofill_assistant/browser/string_conversions_util.cc
+++ b/components/autofill_assistant/browser/string_conversions_util.cc
@@ -39,13 +39,13 @@
// |target|.
bool AppendUnicodeToUTF8(const UChar32 source, std::string* target) {
char bytes[4];
- UBool error = FALSE;
+ UBool error = false;
size_t offset = 0;
U8_APPEND(bytes, offset, base::size(bytes), source, error);
- if (error == FALSE) {
+ if (error == false) {
target->append(bytes, offset);
}
- return error == FALSE;
+ return !error;
}
} // namespace autofill_assistant
diff --git a/components/signin/public/identity_manager/identity_utils.cc
b/components/signin/public/identity_manager/identity_utils.cc
index 1c414e2..014d674 100644
--- a/components/signin/public/identity_manager/identity_utils.cc
+++ b/components/signin/public/identity_manager/identity_utils.cc
@@ -33,7 +33,7 @@
// See if the username matches the policy-provided pattern.
UErrorCode status = U_ZERO_ERROR;
- const icu::UnicodeString icu_pattern(FALSE, utf16_pattern.data(),
+ const icu::UnicodeString icu_pattern(false, utf16_pattern.data(),
utf16_pattern.length());
icu::RegexMatcher matcher(icu_pattern, UREGEX_CASE_INSENSITIVE, status);
if (!U_SUCCESS(status)) {
diff --git a/components/spellcheck/renderer/spellcheck_worditerator.cc
b/components/spellcheck/renderer/spellcheck_worditerator.cc
index ec16fef..3b1f060 100644
--- a/components/spellcheck/renderer/spellcheck_worditerator.cc
+++ b/components/spellcheck/renderer/spellcheck_worditerator.cc
@@ -442,7 +442,7 @@
// spellchecker and we need manual normalization as well. The normalized
// text does not have to be NUL-terminated since its characters are copied to
// string16, which adds a NUL character when we need.
- icu::UnicodeString input(FALSE, &text_[input_start],
+ icu::UnicodeString input(false, &text_[input_start],
base::checked_cast<int32_t>(input_length));
UErrorCode status = U_ZERO_ERROR;
icu::UnicodeString output;
diff --git a/components/url_formatter/spoof_checks/idn_spoof_checker.cc
b/components/url_formatter/spoof_checks/idn_spoof_checker.cc
index 6d66a7c..d73192b1 100644
--- a/components/url_formatter/spoof_checks/idn_spoof_checker.cc
+++ b/components/url_formatter/spoof_checks/idn_spoof_checker.cc
@@ -368,7 +368,7 @@
return Result::kICUSpoofChecks;
}
- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(),
+ icu::UnicodeString label_string(false /* isTerminated */, label.data(),
base::checked_cast<int32_t>(label.size()));
// A punycode label with 'xn--' prefix is not subject to the URL
@@ -711,7 +711,7 @@
base::StringPiece tld,
base::StringPiece16 tld_unicode) {
icu::UnicodeString tld_string(
- FALSE /* isTerminated */, tld_unicode.data(),
+ false /* isTerminated */, tld_unicode.data(),
base::checked_cast<int32_t>(tld_unicode.size()));
// Allow if the TLD contains any letter from the script, in which case it's
// likely to be a TLD in that script.
diff --git a/components/url_formatter/spoof_checks/skeleton_generator.cc
b/components/url_formatter/spoof_checks/skeleton_generator.cc
index 9628626..9a77901 100644
--- a/components/url_formatter/spoof_checks/skeleton_generator.cc
+++ b/components/url_formatter/spoof_checks/skeleton_generator.cc
@@ -116,7 +116,7 @@
Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) {
Skeletons skeletons;
size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 :
0);
- icu::UnicodeString host(FALSE, hostname.data(), hostname_length);
+ icu::UnicodeString host(false, hostname.data(), hostname_length);
// If input has any characters outside Latin-Greek-Cyrillic and [0-9._-],
// there is no point in getting rid of diacritics because combining marks
// attached to non-LGC characters are already blocked.
diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc
index 95d5a82..b6d8e5a 100644
--- a/content/zygote/zygote_linux.cc
+++ b/content/zygote/zygote_linux.cc
@@ -557,7 +557,7 @@
if (!iter.ReadString16(&timezone_id))
return -1;
icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone(
- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length())));
+ icu::UnicodeString(false, timezone_id.data(), timezone_id.length())));
if (!iter.ReadInt(&numfds))
return -1;
diff --git a/services/device/time_zone_monitor/time_zone_monitor_android.cc
b/services/device/time_zone_monitor/time_zone_monitor_android.cc
index 818670a..f57f972 100644
--- a/services/device/time_zone_monitor/time_zone_monitor_android.cc
+++ b/services/device/time_zone_monitor/time_zone_monitor_android.cc
@@ -34,7 +34,7 @@
// See base/i18n/icu_util.cc:InitializeIcuTimeZone() for more information.
base::string16 zone_id = base::android::GetDefaultTimeZoneId();
std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createTimeZone(
- icu::UnicodeString(FALSE, zone_id.data(), zone_id.length())));
+ icu::UnicodeString(false, zone_id.data(), zone_id.length())));
UpdateIcuAndNotifyClients(std::move(new_zone));
}
diff --git a/third_party/blink/renderer/core/exported/web_view_test.cc
b/third_party/blink/renderer/core/exported/web_view_test.cc
index a6b9552..36809d91 100644
--- a/third_party/blink/renderer/core/exported/web_view_test.cc
+++ b/third_party/blink/renderer/core/exported/web_view_test.cc
@@ -4868,18 +4868,18 @@
TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithMutateDom) {
// Test dom mutation.
- TestEachMouseEvent("mutateDom", FALSE);
+ TestEachMouseEvent("mutateDom", false);
// Test without any DOM mutation.
- TestEachMouseEvent("none", TRUE);
+ TestEachMouseEvent("none", true);
}
TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithMutateStyle) {
// Test style mutation.
- TestEachMouseEvent("mutateStyle", FALSE);
+ TestEachMouseEvent("mutateStyle", false);
// Test checkbox:indeterminate style mutation.
- TestEachMouseEvent("mutateIndeterminate", FALSE);
+ TestEachMouseEvent("mutateIndeterminate", false);
// Test click div with :active style.
Tap("style_active");
@@ -4888,10 +4888,10 @@
TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithPreventDefault) {
// Test swallowing.
- TestEachMouseEvent("preventDefault", FALSE);
+ TestEachMouseEvent("preventDefault", false);
// Test without any preventDefault.
- TestEachMouseEvent("none", TRUE);
+ TestEachMouseEvent("none", true);
}
TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithNonTriggeringNodes)
{
diff --git a/third_party/blink/renderer/platform/text/locale_icu.cc
b/third_party/blink/renderer/platform/text/locale_icu.cc
index 92fb99e0..f991b51 100644
--- a/third_party/blink/renderer/platform/text/locale_icu.cc
+++ b/third_party/blink/renderer/platform/text/locale_icu.cc
@@ -169,12 +169,12 @@
return g_empty_string;
UErrorCode status = U_ZERO_ERROR;
- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status);
+ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status);
if (status != U_BUFFER_OVERFLOW_ERROR || !length)
return g_empty_string;
StringBuffer<UChar> buffer(length);
status = U_ZERO_ERROR;
- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status);
+ udat_toPattern(date_format, true, buffer.Characters(), length, &status);
if (U_FAILURE(status))
return g_empty_string;
return String::Adopt(buffer);
diff --git
a/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
b/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
index 5bea007..0e8c60a 100644
--- a/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
+++ b/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc
@@ -312,13 +312,13 @@
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
? static_cast<int32_t>(offset)
: 0;
- is_accessible = TRUE;
+ is_accessible = true;
return true;
}
if (native_index >= native_length &&
text->chunkNativeLimit == native_length) {
text->chunkOffset = text->chunkLength;
- is_accessible = FALSE;
+ is_accessible = false;
return true;
}
} else {
@@ -331,12 +331,12 @@
text->chunkOffset = offset <= std::numeric_limits<int32_t>::max()
? static_cast<int32_t>(offset)
: 0;
- is_accessible = TRUE;
+ is_accessible = true;
return true;
}
if (native_index <= 0 && !text->chunkNativeStart) {
text->chunkOffset = 0;
- is_accessible = FALSE;
+ is_accessible = false;
return true;
}
}
@@ -347,7 +347,7 @@
int64_t native_index,
UBool forward) {
if (!text->context)
- return FALSE;
+ return false;
int64_t native_length = TextNativeLength(text);
UBool is_accessible;
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
@@ -371,7 +371,7 @@
DCHECK_EQ(new_context, kPriorContext);
TextLatin1SwitchToPriorContext(text, native_index, native_length, forward);
}
- return TRUE;
+ return true;
}
static const struct UTextFuncs kTextLatin1Funcs = {
@@ -511,7 +511,7 @@
static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward)
{
if (!text->context)
- return FALSE;
+ return false;
int64_t native_length = TextNativeLength(text);
UBool is_accessible;
if (TextInChunkOrOutOfRange(text, native_index, native_length, forward,
@@ -533,7 +533,7 @@
DCHECK_EQ(new_context, kPriorContext);
TextUTF16SwitchToPriorContext(text, native_index, native_length, forward);
}
- return TRUE;
+ return true;
}
static const struct UTextFuncs kTextUTF16Funcs = {
diff --git a/third_party/blink/renderer/platform/text/unicode_utilities.cc
b/third_party/blink/renderer/platform/text/unicode_utilities.cc
index 2cefd53..b8c4515 100644
--- a/third_party/blink/renderer/platform/text/unicode_utilities.cc
+++ b/third_party/blink/renderer/platform/text/unicode_utilities.cc
@@ -300,7 +300,7 @@
DCHECK(U_SUCCESS(status));
int32_t input_length = static_cast<int32_t>(length);
// copy-on-write.
- icu::UnicodeString normalized(FALSE, characters, input_length);
+ icu::UnicodeString normalized(false, characters, input_length);
// In the vast majority of cases, input is already NFC. Run a quick check
// to avoid normalizing the entire input unnecessarily.
int32_t normalized_prefix_length =
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 b625735..fb8ab05 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
@@ -327,7 +327,7 @@
DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING)
<< "ICU ambiguous alias warning for encoding: " << encoding_.GetName();
if (converter_icu_)
- ucnv_setFallback(converter_icu_, TRUE);
+ ucnv_setFallback(converter_icu_, true);
}
int TextCodecICU::DecodeToBuffer(UChar* target,
diff --git a/ui/base/l10n/formatter.cc b/ui/base/l10n/formatter.cc
index e4446d4..684ead8 100644
--- a/ui/base/l10n/formatter.cc
+++ b/ui/base/l10n/formatter.cc
@@ -234,7 +234,7 @@
int value,
icu::UnicodeString* formatted_string) const {
DCHECK(simple_format_[unit]);
- DCHECK(formatted_string->isEmpty() == TRUE);
+ DCHECK(formatted_string->isEmpty());
UErrorCode error = U_ZERO_ERROR;
FormatNumberInPlural(*simple_format_[unit],
value, formatted_string, &error);
@@ -250,7 +250,7 @@
<< "Detailed() not implemented for your (format, length) combination!";
DCHECK(detailed_format_[units][1])
<< "Detailed() not implemented for your (format, length) combination!";
- DCHECK(formatted_string->isEmpty() == TRUE);
+ DCHECK(formatted_string->isEmpty());
UErrorCode error = U_ZERO_ERROR;
FormatNumberInPlural(*detailed_format_[units][0], value_1,
formatted_string, &error);
@@ -283,7 +283,7 @@
base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id);
UErrorCode error = U_ZERO_ERROR;
std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat(
- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error));
+ icu::UnicodeString(false, pattern.data(), pattern.length()), error));
DCHECK(U_SUCCESS(error));
if (format.get())
return format;
++++++ chromium-87-openscreen-include.patch ++++++
>From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
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-ozone-deps.patch ++++++
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 3f89c70..0df6490 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -5056,7 +5056,9 @@ static_library("browser") {
"chrome_browser_main_extra_parts_ozone.cc",
"chrome_browser_main_extra_parts_ozone.h",
]
- deps += [ "//ui/ozone" ]
+ if (use_ozone) {
+ deps += [ "//ui/ozone" ]
+ }
}
if (enable_background_mode) {
++++++ chromium-87-v8-icu68.patch ++++++
>From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001
From: Frank Tang <[email protected]>
Date: Tue, 03 Nov 2020 23:20:37 -0800
Subject: [PATCH] Update to ICU68-1
ICU68-1 change the output skeleton format. So we need to change
resolvedOptions code for 68 migration.
Chromium roll
https://chromium-review.googlesource.com/c/chromium/src/+/2474093
Bug: v8:10945
Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431
Commit-Queue: Frank Tang <[email protected]>
Reviewed-by: Jakob Kummerow <[email protected]>
Reviewed-by: Shu-yu Guo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#70972}
(ported to work with <ICU-68.1 and rebased chromium)
---
diff --git a/v8/src/objects/js-number-format.cc
b/v8/src/objects/js-number-format.cc
index 45b0eab..d18b133 100644
--- a/v8/src/objects/js-number-format.cc
+++ b/v8/src/objects/js-number-format.cc
@@ -389,17 +389,20 @@ Handle<String> CurrencySignString(Isolate* isolate,
Handle<String> UnitDisplayString(Isolate* isolate,
const icu::UnicodeString& skeleton) {
// Ex: skeleton as
- // "measure-unit/length-meter .### rounding-mode-half-up
unit-width-full-name"
+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up
unit-width-full-name".
+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up
unit-width-full-name"
if (skeleton.indexOf("unit-width-full-name") >= 0) {
return ReadOnlyRoots(isolate).long_string_handle();
}
// Ex: skeleton as
- // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow".
+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up
unit-width-narrow".
+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up
unit-width-narrow".
if (skeleton.indexOf("unit-width-narrow") >= 0) {
return ReadOnlyRoots(isolate).narrow_string_handle();
}
// Ex: skeleton as
- // "measure-unit/length-foot .### rounding-mode-half-up"
+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up"
+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
return ReadOnlyRoots(isolate).short_string_handle();
}
@@ -422,7 +425,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString&
skeleton) {
return Notation::COMPACT;
}
// Ex: skeleton as
- // "measure-unit/length-foot .### rounding-mode-half-up"
+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up"
+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up"
return Notation::STANDARD;
}
@@ -562,14 +566,23 @@ namespace {
// Ex: percent .### rounding-mode-half-up
// Special case for "percent"
-// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
-// rounding-mode-half-up" should return "kilometer-per-unit".
-// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
-// "year".
+// <ICU-68.1:
+// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .###
+// rounding-mode-half-up" should return "kilometer-per-unit".
+// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return
+// >=ICU-68.1:
+// Ex: "unit/milliliter-per-acre .### rounding-mode-half-up"
+// should return "milliliter-per-acre".
+// Ex: "unit/year .### rounding-mode-half-up" should return
+// "year".
std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) {
std::string str;
str = skeleton.toUTF8String<std::string>(str);
+#if U_ICU_VERSION_MAJOR_NUM < 68
std::string search("measure-unit/");
+#else
+ std::string search("unit/");
+#endif
size_t begin = str.find(search);
if (begin == str.npos) {
// Special case for "percent".
@@ -578,20 +591,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString&
skeleton) {
}
return "";
}
+#if U_ICU_VERSION_MAJOR_NUM < 68
// Skip the type (ex: "length").
// "measure-unit/length-kilometer per-measure-unit/duration-hour"
// b
begin = str.find("-", begin + search.size());
+#else
+ // Ex:
+ // "unit/acre .### rounding-mode-half-up"
+ // b
+ // Ex:
+ // "unit/milliliter-per-acre .### rounding-mode-half-up"
+ // b
+ begin += search.size();
+#endif
if (begin == str.npos) {
return "";
}
+#if U_ICU_VERSION_MAJOR_NUM < 68
begin++; // Skip the '-'.
+#endif
// Find the end of the subtype.
size_t end = str.find(" ", begin);
- // "measure-unit/length-kilometer per-measure-unit/duration-hour"
- // b e
+ // <ICU-68.1:
+ // "measure-unit/length-kilometer per-measure-unit/duration-hour"
+ // b e
+ // >=ICU-68.1:
+ // Ex:
+ // "unit/acre .### rounding-mode-half-up"
+ // b e
+ // Ex:
+ // "unit/milliliter-per-acre .### rounding-mode-half-up"
+ // b e
if (end == str.npos) {
end = str.size();
+#if U_ICU_VERSION_MAJOR_NUM < 68
return str.substr(begin, end - begin);
}
// "measure-unit/length-kilometer per-measure-unit/duration-hour"
@@ -625,17 +659,36 @@ std::string UnitFromSkeleton(const icu::UnicodeString&
skeleton) {
// "measure-unit/length-kilometer per-measure-unit/duration-hour"
// [result ] b e
return result + "-per-" + str.substr(begin, end - begin);
+#else
+ }
+ return str.substr(begin, end - begin);
+#endif
}
Style StyleFromSkeleton(const icu::UnicodeString& skeleton) {
if (skeleton.indexOf("currency/") >= 0) {
return Style::CURRENCY;
}
+#if U_ICU_VERSION_MAJOR_NUM < 68
if (skeleton.indexOf("measure-unit/") >= 0) {
if (skeleton.indexOf("scale/100") >= 0 &&
skeleton.indexOf("measure-unit/concentr-percent") >= 0) {
+#else
+ if (skeleton.indexOf("percent") >= 0) {
+ // percent precision-integer rounding-mode-half-up scale/100
+ if (skeleton.indexOf("scale/100") >= 0) {
+#endif
return Style::PERCENT;
+#if U_ICU_VERSION_MAJOR_NUM >= 68
+ } else {
+ return Style::UNIT;
+#endif
}
+#if U_ICU_VERSION_MAJOR_NUM >= 68
+ }
+ // Before ICU68: "measure-unit/", since ICU68 "unit/"
+ if (skeleton.indexOf("unit/") >= 0) {
+#endif
return Style::UNIT;
}
return Style::DECIMAL;
diff --git a/v8/src/objects/js-relative-time-format.cc
b/v8/src/objects/js-relative-time-format.cc
index 267343aaae..64d56a1c12 100644
--- a/v8/src/objects/js-relative-time-format.cc
+++ b/v8/src/objects/js-relative-time-format.cc
@@ -195,9 +195,18 @@ MaybeHandle<JSRelativeTimeFormat>
JSRelativeTimeFormat::New(
}
}
+#if U_ICU_VERSION_MAJOR_NUM < 68
icu::DecimalFormat* decimal_format =
static_cast<icu::DecimalFormat*>(number_format);
decimal_format->setMinimumGroupingDigits(-2);
+#else
+ if (number_format->getDynamicClassID() ==
+ icu::DecimalFormat::getStaticClassID()) {
+ icu::DecimalFormat* decimal_format =
+ static_cast<icu::DecimalFormat*>(number_format);
+ decimal_format->setMinimumGroupingDigits(-2);
+ }
+#endif
// Change UDISPCTX_CAPITALIZATION_NONE to other values if
// ECMA402 later include option to change capitalization.
++++++ chromium-87-webcodecs-deps.patch ++++++
>From 47f6a3bcf7e72c467ca6a2cd633a5c3585a218d5 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
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-vaapi-attribute.patch ++++++
>From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
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 <[email protected]>
# 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/abseil-cpp/absl/synchronization/internal/graphcycles.cc
b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
index 19f9aab5b..8073637e9 100644
--- a/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
+++ b/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc
@@ -35,6 +35,7 @@
#include "absl/synchronization/internal/graphcycles.h"
+#include <limits>
#include <algorithm>
#include <array>
#include "absl/base/internal/hide_ptr.h"
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 {
diff -up chromium-87.0.4280.88/net/dns/dns_server_iterator.h.missing-cstddef
chromium-87.0.4280.88/net/dns/dns_server_iterator.h
--- chromium-87.0.4280.88/net/dns/dns_server_iterator.h.missing-cstddef
2020-12-15 15:35:38.935281593 -0500
+++ chromium-87.0.4280.88/net/dns/dns_server_iterator.h 2020-12-15
15:35:59.408368520 -0500
@@ -5,6 +5,7 @@
#ifndef NET_DNS_DNS_SERVER_ITERATOR_H_
#define NET_DNS_DNS_SERVER_ITERATOR_H_
+#include <cstddef>
#include <vector>
#include "net/base/net_export.h"
diff -up
chromium-87.0.4280.88/components/federated_learning/floc_constants.cc.missing-limits
chromium-87.0.4280.88/components/federated_learning/floc_constants.cc
---
chromium-87.0.4280.88/components/federated_learning/floc_constants.cc.missing-limits
2020-12-16 13:51:38.675421401 -0500
+++ chromium-87.0.4280.88/components/federated_learning/floc_constants.cc
2020-12-16 13:51:50.625467423 -0500
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "components/federated_learning/floc_constants.h"
+#include <limits>
namespace federated_learning {
++++++ 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/macros.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,39 +43,6 @@ if (safe_browsing_mode == 1) {
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" ]
- }
-
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
@@ -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 ++++++
Index: chromium-86.0.4240.75/chrome/browser/about_flags.cc
===================================================================
--- chromium-86.0.4240.75.orig/chrome/browser/about_flags.cc
+++ chromium-86.0.4240.75/chrome/browser/about_flags.cc
@@ -2647,7 +2647,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
@@ -3112,10 +3112,10 @@ 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
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
Index: chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc
===================================================================
--- chromium-86.0.4240.75.orig/chrome/browser/flag_descriptions.cc
+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc
@@ -3519,15 +3519,20 @@ const char kVideoToolboxVp9DecodingDescr
#endif
-// Chrome OS
-------------------------------------------------------------------
+// Chrome OS &
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";
const char kAcceleratedMjpegDecodeDescription[] =
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
+#endif
+
+// Chrome OS
-------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
Index: chromium-86.0.4240.75/chrome/browser/flag_descriptions.h
===================================================================
--- chromium-86.0.4240.75.orig/chrome/browser/flag_descriptions.h
+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.h
@@ -2028,11 +2028,15 @@ extern const char kVideoToolboxVp9Decodi
// Chrome OS ------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
+#endif
+
+#if defined(OS_CHROMEOS)
+
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
Index: chromium-86.0.4240.75/gpu/config/software_rendering_list.json
===================================================================
--- chromium-86.0.4240.75.orig/gpu/config/software_rendering_list.json
+++ chromium-86.0.4240.75/gpu/config/software_rendering_list.json
@@ -353,6 +353,7 @@
"gl_renderer": ".*SVGA3D.*"
}
],
+ "vendor_id": "0x10de",
"features": [
"all"
]
++++++ 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
+
# Whether we're a traditional desktop unix.
is_desktop_linux = current_os == "linux"
@@ -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") {
"//base/third_party/dynamic_annotations",
"//sandbox:sandbox_buildflags",
]
+ if (gcc_lto) {
+ configs -= [ "//build/config/compiler:gcc_lto" ]
+ }
if (is_nacl_nonsfi) {
cflags = [ "-fgnu-inline-asm" ]
++++++ gpu-timeout.patch ++++++
description: 10 seconds may not be enough, so don't kill the gpu process until
20.
author: Chad MILLER <[email protected]>
bug-debian: http://bugs.debian.org/781940
Index: chromium-81.0.4040.5/gpu/ipc/service/gpu_watchdog_thread.cc
===================================================================
--- chromium-81.0.4040.5.orig/gpu/ipc/service/gpu_watchdog_thread.cc
+++ chromium-81.0.4040.5/gpu/ipc/service/gpu_watchdog_thread.cc
@@ -39,7 +39,7 @@ const int kGpuTimeout = 30000;
// hangs at context creation during startup. See https://crbug.com/918490.
const int kGpuTimeout = 15000;
#else
-const int kGpuTimeout = 10000;
+const int kGpuTimeout = 20000;
#endif
// The same set of timeouts from Watchdog V2 so we can compare the results
++++++ 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"