diff options
author | Stephan Hartmann <stha09@googlemail.com> | 2020-07-18 12:22:39 +0200 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-07-18 09:36:24 -0400 |
commit | bb66b22fbade7c75db6fcecda87e9ebbc8225629 (patch) | |
tree | 378d828ed3743c27fe18d15b4d0e7b95cd110625 /www-client/chromium/files | |
parent | dev-util/gn: remove old (diff) | |
download | gentoo-bb66b22fbade7c75db6fcecda87e9ebbc8225629.tar.gz gentoo-bb66b22fbade7c75db6fcecda87e9ebbc8225629.tar.bz2 gentoo-bb66b22fbade7c75db6fcecda87e9ebbc8225629.zip |
www-client/chromium: security cleanup
Bug: https://bugs.gentoo.org/732588
Package-Manager: Portage-2.3.99, Repoman-2.3.23
Signed-off-by: Stephan Hartmann <stha09@googlemail.com>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/16737
Diffstat (limited to 'www-client/chromium/files')
20 files changed, 0 insertions, 1136 deletions
diff --git a/www-client/chromium/files/chromium-78-protobuf-export.patch b/www-client/chromium/files/chromium-78-protobuf-export.patch deleted file mode 100644 index ddb9e80eefe4..000000000000 --- a/www-client/chromium/files/chromium-78-protobuf-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -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); diff --git a/www-client/chromium/files/chromium-79-gcc-alignas.patch b/www-client/chromium/files/chromium-79-gcc-alignas.patch deleted file mode 100644 index 1e031e2a6f23..000000000000 --- a/www-client/chromium/files/chromium-79-gcc-alignas.patch +++ /dev/null @@ -1,68 +0,0 @@ -Re-use chromium alignas workaround in protobuf. ---- - -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 - - - diff --git a/www-client/chromium/files/chromium-80-gcc-quiche.patch b/www-client/chromium/files/chromium-80-gcc-quiche.patch deleted file mode 100644 index aa3d54126cac..000000000000 --- a/www-client/chromium/files/chromium-80-gcc-quiche.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001 -From: vasilvv <vasilvv@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.dapena@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. diff --git a/www-client/chromium/files/chromium-81-re2-0.2020.05.01.patch b/www-client/chromium/files/chromium-81-re2-0.2020.05.01.patch deleted file mode 100644 index 17f539060f3b..000000000000 --- a/www-client/chromium/files/chromium-81-re2-0.2020.05.01.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://chromium.googlesource.com/chromium/src/+/ede390a0b18e4565abf8ac1e1ff717e1d43fc320 - ---- /components/autofill/core/browser/address_rewriter.cc -+++ /components/autofill/core/browser/address_rewriter.cc -@@ -57,7 +57,7 @@ - CompiledRuleVector* compiled_rules) { - base::StringPiece data = data_string; - re2::RE2::Options options; -- options.set_utf8(true); -+ options.set_encoding(RE2::Options::EncodingUTF8); - options.set_word_boundary(true); - - size_t token_end = 0; diff --git a/www-client/chromium/files/chromium-82-gcc-incomplete-type.patch b/www-client/chromium/files/chromium-82-gcc-incomplete-type.patch deleted file mode 100644 index a3393405b49a..000000000000 --- a/www-client/chromium/files/chromium-82-gcc-incomplete-type.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sun, 05 Apr 2020 08:29:21 +0000 -Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo - -std::unordered_map<T, U> requires U to be fully declared. ax_tree.h -has only forward declaration of NodeSetSizePosInSetInfo. Therefore, -move declaration from ax_tree.cc. -Bug: 957519 -Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868 ---- - -diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc -index 7b8d9b1..e915402 100644 ---- a/ui/accessibility/ax_tree.cc -+++ b/ui/accessibility/ax_tree.cc -@@ -567,14 +567,8 @@ - const AXTree& tree; - }; - --struct AXTree::NodeSetSizePosInSetInfo { -- NodeSetSizePosInSetInfo() = default; -- ~NodeSetSizePosInSetInfo() = default; -- -- int32_t pos_in_set = 0; -- int32_t set_size = 0; -- base::Optional<int> lowest_hierarchical_level; --}; -+AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default; -+AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default; - - struct AXTree::OrderedSetContent { - explicit OrderedSetContent(const AXNode* ordered_set = nullptr) -diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h -index a51ca8d..8c1c575 100644 ---- a/ui/accessibility/ax_tree.h -+++ b/ui/accessibility/ax_tree.h -@@ -328,7 +328,14 @@ - bool enable_extra_mac_nodes_ = false; - - // Contains pos_in_set and set_size data for an AXNode. -- struct NodeSetSizePosInSetInfo; -+ struct NodeSetSizePosInSetInfo { -+ NodeSetSizePosInSetInfo(); -+ ~NodeSetSizePosInSetInfo(); -+ -+ int32_t pos_in_set = 0; -+ int32_t set_size = 0; -+ base::Optional<int> lowest_hierarchical_level; -+ }; - - // Represents the content of an ordered set which includes the ordered set - // items and the ordered set container if it exists. diff --git a/www-client/chromium/files/chromium-82-gcc-iterator.patch b/www-client/chromium/files/chromium-82-gcc-iterator.patch deleted file mode 100644 index 6405d52b3b28..000000000000 --- a/www-client/chromium/files/chromium-82-gcc-iterator.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -index b3c7624..85936aa 100644 ---- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_ - -+#include <iterator> -+ - #include "base/containers/span.h" - #include "third_party/blink/renderer/core/core_export.h" - #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h" -@@ -31,7 +33,8 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment { - PostLayoutChildLinkList(wtf_size_t count, const NGLink* buffer) - : count_(count), buffer_(buffer) {} - -- class ConstIterator { -+ class ConstIterator : public std::iterator<std::input_iterator_tag, -+ NGLink> { - STACK_ALLOCATED(); - - public: diff --git a/www-client/chromium/files/chromium-82-gcc-noexcept.patch b/www-client/chromium/files/chromium-82-gcc-noexcept.patch deleted file mode 100644 index 1c7de53d8eff..000000000000 --- a/www-client/chromium/files/chromium-82-gcc-noexcept.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/ui/color/color_set.cc b/ui/color/color_set.cc -index 56564d7..2798a3c 100644 ---- a/ui/color/color_set.cc -+++ b/ui/color/color_set.cc -@@ -11,7 +11,7 @@ ColorSet::ColorSet(ColorSetId id, ColorMap&& colors) - - ColorSet::ColorSet(ColorSet&&) noexcept = default; - --ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default; -+ColorSet& ColorSet::operator=(ColorSet&&) = default; - - ColorSet::~ColorSet() = default; - -diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h -index dee0b95..0c83580 100644 ---- a/third_party/blink/public/platform/cross_variant_mojo_util.h -+++ b/third_party/blink/public/platform/cross_variant_mojo_util.h -@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver { - ~CrossVariantMojoAssociatedReceiver() = default; - - CrossVariantMojoAssociatedReceiver( -- CrossVariantMojoAssociatedReceiver&&) noexcept = default; -+ CrossVariantMojoAssociatedReceiver&&) = default; - CrossVariantMojoAssociatedReceiver& operator=( - CrossVariantMojoAssociatedReceiver&&) noexcept = default; - -@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote { - ~CrossVariantMojoAssociatedRemote() = default; - - CrossVariantMojoAssociatedRemote( -- CrossVariantMojoAssociatedRemote&&) noexcept = default; -+ CrossVariantMojoAssociatedRemote&&) = default; - CrossVariantMojoAssociatedRemote& operator=( - CrossVariantMojoAssociatedRemote&&) noexcept = default; - diff --git a/www-client/chromium/files/chromium-82-gcc-template.patch b/www-client/chromium/files/chromium-82-gcc-template.patch deleted file mode 100644 index 90909c5692b8..000000000000 --- a/www-client/chromium/files/chromium-82-gcc-template.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h -index 4e6aa0e..fa6f10c 100644 ---- a/content/public/browser/web_ui.h -+++ b/content/public/browser/web_ui.h -@@ -138,22 +138,6 @@ class CONTENT_EXPORT WebUI { - template <typename T> - static T GetValue(const base::Value& value); - -- template <> -- inline bool GetValue<bool>(const base::Value& value) { -- return value.GetBool(); -- } -- -- template <> -- inline int GetValue<int>(const base::Value& value) { -- return value.GetInt(); -- } -- -- template <> -- inline const std::string& GetValue<const std::string&>( -- const base::Value& value) { -- return value.GetString(); -- } -- - template <typename Is, typename... Args> - struct Call; - -@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI { - }; - }; - -+template <> -+inline bool WebUI::GetValue<bool>(const base::Value& value) { -+ return value.GetBool(); -+} -+ -+template <> -+inline int WebUI::GetValue<int>(const base::Value& value) { -+ return value.GetInt(); -+} -+ -+template <> -+inline const std::string& WebUI::GetValue<const std::string&>( -+ const base::Value& value) { -+ return value.GetString(); -+} -+ - } // namespace content - - #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_ diff --git a/www-client/chromium/files/chromium-83-gcc-10.patch b/www-client/chromium/files/chromium-83-gcc-10.patch deleted file mode 100644 index 974b49cde703..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-10.patch +++ /dev/null @@ -1,64 +0,0 @@ -From e473f41284ccc8fa4bc4622d087194b18a1ec23a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 7 Apr 2020 16:37:10 +0000 -Subject: [PATCH] GCC: fix includes for gcc-10 - ---- - chrome/browser/search/background/ntp_backgrounds.h | 1 + - third_party/webrtc/call/rtx_receive_stream.h | 1 + - .../webrtc/modules/audio_processing/aec3/clockdrift_detector.h | 1 + - ui/gfx/linux/drm_util_linux.h | 2 ++ - 5 files changed, 6 insertions(+) - -diff --git a/chrome/browser/search/background/ntp_backgrounds.h b/chrome/browser/search/background/ntp_backgrounds.h -index 7afc0a2..ea5818e 100644 ---- a/chrome/browser/search/background/ntp_backgrounds.h -+++ b/chrome/browser/search/background/ntp_backgrounds.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_ - - #include <array> -+#include <cstddef> - - class GURL; - -diff --git a/third_party/webrtc/call/rtx_receive_stream.h b/third_party/webrtc/call/rtx_receive_stream.h -index 8ffa440..113a816 100644 ---- a/third_party/webrtc/call/rtx_receive_stream.h -+++ b/third_party/webrtc/call/rtx_receive_stream.h -@@ -12,6 +12,7 @@ - #define CALL_RTX_RECEIVE_STREAM_H_ - - #include <map> -+#include <cstdint> - - #include "call/rtp_packet_sink_interface.h" - -diff --git a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -index 22528c9..69e624e 100644 ---- a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -+++ b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h -@@ -12,6 +12,7 @@ - #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ - - #include <array> -+#include <cstddef> - - namespace webrtc { - -diff --git a/ui/gfx/linux/drm_util_linux.h b/ui/gfx/linux/drm_util_linux.h -index 86ff2eb..990f12c 100644 ---- a/ui/gfx/linux/drm_util_linux.h -+++ b/ui/gfx/linux/drm_util_linux.h -@@ -7,6 +7,8 @@ - - #include "ui/gfx/buffer_types.h" - -+#include <cstdint> -+ - namespace ui { - - int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format); --- -2.24.1 - diff --git a/www-client/chromium/files/chromium-83-gcc-compatibility.patch b/www-client/chromium/files/chromium-83-gcc-compatibility.patch deleted file mode 100644 index 09508ea50b1b..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-compatibility.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 55ce03222ee4c5ed2442278264028f6fb5bffa34 Mon Sep 17 00:00:00 2001 -From: David Seifert <david.seifert@gmail.com> -Date: Sun, 03 May 2020 17:05:43 +0200 -Subject: [PATCH] Add compatibility workaround for GCC 6/7/8 - -Bug: 819294 -Change-Id: I632c4ecf7d7f9876b37a6cff05c0408125656257 ---- - -diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h -index 5a4468d..9dc95fa 100644 ---- a/third_party/blink/renderer/platform/wtf/hash_table.h -+++ b/third_party/blink/renderer/platform/wtf/hash_table.h -@@ -673,7 +673,10 @@ - return IsEmptyBucket(key) || IsDeletedBucket(key); - } - static bool IsEmptyOrDeletedBucketSafe(const Value& value) { -- alignas(std::max(alignof(Key), sizeof(size_t))) char buf[sizeof(Key)]; -+ // GCC 6, 7 and 8 require this indirection due to a constexpr bug: -+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94929 -+ constexpr size_t kAlignment = std::max(alignof(Key), sizeof(size_t)); -+ alignas(kAlignment) char buf[sizeof(Key)]; - const Key& key = Extractor::ExtractSafe(value, &buf); - return IsEmptyBucket(key) || IsDeletedBucket(key); - } diff --git a/www-client/chromium/files/chromium-83-gcc-include.patch b/www-client/chromium/files/chromium-83-gcc-include.patch deleted file mode 100644 index 9c405e840024..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-include.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 2 Apr 2020 14:35:44 +0000 -Subject: [PATCH] IWYU: std::find is defined in algorithm - ---- - extensions/browser/install/crx_install_error.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc -index a9765bb..bd0d3e3 100644 ---- a/extensions/browser/install/crx_install_error.cc -+++ b/extensions/browser/install/crx_install_error.cc -@@ -4,6 +4,8 @@ - - #include "extensions/browser/install/crx_install_error.h" - -+#include <algorithm> -+ - #include "base/logging.h" - #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h" - --- -2.24.1 - -From 80044e30e0014c4c322178e4b56ddbb10eede304 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 9 Apr 2020 17:58:06 +0000 -Subject: [PATCH] IWYU: std::unique_ptr is defined in memory - ---- - .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -index f5a7ab0..ef19cfa 100644 ---- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -+++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - -+#include <memory> -+ - #include "base/optional.h" - #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h" - #include "third_party/blink/renderer/core/core_export.h" --- -2.24.1 - -From 4f4d0a6d453bc22a6397dadaf6d866b4eb2d6b95 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 10 Apr 2020 08:31:08 +0000 -Subject: [PATCH] IWYU: std::numeric_limits is defined in limits - ---- - .../graph/policies/background_tab_loading_policy_helpers.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -index 6ab117b..43aa602 100644 ---- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -+++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.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 <limits> -+ - #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h" - #include "base/logging.h" - --- -2.24.1 - diff --git a/www-client/chromium/files/chromium-83-gcc-iterator.patch b/www-client/chromium/files/chromium-83-gcc-iterator.patch deleted file mode 100644 index 3df032751dbc..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-iterator.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 9 Apr 2020 17:03:38 +0000 -Subject: [PATCH] libstdc++: replace std::any_of in blink::SerializedScriptValue - -Use of std::any_of requires STL compliant iterator. However, -HashTableIterator does not define iterator_tag and therefore -is no STL iterator. ---- - .../core/v8/serialization/serialized_script_value.h | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -index bbf10ef..53d98c9 100644 ---- a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -+++ b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -@@ -268,12 +268,17 @@ class CORE_EXPORT SerializedScriptValue - MessagePortChannelArray& GetStreamChannels() { return stream_channels_; } - - bool IsLockedToAgentCluster() const { -+ auto AnyOfIsLockedToAgentCluster = [&]() { -+ for (auto entry = attachments_.begin(); -+ entry != attachments_.end(); ++entry) { -+ if (entry->value->IsLockedToAgentCluster()) -+ return true; -+ } -+ return false; -+ }; - return !wasm_modules_.IsEmpty() || - !shared_array_buffers_contents_.IsEmpty() || -- std::any_of(attachments_.begin(), attachments_.end(), -- [](const auto& entry) { -- return entry.value->IsLockedToAgentCluster(); -- }); -+ AnyOfIsLockedToAgentCluster(); - } - - // Returns true after serializing script values that remote origins cannot --- -2.24.1 - diff --git a/www-client/chromium/files/chromium-83-gcc-permissive.patch b/www-client/chromium/files/chromium-83-gcc-permissive.patch deleted file mode 100644 index a87f1c44b0f0..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-permissive.patch +++ /dev/null @@ -1,31 +0,0 @@ -From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 2 Apr 2020 16:16:14 +0000 -Subject: [PATCH] GCC: add missing apps namespace to BrowserAppLauncher - -GCC does not get namespace of BrowserAppLauncher right and -fails like this: - -chrome/browser/apps/app_service/app_service_proxy.h:82:23: error: -declaration of 'apps::BrowserAppLauncher& -apps::AppServiceProxy::BrowserAppLauncher()' changes meaning of -'BrowserAppLauncher' [-fpermissive] ---- - chrome/browser/apps/app_service/app_service_proxy.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h -index b7fff63..1ecd49d 100644 ---- a/chrome/browser/apps/app_service/app_service_proxy.h -+++ b/chrome/browser/apps/app_service/app_service_proxy.h -@@ -79,7 +79,7 @@ class AppServiceProxy : public KeyedService, - apps::InstanceRegistry& InstanceRegistry(); - #endif - -- BrowserAppLauncher& BrowserAppLauncher(); -+ apps::BrowserAppLauncher& BrowserAppLauncher(); - - apps::PreferredAppsList& PreferredApps(); - --- -2.24.1 diff --git a/www-client/chromium/files/chromium-83-gcc-serviceworker.patch b/www-client/chromium/files/chromium-83-gcc-serviceworker.patch deleted file mode 100644 index a836e7fc533c..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-serviceworker.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001 -From: Hiroki Nakagawa <nhiroki@chromium.org> -Date: Wed, 29 Apr 2020 11:46:54 +0900 -Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on connection error - -This CL avoids the case where ServiceWorkerObjectHost is destroyed twice -on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built -with the GCC build toolchain. - -> How does the issue happen? - -ServiceWorkerObjectHost has a cyclic reference like this: - -ServiceWorkerObjectHost - --([1] scoped_refptr)--> ServiceWorkerVersion - --([2] std::unique_ptr)--> ServiceWorkerProviderHost - --([3] std::unique_ptr)--> ServiceWorkerContainerHost - --([4] std::unique_ptr)--> ServiceWorkerObjectHost - -Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in -map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>. - -When ServiceWorkerObjectHost::OnConnectionError() is called, the -function removes the reference [4] from the map, and destroys -ServiceWorkerObjectHost. If the object host has the last reference [1] -to ServiceWorkerVersion, the destruction also cuts off the references -[2] and [3], and destroys ServiceWorkerProviderHost and -ServiceWorkerContainerHost. - -This seems to work well on the Chromium's default toolchain, but not -work on the GCC toolchain. According to the report, destruction of -ServiceWorkerContainerHost happens while the map owned by the container -host is erasing the ServiceWorkerObjectHost, and this results in crash -due to double destruction of the object host. - -I don't know the reason why this happens only on the GCC toolchain, but -I suspect the order of object destruction on std::map::erase() could be -different depending on the toolchains. - -> How does this CL fix this? - -The ideal fix is to redesign the ownership model of -ServiceWorkerVersion, but it's not feasible in the short term. - -Instead, this CL avoids destruction of ServiceWorkerObjectHost on -std::map::erase(). The new code takes the ownership of the object host -from the map first, and then erases the entry from the map. This -separates timings to erase the map entry and to destroy the object host, -so the crash should no longer happen. - -Bug: 1056598 -Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613 ---- - -diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc -index c631bcd..ff917f8 100644 ---- a/content/browser/service_worker/service_worker_container_host.cc -+++ b/content/browser/service_worker/service_worker_container_host.cc -@@ -717,6 +717,16 @@ - int64_t version_id) { - DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - DCHECK(base::Contains(service_worker_object_hosts_, version_id)); -+ -+ // ServiceWorkerObjectHost to be deleted may have the last reference to -+ // ServiceWorkerVersion 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/1056598 for details. -+ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted = -+ std::move(service_worker_object_hosts_[version_id]); -+ DCHECK(to_be_deleted); - service_worker_object_hosts_.erase(version_id); - } - -diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc -index 238cb8b..f60c7a2 100644 ---- a/content/browser/service_worker/service_worker_object_host_unittest.cc -+++ b/content/browser/service_worker/service_worker_object_host_unittest.cc -@@ -200,6 +200,19 @@ - return registration_info; - } - -+ void CallOnConnectionError(ServiceWorkerContainerHost* container_host, -+ int64_t version_id) { -+ // ServiceWorkerObjectHost has the last reference to the version. -+ ServiceWorkerObjectHost* object_host = -+ GetServiceWorkerObjectHost(container_host, version_id); -+ EXPECT_TRUE(object_host->version_->HasOneRef()); -+ -+ // Make sure that OnConnectionError induces destruction of the version and -+ // the object host. -+ object_host->receivers_.Clear(); -+ object_host->OnConnectionError(); -+ } -+ - BrowserTaskEnvironment task_environment_; - std::unique_ptr<EmbeddedWorkerTestHelper> helper_; - scoped_refptr<ServiceWorkerRegistration> registration_; -@@ -409,5 +422,30 @@ - events[0]->source_info_for_client->client_type); - } - -+// This is a regression test for https://crbug.com/1056598. -+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) { -+ const GURL scope("https://www.example.com/"); -+ const GURL script_url("https://www.example.com/service_worker.js"); -+ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); -+ SetUpRegistration(scope, script_url); -+ -+ // Create the provider host. -+ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk, -+ StartServiceWorker(version_.get())); -+ -+ // Set up the case where the last reference to the version is owned by the -+ // service worker object host. -+ ServiceWorkerContainerHost* container_host = -+ version_->provider_host()->container_host(); -+ ServiceWorkerVersion* version_rawptr = version_.get(); -+ version_ = nullptr; -+ ASSERT_TRUE(version_rawptr->HasOneRef()); -+ -+ // Simulate the connection error that induces the object host destruction. -+ // This shouldn't crash. -+ CallOnConnectionError(container_host, version_rawptr->version_id()); -+ base::RunLoop().RunUntilIdle(); -+} -+ - } // namespace service_worker_object_host_unittest - } // namespace content diff --git a/www-client/chromium/files/chromium-83-gcc-template.patch b/www-client/chromium/files/chromium-83-gcc-template.patch deleted file mode 100644 index 27365220b031..000000000000 --- a/www-client/chromium/files/chromium-83-gcc-template.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 07 Apr 2020 00:23:57 +0000 -Subject: [PATCH] GCC: fix template specialization in WTF::VectorMover - -GCC complains that explicit specialization in non-namespace scope -is happening for MoveOverlappingImpl. However, secialization is -not really necessary here with templates and can be moved -into MoveOverlappingImpl method without changing generated code. - -Bug: 819294 -Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2126290 -Reviewed-by: Kent Tamura <tkent@chromium.org> -Commit-Queue: Kent Tamura <tkent@chromium.org> -Cr-Commit-Position: refs/heads/master@{#756880} ---- - -diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h -index 632d308..82aaf96 100644 ---- a/third_party/blink/renderer/platform/wtf/vector.h -+++ b/third_party/blink/renderer/platform/wtf/vector.h -@@ -205,30 +205,23 @@ - } - } - -- template <bool = Allocator::kIsGarbageCollected> -- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst); -- template <> -- static void MoveOverlappingImpl<false>(const T* src, -- const T* src_end, -- T* dst) { -- memmove(dst, src, -- reinterpret_cast<const char*>(src_end) - -- reinterpret_cast<const char*>(src)); -- } -- template <> -- static void MoveOverlappingImpl<true>(const T* src, -- const T* src_end, -- T* dst) { -- if (src == dst) -- return; -- if (dst < src) { -- for (; src < src_end; ++src, ++dst) -- AtomicWriteMemcpy<sizeof(T)>(dst, src); -+ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) { -+ if (Allocator::kIsGarbageCollected) { -+ if (src == dst) -+ return; -+ if (dst < src) { -+ for (; src < src_end; ++src, ++dst) -+ AtomicWriteMemcpy<sizeof(T)>(dst, src); -+ } else { -+ --src_end; -+ T* dst_end = dst + (src_end - src); -+ for (; src_end >= src; --src_end, --dst_end) -+ AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end); -+ } - } else { -- --src_end; -- T* dst_end = dst + (src_end - src); -- for (; src_end >= src; --src_end, --dst_end) -- AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end); -+ memmove(dst, src, -+ reinterpret_cast<const char*>(src_end) - -+ reinterpret_cast<const char*>(src)); - } - } - diff --git a/www-client/chromium/files/chromium-83-icu67.patch b/www-client/chromium/files/chromium-83-icu67.patch deleted file mode 100644 index d45d9e810a4e..000000000000 --- a/www-client/chromium/files/chromium-83-icu67.patch +++ /dev/null @@ -1,170 +0,0 @@ -From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001 -From: Frank Tang <ftang@chromium.org> -Date: Fri, 03 Apr 2020 23:13:54 -0700 -Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions - -Needed to land ICU67.1 soon. - -Bug: v8:10393 -Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 -Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> -Commit-Queue: Frank Tang <ftang@chromium.org> -Cr-Commit-Position: refs/heads/master@{#67027} ---- - -diff --git a/v8/src/objects/js-number-format.cc b/v8/src/objects/js-number-format.cc -index ad831c5..bcd4403 100644 ---- a/v8/src/objects/js-number-format.cc -+++ b/v8/src/objects/js-number-format.cc -@@ -1241,44 +1241,33 @@ - } - - namespace { --Maybe<icu::UnicodeString> IcuFormatNumber( -+Maybe<bool> IcuFormatNumber( - Isolate* isolate, - const icu::number::LocalizedNumberFormatter& number_format, -- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) { -+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) { - // If it is BigInt, handle it differently. - UErrorCode status = U_ZERO_ERROR; -- icu::number::FormattedNumber formatted; - if (numeric_obj->IsBigInt()) { - Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj); - Handle<String> big_int_string; - ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, - BigInt::ToString(isolate, big_int), -- Nothing<icu::UnicodeString>()); -- formatted = number_format.formatDecimal( -+ Nothing<bool>()); -+ *formatted = number_format.formatDecimal( - {big_int_string->ToCString().get(), big_int_string->length()}, status); - } else { - double number = numeric_obj->IsNaN() - ? std::numeric_limits<double>::quiet_NaN() - : numeric_obj->Number(); -- formatted = number_format.formatDouble(number, status); -+ *formatted = number_format.formatDouble(number, status); - } - if (U_FAILURE(status)) { - // This happen because of icu data trimming trim out "unit". - // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing<icu::UnicodeString>()); -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>()); - } -- if (fp_iter) { -- formatted.getAllFieldPositions(*fp_iter, status); -- } -- icu::UnicodeString result = formatted.toString(status); -- if (U_FAILURE(status)) { -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing<icu::UnicodeString>()); -- } -- return Just(result); -+ return Just(true); - } - - } // namespace -@@ -1289,10 +1278,16 @@ - Handle<Object> numeric_obj) { - DCHECK(numeric_obj->IsNumeric()); - -- Maybe<icu::UnicodeString> maybe_format = -- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); -+ icu::number::FormattedNumber formatted; -+ Maybe<bool> maybe_format = -+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle<String>()); -- return Intl::ToString(isolate, maybe_format.FromJust()); -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString result = formatted.toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); -+ } -+ return Intl::ToString(isolate, result); - } - - namespace { -@@ -1405,12 +1400,18 @@ - } - - namespace { --Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, -- icu::FieldPositionIterator* fp_iter, -+Maybe<int> ConstructParts(Isolate* isolate, -+ icu::number::FormattedNumber* formatted, - Handle<JSArray> result, int start_index, - Handle<Object> numeric_obj, bool style_is_unit) { -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString formatted_text = formatted->toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>()); -+ } - DCHECK(numeric_obj->IsNumeric()); -- int32_t length = formatted.length(); -+ int32_t length = formatted_text.length(); - int index = start_index; - if (length == 0) return Just(index); - -@@ -1419,13 +1420,14 @@ - // other region covers some part of the formatted string. It's possible - // there's another field with exactly the same begin and end as this backdrop, - // in which case the backdrop's field_id of -1 will give it lower priority. -- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); -+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); - - { -- icu::FieldPosition fp; -- while (fp_iter->next(fp)) { -- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), -- fp.getEndIndex())); -+ icu::ConstrainedFieldPosition cfp; -+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); -+ while (formatted->nextPosition(cfp, status)) { -+ regions.push_back( -+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); - } - } - -@@ -1447,7 +1449,7 @@ - Handle<String> substring; - ASSIGN_RETURN_ON_EXCEPTION_VALUE( - isolate, substring, -- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), -+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), - Nothing<int>()); - Intl::AddElement(isolate, result, index, field_type_string, substring); - ++index; -@@ -1467,20 +1469,19 @@ - number_format->icu_number_formatter().raw(); - CHECK_NOT_NULL(fmt); - -- icu::FieldPositionIterator fp_iter; -- Maybe<icu::UnicodeString> maybe_format = -- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); -+ icu::number::FormattedNumber formatted; -+ Maybe<bool> maybe_format = -+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle<JSArray>()); -- - UErrorCode status = U_ZERO_ERROR; -+ - bool style_is_unit = - Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status)); - CHECK(U_SUCCESS(status)); - - Handle<JSArray> result = factory->NewJSArray(0); -- Maybe<int> maybe_format_to_parts = -- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0, -- numeric_obj, style_is_unit); -+ Maybe<int> maybe_format_to_parts = ConstructParts( -+ isolate, &formatted, result, 0, numeric_obj, style_is_unit); - MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>()); - - return result; diff --git a/www-client/chromium/files/chromium-blink-style_format.patch b/www-client/chromium/files/chromium-blink-style_format.patch deleted file mode 100644 index 7c9bc9e46046..000000000000 --- a/www-client/chromium/files/chromium-blink-style_format.patch +++ /dev/null @@ -1,18 +0,0 @@ -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 d50a6c1..e0ff436 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 -@@ -149,12 +149,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) diff --git a/www-client/chromium/files/chromium-compiler-r12.patch b/www-client/chromium/files/chromium-compiler-r12.patch deleted file mode 100644 index a17cc4b52c8d..000000000000 --- a/www-client/chromium/files/chromium-compiler-r12.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 907b74447f4a35d5a8e851c73c15cc951a2e446b Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Fri, 20 Mar 2020 09:14:25 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 61 +++++++++++++--------------------- - 1 file changed, 23 insertions(+), 38 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 9573394..d35e736 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -261,8 +261,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -487,20 +485,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1431,6 +1415,12 @@ config("default_warnings") { - cflags_cc += [ "-Wno-class-memaccess" ] - } - -+ # -Wno-class-memaccess warns about hash table and vector in blink. -+ # But the violation is intentional. -+ if (!is_nacl) { -+ cflags_cc += [ "-Wno-class-memaccess" ] -+ } -+ - # -Wunused-local-typedefs is broken in gcc, - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63872 - cflags += [ "-Wno-unused-local-typedefs" ] -@@ -1559,7 +1549,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1568,10 +1558,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. -@@ -1580,15 +1566,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" ] -@@ -1980,7 +1957,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. - # /O1 implies /Os and /GF. -@@ -2001,7 +1979,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2035,7 +2014,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: -@@ -2067,7 +2047,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: -@@ -2092,7 +2073,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" ] -@@ -2208,7 +2190,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. -@@ -2314,7 +2297,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 = [] -@@ -2371,7 +2355,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.24.1 - diff --git a/www-client/chromium/files/chromium-fix-char_traits.patch b/www-client/chromium/files/chromium-fix-char_traits.patch deleted file mode 100644 index 4cb9503a93f4..000000000000 --- a/www-client/chromium/files/chromium-fix-char_traits.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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; diff --git a/www-client/chromium/files/chromium-launcher-r3.sh b/www-client/chromium/files/chromium-launcher-r3.sh deleted file mode 100644 index a4fc1a95394a..000000000000 --- a/www-client/chromium/files/chromium-launcher-r3.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Allow the user to override command-line flags, bug #357629. -# This is based on Debian's chromium-browser package, and is intended -# to be consistent with Debian. -for f in /etc/chromium/*; do - [[ -f ${f} ]] && source "${f}" -done - -# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system -# default CHROMIUM_FLAGS (from /etc/chromium/default). -CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"} - -# Let the wrapped binary know that it has been run through the wrapper -export CHROME_WRAPPER=$(readlink -f "$0") - -PROGDIR=${CHROME_WRAPPER%/*} - -case ":$PATH:" in - *:$PROGDIR:*) - # $PATH already contains $PROGDIR - ;; - *) - # Append $PROGDIR to $PATH - export PATH="$PATH:$PROGDIR" - ;; -esac - -if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then - # Running as root with HOME owned by root. - # Pass --user-data-dir to work around upstream failsafe. - CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium - ${CHROMIUM_FLAGS}" -fi - -# Set the .desktop file name -export CHROME_DESKTOP="chromium-browser-chromium.desktop" - -exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@" |