From 333adfcd3829e396207f60316598909ba36b7f8e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 14:38:51 +0200 Subject: [PATCH 001/171] Backport more build fixes from upstream --- ....3809.100-gcc-ambigous-instantiation.patch | 39 +++ ...0.3809.100-gcc-feature-policy-parser.patch | 76 ++++++ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 +++ ...100-gcc-move-explicit-initialization.patch | 97 ++++++++ ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ++++++++++++++++++ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 +++ ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 +++++ chromium.spec | 21 ++ 8 files changed, 586 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch create mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch create mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch create mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch create mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch create mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch create mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..587abf3 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch @@ -0,0 +1,39 @@ +From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 19:46:55 +0000 +Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. + +Use brace-list notation to wrap the already existing brace-list for +initializing the flat-set. This resolves an ambiguous instantiation +in GCC. + +Bug: 819294 +Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 +Reviewed-by: Matt Menke +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666401} +--- + +diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc +index 30999c0..60a03f6 100644 +--- a/services/network/cross_origin_read_blocking.cc ++++ b/services/network/cross_origin_read_blocking.cc +@@ -211,7 +211,7 @@ + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -224,7 +224,7 @@ + "application/x-www-form-urlencoded", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch new file mode 100644 index 0000000..0dbffd5 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch @@ -0,0 +1,76 @@ +From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 19:44:58 +0200 +Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace + +Compilation fails because we are declaring ParseValueForFuzzer as friend method, +but we are declaring it is in anonymous namespace. Moving to global namespace +still fails (in this case in Clang). + +So final solution is making it a public static method of FeaturePolicyParser. + +Bug: 819294 +Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 +--- + +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +index 3b7f4a9..eaee409 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +@@ -317,6 +317,13 @@ + return value; + } + ++void FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType feature_type, ++ const WTF::String& value_string) { ++ bool ok; ++ ParseValueForType(feature_type, value_string, &ok); ++} ++ + bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, + const ParsedFeaturePolicy& policy) { + return std::any_of(policy.begin(), policy.end(), +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +index fd25d90..36af405 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +@@ -16,9 +16,6 @@ + #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" + #include "third_party/blink/renderer/platform/wtf/vector.h" + +-// Forward declare for friendship. +-void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); +- + namespace blink { + + class Document; +@@ -79,8 +76,9 @@ + const FeatureNameMap& feature_names, + ExecutionContext* execution_context = nullptr); + ++ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); ++ + private: +- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); + static PolicyValue GetFallbackValueForFeature( + mojom::FeaturePolicyFeature feature); + static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +index 7f8e6aa..53350e43 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +@@ -23,9 +23,9 @@ + extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + static blink::BlinkFuzzerTestSupport test_support = + blink::BlinkFuzzerTestSupport(); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, +- WTF::String(data, size)); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, +- WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); + return 0; + } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch new file mode 100644 index 0000000..26bba05 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch @@ -0,0 +1,32 @@ +From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 17:18:40 +0000 +Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr + +Other HasFraction methods as in PhysicalUnit are declared already +constexpr and using it. It breaks GCC build. + +Bug: 819294. +Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 +Reviewed-by: vmpstr +Reviewed-by: Xianzhu Wang +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666336} +--- + +diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h +index f073986..b6dbc76 100644 +--- a/third_party/blink/renderer/platform/geometry/layout_unit.h ++++ b/third_party/blink/renderer/platform/geometry/layout_unit.h +@@ -202,7 +202,9 @@ + return value_ > 0 ? LayoutUnit() : *this; + } + +- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } ++ constexpr bool HasFraction() const { ++ return RawValue() % kFixedPointDenominator; ++ } + + LayoutUnit Fraction() const { + // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch new file mode 100644 index 0000000..1d4b90f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch @@ -0,0 +1,97 @@ +From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 08:00:13 +0000 +Subject: [PATCH] GCC: move explicit specialization out of RunInfo + +Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks +build because of that. Move the template specializations out of RunInfo declaration +in shape_result_inline_headeres.h to fix the GCC build issue. + +Bug: 819294 +Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#667901} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +index 76ee6091..c14d3a0 100644 +--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h ++++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +@@ -251,37 +251,6 @@ + template + struct iterator final {}; + +- // For non-zero glyph offset array +- template <> +- struct iterator final { +- // The constructor for ShapeResult +- explicit iterator(const GlyphOffsetArray& array) +- : pointer(array.storage_.get()) { +- DCHECK(pointer); +- } +- +- // The constructor for ShapeResultView +- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { +- DCHECK(pointer); +- } +- +- GlyphOffset operator*() const { return *pointer; } +- void operator++() { ++pointer; } +- +- const GlyphOffset* pointer; +- }; +- +- // For zero glyph offset array +- template <> +- struct iterator final { +- explicit iterator(const GlyphOffsetArray& array) { +- DCHECK(!array.HasStorage()); +- } +- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } +- GlyphOffset operator*() const { return GlyphOffset(); } +- void operator++() {} +- }; +- + template + iterator GetIterator() const { + return iterator(*this); +@@ -495,6 +464,37 @@ + float width_; + }; + ++// For non-zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ // The constructor for ShapeResult ++ explicit iterator(const GlyphOffsetArray& array) ++ : pointer(array.storage_.get()) { ++ DCHECK(pointer); ++ } ++ ++ // The constructor for ShapeResultView ++ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { ++ DCHECK(pointer); ++ } ++ ++ GlyphOffset operator*() const { return *pointer; } ++ void operator++() { ++pointer; } ++ ++ const GlyphOffset* pointer; ++}; ++ ++// For zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ explicit iterator(const GlyphOffsetArray& array) { ++ DCHECK(!array.HasStorage()); ++ } ++ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } ++ GlyphOffset operator*() const { return GlyphOffset(); } ++ void operator++() {} ++}; ++ + // Find the range of HarfBuzzRunGlyphData for the specified character index + // range. This function uses binary search twice, hence O(2 log n). + inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch new file mode 100644 index 0000000..98789d9 --- /dev/null +++ b/chromium-76.0.3809.100-quiche-compile-fix.patch @@ -0,0 +1,225 @@ +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 +@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength + std::string TransportParameterIdToString( + TransportParameters::TransportParameterId param_id) { + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + return "original_connection_id"; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + return "idle_timeout"; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + return "stateless_reset_token"; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + return "max_packet_size"; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + return "initial_max_data"; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + return "initial_max_stream_data_bidi_local"; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + return "initial_max_stream_data_bidi_remote"; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + return "initial_max_stream_data_uni"; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + return "initial_max_streams_bidi"; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + return "initial_max_streams_uni"; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + return "ack_delay_exponent"; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + return "max_ack_delay"; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + return "disable_migration"; +- case kPreferredAddress: ++ case TransportParameters::kPreferredAddress: + return "preferred_address"; +- case kGoogleQuicParam: ++ case TransportParameters::kGoogleQuicParam: + return "google"; +- case kGoogleQuicVersion: ++ case TransportParameters::kGoogleQuicVersion: + return "google-version"; + } + return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; +@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const + CBB original_connection_id_param; + if (!in.original_connection_id.IsEmpty()) { + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || + !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || + !CBB_add_bytes( + &original_connection_id_param, +@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const + if (!in.stateless_reset_token.empty()) { + DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kStatelessResetToken) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || + !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || + !CBB_add_bytes(&stateless_reset_token_param, + in.stateless_reset_token.data(), +@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const + + // disable_migration + if (in.disable_migration) { +- if (!CBB_add_u16(¶ms, kDisableMigration) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || + !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. + QUIC_BUG << "Failed to write disable_migration for " << in; + return false; +@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const + QUIC_BUG << "Bad lengths " << *in.preferred_address; + return false; + } +- if (!CBB_add_u16(¶ms, kPreferredAddress) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || + !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || + !CBB_add_bytes( + &preferred_address_params, +@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const + if (in.google_quic_params) { + const QuicData& serialized_google_quic_params = + in.google_quic_params->GetSerialized(); +- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || + !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || + !CBB_add_bytes(&google_quic_params, + reinterpret_cast( +@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const + + // Google-specific version extension. + CBB google_version_params; +- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || + !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || + !CBB_add_u32(&google_version_params, in.version)) { + QUIC_BUG << "Failed to write Google version extension for " << in; +@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint + } + bool parse_success = true; + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + if (!out->original_connection_id.IsEmpty()) { + QUIC_DLOG(ERROR) << "Received a second original connection ID"; + return false; +@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint + CBS_len(&value)); + } + break; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); + break; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + if (!out->stateless_reset_token.empty()) { + QUIC_DLOG(ERROR) << "Received a second stateless reset token"; + return false; +@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint + out->stateless_reset_token.assign(CBS_data(&value), + CBS_data(&value) + CBS_len(&value)); + break; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + parse_success = out->max_packet_size.ReadFromCbs(&value); + break; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + parse_success = out->initial_max_data.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + parse_success = + out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + parse_success = + out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); + break; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + parse_success = out->ack_delay_exponent.ReadFromCbs(&value); + break; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + parse_success = out->max_ack_delay.ReadFromCbs(&value); + break; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + if (out->disable_migration) { + QUIC_DLOG(ERROR) << "Received a second disable migration"; + return false; +@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint + } + out->disable_migration = true; + break; +- case kPreferredAddress: { ++ case TransportParameters::kPreferredAddress: { + uint16_t ipv4_port, ipv6_port; + in_addr ipv4_address; + in6_addr ipv6_address; +@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint + QuicMakeUnique( + preferred_address); + } break; +- case kGoogleQuicParam: { ++ case TransportParameters::kGoogleQuicParam: { + if (out->google_quic_params) { + QUIC_DLOG(ERROR) << "Received a second Google parameter"; + return false; +@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint + reinterpret_cast(CBS_data(&value)), CBS_len(&value)); + out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); + } break; +- case kGoogleQuicVersion: { ++ case TransportParameters::kGoogleQuicVersion: { + if (!CBS_get_u32(&value, &out->version)) { + QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; + return false; +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 +@@ -2,10 +2,12 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-#include +- + #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" + ++#include ++#include ++#include ++ + namespace quic { + + namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch new file mode 100644 index 0000000..5e392e6 --- /dev/null +++ b/chromium-76.0.3809.100-throttling-dead-beef.patch @@ -0,0 +1,30 @@ +From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 06 Jun 2019 07:54:05 +0000 +Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t + +We are setting kAlive and kDead values assigning values that +are bigger than the maximum signed int32. It is better to use +uint32_t in this case. + +Bug: 819294 +Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666619} +--- + +diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h +index 43751c4..3c6f87b 100644 +--- a/services/network/throttling/throttling_controller.h ++++ b/services/network/throttling/throttling_controller.h +@@ -38,7 +38,7 @@ + + // TODO(https://crbug.com/960874): Debugging code to try and shed some light + // on why the owned maps are invalid. +- enum class Liveness : int32_t { ++ enum class Liveness : uint32_t { + kAlive = 0xCA11AB13, + kDead = 0xDEADBEEF, + }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch new file mode 100644 index 0000000..a392971 --- /dev/null +++ b/chromium-76.0.3809.100-weak-ptr-no-except.patch @@ -0,0 +1,66 @@ +From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 18 Jul 2019 14:26:11 +0200 +Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression + +A GCC build regression has happened on DisjointRangeLockManager, as its move +operator and constructor were declared noexcept. This was failing because the +default implementation depended on base::WeakPtr, that did not provide +noexcept declaration for them. + +So make base::WeakPtr noexcept. + +Bug: 819294 +Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 +--- + +diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc +index 64fd499..0efcc44 100644 +--- a/base/memory/weak_ptr.cc ++++ b/base/memory/weak_ptr.cc +@@ -46,7 +46,7 @@ + + WeakReference::~WeakReference() = default; + +-WeakReference::WeakReference(WeakReference&& other) = default; ++WeakReference::WeakReference(WeakReference&& other) noexcept = default; + + WeakReference::WeakReference(const WeakReference& other) = default; + +diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h +index 72b5f1f..ccd22fd13 100644 +--- a/base/memory/weak_ptr.h ++++ b/base/memory/weak_ptr.h +@@ -116,9 +116,9 @@ + explicit WeakReference(const scoped_refptr& flag); + ~WeakReference(); + +- WeakReference(WeakReference&& other); ++ WeakReference(WeakReference&& other) noexcept; + WeakReference(const WeakReference& other); +- WeakReference& operator=(WeakReference&& other) = default; ++ WeakReference& operator=(WeakReference&& other) noexcept = default; + WeakReference& operator=(const WeakReference& other) = default; + + bool IsValid() const; +@@ -153,9 +153,9 @@ + ~WeakPtrBase(); + + WeakPtrBase(const WeakPtrBase& other) = default; +- WeakPtrBase(WeakPtrBase&& other) = default; ++ WeakPtrBase(WeakPtrBase&& other) noexcept = default; + WeakPtrBase& operator=(const WeakPtrBase& other) = default; +- WeakPtrBase& operator=(WeakPtrBase&& other) = default; ++ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; + + void reset() { + ref_ = internal::WeakReference(); +@@ -236,7 +236,7 @@ + ptr_ = reinterpret_cast(t); + } + template +- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { ++ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { + // Need to cast from U* to T* to do pointer adjustment in case of multiple + // inheritance. This also enforces the "U is a T" rule. + T* t = reinterpret_cast(other.ptr_); diff --git a/chromium.spec b/chromium.spec index 602b236..383bfa9 100644 --- a/chromium.spec +++ b/chromium.spec @@ -268,6 +268,20 @@ Patch47: chromium-76.0.3809.100-gcc-vulkan.patch Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch +# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 +Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch +# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c +Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch +# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e +Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e +Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch +# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc +Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch +# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb +Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 +Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -828,6 +842,13 @@ udev. %patch47 -p1 -b .gcc-vulkan %patch48 -p1 -b .gcc-cc-no-except %patch49 -p1 -b .gcc-net-fetcher +%patch50 -p1 -b .quiche-compile-fix +%patch51 -p1 -b .throttling-dead-beef +%patch52 -p1 -b .gcc-ambigous-instantiation +%patch53 -p1 -b .weak-ptr-no-except +%patch54 -p1 -b .gcc-feature-policy-parser +%patch55 -p1 -b .gcc-hasfraction-constexpr +%patch56 -p1 -b .gcc-move-explicit-initialization # EPEL specific patches %if 0%{?rhel} == 7 From 6338de1419172f50e62e210ac3c70d2490902c4a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:38:35 +0200 Subject: [PATCH 002/171] third_party/openscreen need to be preserved --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 383bfa9..f23664a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1232,6 +1232,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %if %{freeworld} 'third_party/openh264' \ %endif + 'third_party/openscreen' \ 'third_party/opus' \ 'third_party/ots' \ 'third_party/pdfium' \ From 081e6e7deb9f6a686ff904567f5097b1a87d9b75 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:41:23 +0200 Subject: [PATCH 003/171] third_party/boringssl/linux-x86_64/crypto/third_party/sike needs to be preserved --- chromium.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index f23664a..0d575b1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1137,7 +1137,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/boringssl' \ 'third_party/boringssl/src/third_party/fiat' \ 'third_party/boringssl/src/third_party/sike' \ - 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \ + 'third_party/boringssl/linux-x86_64/crypto/third_party/sike' \ + 'third_party/boringssl/linux-aarch64/crypto/third_party/sike' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ From a848ba49241b8d9360d50f2be4660b070679bc4b Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 14 Aug 2019 09:52:16 -0400 Subject: [PATCH 004/171] loosen dependency on chromium-libs in freeworld build --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 0d575b1..bf6bdcb 100644 --- a/chromium.spec +++ b/chromium.spec @@ -730,7 +730,7 @@ Shared libraries used by chromium (and chrome-remote-desktop). Summary: Chromium media libraries built with all possible codecs Provides: chromium-libs-media = %{version}-%{release} Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version}-%{release} +Requires: chromium-libs%{_isa} = %{version} Requires(post): %{_sbindir}/update-alternatives Requires(preun): %{_sbindir}/update-alternatives From b2aa2214697a15ff6df60d075910c42368111147 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 16:52:41 +0200 Subject: [PATCH 005/171] Pulseaudio changed the API in 12.99 and we need to adapt the signatures --- chromium-76.0.3809.100-pulse-api-change.patch | 42 +++++++++++++++++++ chromium.spec | 13 +++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.100-pulse-api-change.patch diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch new file mode 100644 index 0000000..37d3dfa --- /dev/null +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -0,0 +1,42 @@ +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 +@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info + pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); + pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); + pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); +-pa_context_state_t pa_context_get_state(pa_context* c); ++pa_context_state_t pa_context_get_state(const pa_context* c); + pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); + pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); + void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* + int pa_stream_disconnect(pa_stream* s); + int pa_stream_drop(pa_stream *p); + pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); +-uint32_t pa_stream_get_device_index(pa_stream* s); ++uint32_t pa_stream_get_device_index(const pa_stream* s); + int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); +-pa_stream_state_t pa_stream_get_state(pa_stream* p); ++pa_stream_state_t pa_stream_get_state(const pa_stream* p); + pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); + pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); + pa_proplist* pa_proplist_new(void); +-int pa_proplist_contains(pa_proplist* p, const char* key); ++int pa_proplist_contains(const pa_proplist* p, const char* key); + void pa_proplist_free(pa_proplist* p); +-const char* pa_proplist_gets(pa_proplist* p, const char* key); ++const char* pa_proplist_gets(const pa_proplist* p, const char* key); + int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); +-size_t pa_stream_readable_size(pa_stream *p); ++size_t pa_stream_readable_size(const pa_stream *p); + int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); + void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); + void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); + int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); + void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); + void pa_stream_unref(pa_stream* s); +-int pa_context_errno(pa_context *c); ++int pa_context_errno(const pa_context *c); + const char* pa_strerror(int error); + pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); diff --git a/chromium.spec b/chromium.spec index bf6bdcb..f91b60b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -141,6 +141,13 @@ BuildRequires: libicu-devel >= 5.4 %global bundleharfbuzz 0 %endif +# Pulseaudio changed the API a little in 12.99.1 +%if 0%{?fedora} > 30 +%global pulseaudioapichange 1 +%else +%global pulseaudioapichange 0 +%endif + ### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) ### Note: These are for Fedora use ONLY. ### For your own distribution, please get your own set of keys. @@ -306,6 +313,8 @@ Patch202: enable-vaapi.patch Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch +# Pulseaudio changed the API a little in 12.99.1 +Patch205: chromium-76.0.3809.100-pulse-api-change.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -491,7 +500,6 @@ BuildRequires: pkgconfig(gtk+-3.0) %else BuildRequires: pkgconfig(gtk+-2.0) %endif -BuildRequires: pulseaudio-libs-devel BuildRequires: python2-devel %if 0%{?fedora} > 27 BuildRequires: python2-beautifulsoup4 @@ -871,6 +879,9 @@ udev. %endif %endif +%if 0%{?pulseaudioapichange} +%patch205 -p1 -b .pulseaudioapichange +%endif # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works From 923b51d3f2c64069f49e4f19405f4e7f5462cb45 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:17:42 +0200 Subject: [PATCH 006/171] Add missing ffmpeg file on aarch64 --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..e190296 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,6 +216,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ + libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index 4e53fd1..d6d53e4 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 From f31a3b1f0c9d88610827a22cbd6cbc8661a9a85f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:22:37 +0200 Subject: [PATCH 007/171] Update the Pulseaudio's pa_operation_get_state() signature Missed it while updating the Pulseaudio signatures. --- chromium-76.0.3809.100-pulse-api-change.patch | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch index 37d3dfa..d4e2b46 100644 --- a/chromium-76.0.3809.100-pulse-api-change.patch +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -1,7 +1,7 @@ -diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs ---- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 -+++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 -@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change 2019-08-14 23:18:59.624627870 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 23:19:41.258104998 +0200 +@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); @@ -10,6 +10,11 @@ diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change ch pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +-pa_operation_state_t pa_operation_get_state(pa_operation* o); ++pa_operation_state_t pa_operation_get_state(const pa_operation* o); + void pa_context_unref(pa_context* c); + void pa_operation_unref(pa_operation* o); + int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); @@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* int pa_stream_disconnect(pa_stream* s); int pa_stream_drop(pa_stream *p); From 170da1572c9fbe5224d94a9835b423cfa17fe7ae Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:03:49 +0200 Subject: [PATCH 008/171] Backport another upstream build fix --- ....0.3809.100-gcc-initialization-order.patch | 33 +++++++++++++++++++ chromium.spec | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch new file mode 100644 index 0000000..3bf394f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-initialization-order.patch @@ -0,0 +1,33 @@ +From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 21:09:01 +0000 +Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration + +XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the +same order of the declaration. GCC fails because of that. + +Bug: 819294 +Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 +Reviewed-by: Zhenyao Mo +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666436} +--- + +diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc +index f649dd4..0aa6892 100644 +--- a/ui/gl/gl_surface_glx.cc ++++ b/ui/gl/gl_surface_glx.cc +@@ -583,10 +583,10 @@ + + XSetWindowAttributes swa = { + .background_pixmap = 0, +- .bit_gravity = NorthWestGravity, +- .colormap = g_colormap, + .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM + .border_pixel = 0, ++ .bit_gravity = NorthWestGravity, ++ .colormap = g_colormap, + }; + auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; + if (ui::IsCompositingManagerPresent() && diff --git a/chromium.spec b/chromium.spec index f91b60b..64e3243 100644 --- a/chromium.spec +++ b/chromium.spec @@ -289,6 +289,8 @@ Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch # https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc +Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -857,6 +859,7 @@ udev. %patch54 -p1 -b .gcc-feature-policy-parser %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization +%patch57 -p1 -b .gcc-initialization-order # EPEL specific patches %if 0%{?rhel} == 7 From b01a0be49606614662f2dc0a5c7cc018c14b2ecf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:10:04 +0200 Subject: [PATCH 009/171] Upload the new cleaned tarball with aarch64 sources Previously I forgot to pass the --ffmpegarm while generating the tarball. --- clean_ffmpeg.sh | 1 - sources | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index e190296..2f27435 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,7 +216,6 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ - libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index d6d53e4..b7a420d 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 From 1196d0d541965da13ee93b40cae1dc08167faab5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 21:14:35 +0200 Subject: [PATCH 010/171] Backport and create more of the GCC fixes --- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 +++++++++++++++++++ ...0.3809.100-gcc-history-move-noexcept.patch | 42 +++++++++++++++ ...0.3809.100-gcc-no-alignas-and-export.patch | 14 +++++ ...0.3809.100-gcc-themeservice-includes.patch | 36 +++++++++++++ chromium.spec | 14 +++++ 5 files changed, 159 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-no-alignas-and-export.patch create mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..5f45a8f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,53 @@ +From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 18:38:12 +0200 +Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo + +AccountInfo declares them as noexcept and uses default implementation, +so all its members (including AccountId) should be noexcept. But AccountId +is not noexcept. To fix it we just need to make CoreAccountId move +operator/assign operator noexcept. + +Bug: 819294 +Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 +--- + +diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc +index d808082..12eefe3 100644 +--- a/google_apis/gaia/core_account_id.cc ++++ b/google_apis/gaia/core_account_id.cc +@@ -6,8 +6,16 @@ + + CoreAccountId::CoreAccountId() = default; + ++CoreAccountId::CoreAccountId(const CoreAccountId&) = default; ++ ++CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::~CoreAccountId() = default; + ++CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; ++ ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h +index 5ea602a..c2d1911 100644 +--- a/google_apis/gaia/core_account_id.h ++++ b/google_apis/gaia/core_account_id.h +@@ -14,8 +14,13 @@ + // for design and tracking). + struct CoreAccountId { + CoreAccountId(); ++ CoreAccountId(const CoreAccountId&); ++ CoreAccountId(CoreAccountId&&) noexcept; + ~CoreAccountId(); + ++ CoreAccountId& operator=(const CoreAccountId&); ++ CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing + // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch new file mode 100644 index 0000000..2876de4 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch @@ -0,0 +1,42 @@ +From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 10:27:19 +0200 +Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow + +In GCC, build is failing because history::QueryURLResult declares its move +assignment operator as noexcept using default implementation. That requires +its members to provide a move assignment operator that is noexcept too. + +But URLRow was missing noexcept declaration in move assignment operator (even +though it was providing noexcept to its move constructor). + +Bug: 819294 +Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f +--- + +diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc +index 44c22fd..aec0101 100644 +--- a/components/history/core/browser/url_row.cc ++++ b/components/history/core/browser/url_row.cc +@@ -26,7 +26,7 @@ + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) = default; ++URLRow& URLRow::operator=(URLRow&& other) noexcept = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); +diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h +index 8f6f9cf..31a1ef8 100644 +--- a/components/history/core/browser/url_row.h ++++ b/components/history/core/browser/url_row.h +@@ -35,7 +35,7 @@ + + virtual ~URLRow(); + URLRow& operator=(const URLRow& other); +- URLRow& operator=(URLRow&& other); ++ URLRow& operator=(URLRow&& other) noexcept; + + URLID id() const { return id_; } + diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch new file mode 100644 index 0000000..cc91d1e --- /dev/null +++ b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -0,0 +1,14 @@ +diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h +--- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 ++++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 +@@ -176,8 +176,8 @@ class CSSLazyPropertyParser + DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); + }; + +-class CORE_EXPORT alignas(Member) alignas( +- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet ++class CORE_EXPORT ALIGNAS(alignof(Member)) ++ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet + : public CSSPropertyValueSet { + public: + ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch new file mode 100644 index 0000000..ad40bb9 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-themeservice-includes.patch @@ -0,0 +1,36 @@ +From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 22:01:03 +0200 +Subject: [PATCH] IWYU: ThemeService requires NativeTheme + +As ThemeService referes to NativeTheme through a ScopedObserver, +the full declaration is required. + +Bug: 819294 +Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 +--- + +diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc +index d65388e2..23dc86d 100644 +--- a/chrome/browser/themes/theme_service.cc ++++ b/chrome/browser/themes/theme_service.cc +@@ -54,7 +54,6 @@ + #include "ui/gfx/color_palette.h" + #include "ui/gfx/image/image_skia.h" + #include "ui/native_theme/common_theme.h" +-#include "ui/native_theme/native_theme.h" + + #if BUILDFLAG(ENABLE_EXTENSIONS) + #include "base/scoped_observer.h" +diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h +index 6c79c72..f93dc0d 100644 +--- a/chrome/browser/themes/theme_service.h ++++ b/chrome/browser/themes/theme_service.h +@@ -25,6 +25,7 @@ + #include "extensions/buildflags/buildflags.h" + #include "extensions/common/extension_id.h" + #include "ui/base/theme_provider.h" ++#include "ui/native_theme/native_theme.h" + #include "ui/native_theme/native_theme_observer.h" + + class BrowserThemePack; diff --git a/chromium.spec b/chromium.spec index 64e3243..de9e05b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -291,6 +291,16 @@ Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch +# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 +Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c +Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 +Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +# TBD - need to submit it +# In GCC one can't use alignas() for exported classes (as described in +# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -860,6 +870,10 @@ udev. %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization %patch57 -p1 -b .gcc-initialization-order +%patch58 -p1 -b .gcc-history-move-noexcept +%patch59 -p1 -b .gcc-accountinfo-move-noexcept +%patch60 -p1 -b .gcc-themeservice-includes +%patch61 -p1 -b .gcc-no-alignas-and-export # EPEL specific patches %if 0%{?rhel} == 7 From ba2f198b9f3f9f682f22b035452537a6236294d1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 16 Aug 2019 13:58:53 +0200 Subject: [PATCH 011/171] //third_party dependency missing for remoting --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index de9e05b..f003849 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1207,6 +1207,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/google_input_tools' \ 'third_party/google_input_tools/third_party/closure_library' \ 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ + 'third_party/google_trust_services' \ 'third_party/googletest' \ 'third_party/glslang' \ 'third_party/grpc' \ From c55af60ffa59e4d4fc75644982db695826c58f54 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 21:36:06 +0200 Subject: [PATCH 012/171] Fix the build of remoting_all target --- ...76.0.3809.100-gcc-remoting-constexpr.patch | 27 +++++++++++++++++++ ...6.0.3809.100-vtable-symbol-undefined.patch | 11 ++++++++ chromium.spec | 11 +++++--- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 chromium-76.0.3809.100-gcc-remoting-constexpr.patch create mode 100644 chromium-76.0.3809.100-vtable-symbol-undefined.patch diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch new file mode 100644 index 0000000..c59702f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -0,0 +1,27 @@ +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 +@@ -9,8 +9,7 @@ + namespace remoting { + + // static +-const base::TimeDelta MessageTracker::kCleanupInterval = +- base::TimeDelta::FromMinutes(2); ++constexpr base::TimeDelta MessageTracker::kCleanupInterval; + + MessageTracker::MessageTracker() = default; + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 +@@ -36,7 +36,8 @@ class MessageTracker final { + + // All IDs older than now - kCleanupInterval will be eventually removed, but + // they are not guaranteed to be immediately removed after the interval. +- static constexpr base::TimeDelta kCleanupInterval; ++ static constexpr base::TimeDelta kCleanupInterval = ++ base::TimeDelta::FromMinutes(2); + + void RemoveExpiredIds(); + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch new file mode 100644 index 0000000..64532df --- /dev/null +++ b/chromium-76.0.3809.100-vtable-symbol-undefined.patch @@ -0,0 +1,11 @@ +diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc +--- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 ++++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 +@@ -18,6 +18,7 @@ + #include "net/quic/crypto/proof_verifier_chromium.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" ++#include "net/quic/platform/impl/quic_flags_impl.cc" + + DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, + certificate_file, diff --git a/chromium.spec b/chromium.spec index f003849..e06bcdd 100644 --- a/chromium.spec +++ b/chromium.spec @@ -297,10 +297,13 @@ Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch # https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch -# TBD - need to submit it -# In GCC one can't use alignas() for exported classes (as described in -# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +# In GCC one can't use alignas() for exported classes +# https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +# Needs to be submitted.. +Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +# Needs to be submitted.. (ugly hack, needs to be added properly to GN files) +Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -874,6 +877,8 @@ udev. %patch59 -p1 -b .gcc-accountinfo-move-noexcept %patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export +%patch62 -p1 -b .gcc-remoting-constexpr +%patch63 -p1 -b .vtable-symbol-undefined # EPEL specific patches %if 0%{?rhel} == 7 From 53c822f6be8f1d5140bb2be4d122e936f096a9a9 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 22:07:44 +0200 Subject: [PATCH 013/171] Fix the previously uploaded patch --- chromium-76.0.3809.100-gcc-remoting-constexpr.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch index c59702f..aec3107 100644 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -12,13 +12,13 @@ diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-conste MessageTracker::MessageTracker() = default; diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 +++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 @@ -36,7 +36,8 @@ class MessageTracker final { // All IDs older than now - kCleanupInterval will be eventually removed, but // they are not guaranteed to be immediately removed after the interval. -- static constexpr base::TimeDelta kCleanupInterval; +- static const base::TimeDelta kCleanupInterval; + static constexpr base::TimeDelta kCleanupInterval = + base::TimeDelta::FromMinutes(2); From cae7041976921f250979d79a53cd227247927c18 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 21 Aug 2019 13:51:11 +0200 Subject: [PATCH 014/171] Update the list of private libraries and remove a pak file that was removed --- chromium.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index e06bcdd..8a246b7 100644 --- a/chromium.spec +++ b/chromium.spec @@ -54,9 +54,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg|libfontconfig +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig %else -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia %endif %global __requires_exclude ^(%{privlibs})\\.so* @@ -1753,7 +1753,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/chrome_*.pak %{chromium_path}/resources.pak %{chromium_path}/icudtl.dat -%{chromium_path}/views_mus_resources.pak %{chromium_path}/%{chromium_browser_channel} %{chromium_path}/%{chromium_browser_channel}.sh %{chromium_path}/MEIPreload/ From b32ea8ff86ec513e9b3676232ff837e0ccd393ec Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 12 Aug 2019 17:09:21 +0200 Subject: [PATCH 015/171] Cleanup the patches --- ...res_2d_i16_neon-Make-s2-a-uint64x1_t.patch | 54 -- chromium-46.0.2490.71-notest.patch | 11 - chromium-52.0.2743.116-unset-madv_free.patch | 15 - chromium-52.0.2743.82-arm-webrtc.patch | 51 -- chromium-52.0.2743.82-master-prefs-path.patch | 15 - chromium-55.0.2883.75-sandbox-pie.patch | 30 - chromium-56.0.2924.87-fpermissive.patch | 13 - chromium-56.0.2924.87-gcc5.patch | 354 ---------- chromium-59.0.3071.115-ucontext-fix.patch | 214 ------ chromium-59.0.3071.86-ffmpeg-stdatomic.patch | 17 - chromium-59.0.3071.86-nullfix.patch | 43 -- chromium-59.0.3071.86-system-clang.patch | 10 - chromium-60.0.3112.78-gn-system.patch | 221 ------ ...um-60.0.3112.78-last-commit-position.patch | 28 - chromium-60.0.3112.78-no-zlib-mangle.patch | 13 - chromium-60.0.3112.90-vulkan-force-c99.patch | 11 - ...m-61.0.3163.79-aarch64-glibc-2.26.90.patch | 12 - ...mium-61.0.3163.79-fix-ffmpeg-aarch64.patch | 12 - chromium-61.0.3163.79-setopaque.patch | 12 - ...62.0.3202.62-correct-cplusplus-check.patch | 20 - chromium-62.0.3202.62-dde535-gcc-fix.patch | 13 - chromium-62.0.3202.62-enable-mp3.patch | 484 ------------- ...7-no-nullptr-assignment-on-StructPtr.patch | 12 - chromium-62.0.3202.62-gcc-nc.patch | 11 - chromium-62.0.3202.62-gcc7.patch | 11 - chromium-62.0.3202.62-rvalue-fix.patch | 45 -- ...m-63.0.3289.84-aarch64-glibc-2.26.90.patch | 12 - chromium-63.0.3289.84-enable-mp3.patch | 485 ------------- ...mium-63.0.3289.84-fix-ffmpeg-aarch64.patch | 12 - ...mium-63.0.3289.84-fix-ft-hb-unbundle.patch | 36 - chromium-63.0.3289.84-gcc-round-fix.patch | 11 - chromium-63.0.3289.84-gcc5-r3.patch | 104 --- chromium-63.0.3289.84-nolibc++.patch | 15 - chromium-63.0.3289.84-setopaque.patch | 12 - chromium-64.0.3282.119-enable-mp3.patch | 54 -- ...mium-64.0.3282.119-gcc-constexpr-fix.patch | 70 -- chromium-64.0.3282.119-gcc-round-fix.patch | 12 - chromium-64.0.3282.119-gcc5-r3.patch | 75 -- chromium-64.0.3282.119-gcc5.patch | 57 -- chromium-64.0.3282.119-gcc7.patch | 11 - chromium-64.0.3282.119-memcpy-fix.patch | 11 - chromium-64.0.3282.167-gcc8-fabi11.patch | 15 - ...x-non-copyable-class-s-optional-move.patch | 41 -- ...-methods-String-renamed-to-GetString.patch | 108 --- ...eProvider-Settings-do-not-provide-co.patch | 22 - ...se-Optional-T-requires-the-full-decl.patch | 33 - ...std-move-to-base-Optional-instead-of.patch | 24 - ...-declare-ConfigurationPolicyProvider.patch | 18 - ...ional-copy-move-ctors-assign-operato.patch | 91 --- ...verting-constructors-from-Optional-U.patch | 116 ---- ...-Implement-value-forward-constructor.patch | 72 -- ...e-non-copy-non-move-assign-operators.patch | 144 ---- ...irmative-expression-in-base-Optional.patch | 265 ------- chromium-65.0.3325.146-gcc5-r3.patch | 74 -- chromium-65.0.3325.146-gcc7.patch | 11 - ...trivially_copy_constructable-failure.patch | 55 -- ...Remove-GC-checks-from-WTF-Optional-T.patch | 61 -- chromium-65.0.3325.146-wtf-vector-fix.patch | 54 -- chromium-65.0.3325.162-boolfix.patch | 36 - chromium-65.0.3325.162-epel7-stdc++.patch | 12 - ...-65.0.3325.162-skia-aarch64-buildfix.patch | 21 - ...se-Optional-T-requires-the-full-decl.patch | 33 - ...nitializer-list-for-NoDestructor-of-.patch | 12 - ....0.3359.117-gcc-copy-constructor-fix.patch | 49 -- ...6.0.3359.117-gcc-optional-move-fixes.patch | 45 -- ....117-gcc-vector-copy-constructor-fix.patch | 53 -- chromium-66.0.3359.117-gcc5-r3.patch | 38 - chromium-66.0.3359.117-nounrar.patch | 16 - chromium-66.0.3359.139-arm-init-fix.patch | 12 - chromium-66.0.3359.170-gcc8-alignof.patch | 18 - chromium-67.0.3396.62-boolfix.patch | 36 - ....0.3396.62-crashpad-aarch64-buildfix.patch | 13 - ....62-epel7-use-old-python-exec-syntax.patch | 12 - ...m-67.0.3396.62-skia-aarch64-buildfix.patch | 21 - chromium-67.0.3396.87-fedora-user-agent.patch | 12 - chromium-67.0.3396.99-py2-bootstrap.patch | 42 -- ...mium-68.0.3440.106-fedora-user-agent.patch | 12 - ...440.106-fix-build-networking_private.patch | 12 - chromium-68.0.3440.106-notest.patch | 11 - chromium-68.0.3440.84-cors-string.patch | 51 -- chromium-68.0.3440.84-libjpeg.patch | 62 -- chromium-68.0.3440.84-libwebp-shim.patch | 43 -- chromium-68.0.3440.84-move-unique-ptr.patch | 65 -- chromium-69.0.3497.81-gcc8-alignof.patch | 18 - chromium-69.0.3497.81-norar.patch | 79 --- chromium-69.0.3497.81-py2-bootstrap.patch | 33 - chromium-69.0.3497.81-widevine-r2.patch | 23 - ...70.0.3538.110-remove-sysroot-options.patch | 23 - chromium-70.0.3538.77-harfbuzz2-fix.patch | 80 --- chromium-71-gcc-0.patch | 57 -- chromium-71.0.3578.98-el7-fix-noexcept.patch | 48 -- chromium-71.0.3578.98-norar.patch | 79 --- ...-71.0.3578.98-remove-sysroot-options.patch | 23 - ...0.3578.98-vaapi-libva1-compatibility.patch | 14 - chromium-72.0.3626.121-fix-va-check.patch | 29 - chromium-72.0.3626.121-norar.patch | 79 --- chromium-73-gcc-0.patch | 108 --- chromium-73-gcc-1.patch | 99 --- chromium-73-gcc-2.patch | 51 -- chromium-73-gcc-3.patch | 69 -- chromium-73-gcc-4.patch | 59 -- chromium-73-gcc-5.patch | 65 -- chromium-73-gcc-6.patch | 88 --- ...73.0.3683.103-glibc-2.29-clone-vfork.patch | 29 - ...73.0.3683.75-aarch64-crashpad-limits.patch | 11 - chromium-73.0.3683.75-el7-fix-noexcept.patch | 54 -- chromium-73.0.3683.75-no-header-hygiene.patch | 17 - chromium-gcc5-r3.patch | 98 --- chromium-gcc8-r588316.patch | 98 --- chromium-gcc8-r588547.patch | 30 - chromium-gcc8-r589614.patch | 37 - chromium-gcc8-r591015.patch | 70 -- chromium-gn-bootstrap-r17.patch | 68 -- chromium-math.h-r0.patch | 29 - chromium-stdint.patch | 21 - chromium.spec | 417 +++++------ relax-libva-version.patch | 56 -- revert-gn-4960.patch | 655 ------------------ revert-gn-4980.patch | 134 ---- 119 files changed, 174 insertions(+), 7424 deletions(-) delete mode 100644 0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch delete mode 100644 chromium-46.0.2490.71-notest.patch delete mode 100644 chromium-52.0.2743.116-unset-madv_free.patch delete mode 100644 chromium-52.0.2743.82-arm-webrtc.patch delete mode 100644 chromium-52.0.2743.82-master-prefs-path.patch delete mode 100644 chromium-55.0.2883.75-sandbox-pie.patch delete mode 100644 chromium-56.0.2924.87-fpermissive.patch delete mode 100644 chromium-56.0.2924.87-gcc5.patch delete mode 100644 chromium-59.0.3071.115-ucontext-fix.patch delete mode 100644 chromium-59.0.3071.86-ffmpeg-stdatomic.patch delete mode 100644 chromium-59.0.3071.86-nullfix.patch delete mode 100644 chromium-59.0.3071.86-system-clang.patch delete mode 100644 chromium-60.0.3112.78-gn-system.patch delete mode 100644 chromium-60.0.3112.78-last-commit-position.patch delete mode 100644 chromium-60.0.3112.78-no-zlib-mangle.patch delete mode 100644 chromium-60.0.3112.90-vulkan-force-c99.patch delete mode 100644 chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch delete mode 100644 chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch delete mode 100644 chromium-61.0.3163.79-setopaque.patch delete mode 100644 chromium-62.0.3202.62-correct-cplusplus-check.patch delete mode 100644 chromium-62.0.3202.62-dde535-gcc-fix.patch delete mode 100644 chromium-62.0.3202.62-enable-mp3.patch delete mode 100644 chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch delete mode 100644 chromium-62.0.3202.62-gcc-nc.patch delete mode 100644 chromium-62.0.3202.62-gcc7.patch delete mode 100644 chromium-62.0.3202.62-rvalue-fix.patch delete mode 100644 chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch delete mode 100644 chromium-63.0.3289.84-enable-mp3.patch delete mode 100644 chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch delete mode 100644 chromium-63.0.3289.84-fix-ft-hb-unbundle.patch delete mode 100644 chromium-63.0.3289.84-gcc-round-fix.patch delete mode 100644 chromium-63.0.3289.84-gcc5-r3.patch delete mode 100644 chromium-63.0.3289.84-nolibc++.patch delete mode 100644 chromium-63.0.3289.84-setopaque.patch delete mode 100644 chromium-64.0.3282.119-enable-mp3.patch delete mode 100644 chromium-64.0.3282.119-gcc-constexpr-fix.patch delete mode 100644 chromium-64.0.3282.119-gcc-round-fix.patch delete mode 100644 chromium-64.0.3282.119-gcc5-r3.patch delete mode 100644 chromium-64.0.3282.119-gcc5.patch delete mode 100644 chromium-64.0.3282.119-gcc7.patch delete mode 100644 chromium-64.0.3282.119-memcpy-fix.patch delete mode 100644 chromium-64.0.3282.167-gcc8-fabi11.patch delete mode 100644 chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch delete mode 100644 chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch delete mode 100644 chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch delete mode 100644 chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch delete mode 100644 chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch delete mode 100644 chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch delete mode 100644 chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch delete mode 100644 chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch delete mode 100644 chromium-65.0.3325.146-Implement-value-forward-constructor.patch delete mode 100644 chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch delete mode 100644 chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch delete mode 100644 chromium-65.0.3325.146-gcc5-r3.patch delete mode 100644 chromium-65.0.3325.146-gcc7.patch delete mode 100644 chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch delete mode 100644 chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch delete mode 100644 chromium-65.0.3325.146-wtf-vector-fix.patch delete mode 100644 chromium-65.0.3325.162-boolfix.patch delete mode 100644 chromium-65.0.3325.162-epel7-stdc++.patch delete mode 100644 chromium-65.0.3325.162-skia-aarch64-buildfix.patch delete mode 100644 chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch delete mode 100644 chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch delete mode 100644 chromium-66.0.3359.117-gcc-copy-constructor-fix.patch delete mode 100644 chromium-66.0.3359.117-gcc-optional-move-fixes.patch delete mode 100644 chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch delete mode 100644 chromium-66.0.3359.117-gcc5-r3.patch delete mode 100644 chromium-66.0.3359.117-nounrar.patch delete mode 100644 chromium-66.0.3359.139-arm-init-fix.patch delete mode 100644 chromium-66.0.3359.170-gcc8-alignof.patch delete mode 100644 chromium-67.0.3396.62-boolfix.patch delete mode 100644 chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch delete mode 100644 chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch delete mode 100644 chromium-67.0.3396.62-skia-aarch64-buildfix.patch delete mode 100644 chromium-67.0.3396.87-fedora-user-agent.patch delete mode 100644 chromium-67.0.3396.99-py2-bootstrap.patch delete mode 100644 chromium-68.0.3440.106-fedora-user-agent.patch delete mode 100644 chromium-68.0.3440.106-fix-build-networking_private.patch delete mode 100644 chromium-68.0.3440.106-notest.patch delete mode 100644 chromium-68.0.3440.84-cors-string.patch delete mode 100644 chromium-68.0.3440.84-libjpeg.patch delete mode 100644 chromium-68.0.3440.84-libwebp-shim.patch delete mode 100644 chromium-68.0.3440.84-move-unique-ptr.patch delete mode 100644 chromium-69.0.3497.81-gcc8-alignof.patch delete mode 100644 chromium-69.0.3497.81-norar.patch delete mode 100644 chromium-69.0.3497.81-py2-bootstrap.patch delete mode 100644 chromium-69.0.3497.81-widevine-r2.patch delete mode 100644 chromium-70.0.3538.110-remove-sysroot-options.patch delete mode 100644 chromium-70.0.3538.77-harfbuzz2-fix.patch delete mode 100644 chromium-71-gcc-0.patch delete mode 100644 chromium-71.0.3578.98-el7-fix-noexcept.patch delete mode 100644 chromium-71.0.3578.98-norar.patch delete mode 100644 chromium-71.0.3578.98-remove-sysroot-options.patch delete mode 100644 chromium-71.0.3578.98-vaapi-libva1-compatibility.patch delete mode 100644 chromium-72.0.3626.121-fix-va-check.patch delete mode 100644 chromium-72.0.3626.121-norar.patch delete mode 100644 chromium-73-gcc-0.patch delete mode 100644 chromium-73-gcc-1.patch delete mode 100644 chromium-73-gcc-2.patch delete mode 100644 chromium-73-gcc-3.patch delete mode 100644 chromium-73-gcc-4.patch delete mode 100644 chromium-73-gcc-5.patch delete mode 100644 chromium-73-gcc-6.patch delete mode 100644 chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch delete mode 100644 chromium-73.0.3683.75-aarch64-crashpad-limits.patch delete mode 100644 chromium-73.0.3683.75-el7-fix-noexcept.patch delete mode 100644 chromium-73.0.3683.75-no-header-hygiene.patch delete mode 100644 chromium-gcc5-r3.patch delete mode 100644 chromium-gcc8-r588316.patch delete mode 100644 chromium-gcc8-r588547.patch delete mode 100644 chromium-gcc8-r589614.patch delete mode 100644 chromium-gcc8-r591015.patch delete mode 100644 chromium-gn-bootstrap-r17.patch delete mode 100644 chromium-math.h-r0.patch delete mode 100644 chromium-stdint.patch delete mode 100644 relax-libva-version.patch delete mode 100644 revert-gn-4960.patch delete mode 100644 revert-gn-4980.patch diff --git a/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch b/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch deleted file mode 100644 index f73ded3..0000000 --- a/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch +++ /dev/null @@ -1,54 +0,0 @@ -Upstream-Status: Submitted - -GCC aarch64 build fix [this is actually a libvpx patch, not a Chromium one] - -Sent to: https://chromium-review.googlesource.com/c/webm/libvpx/+/1136449 - -Signed-off-by: Raphael Kubo da Costa ---- -From c20bd394f18c47bf133b51d6a40399273c3f24e0 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 13 Jul 2018 14:29:09 +0200 -Subject: [PATCH] vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t. - -This fixes the build with at least GCC 7.3, where it was previously failing -with: - -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon': -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:5: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts - s2 = vpaddl_u32(s1); - ^~ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' - s2 = vpaddl_u32(s1); - ^ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:81:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' - s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1)); - ^ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:84:24: error: incompatible type for argument 1 of 'vget_lane_u64' - return vget_lane_u64(s2, 0); - ^~ - -The generated assembly was verified to remain identical with both GCC and -LLVM. - -Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac ---- - vpx_dsp/arm/sum_squares_neon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vpx_dsp/arm/sum_squares_neon.c b/vpx_dsp/arm/sum_squares_neon.c -index 8942ba83b..cfefad993 100644 ---- a/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c -+++ b/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c -@@ -14,7 +14,7 @@ - #include "./vpx_dsp_rtcd.h" - - uint64_t vpx_sum_squares_2d_i16_neon(const int16_t *src, int stride, int size) { -- int64x1_t s2; -+ uint64x1_t s2; - - if (size == 4) { - int16x4_t s[4]; --- -2.14.4 - diff --git a/chromium-46.0.2490.71-notest.patch b/chromium-46.0.2490.71-notest.patch deleted file mode 100644 index e4e3448..0000000 --- a/chromium-46.0.2490.71-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd ---- chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest 2015-10-16 02:01:56.644149741 -0400 -+++ chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd 2015-10-16 02:02:36.217285227 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-52.0.2743.116-unset-madv_free.patch b/chromium-52.0.2743.116-unset-madv_free.patch deleted file mode 100644 index 2867c79..0000000 --- a/chromium-52.0.2743.116-unset-madv_free.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp ---- chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free 2016-08-15 13:07:29.279655676 -0400 -+++ chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-15 13:08:38.447317416 -0400 -@@ -41,6 +41,11 @@ - #include - #include - -+#if OS(LINUX) && defined(MADV_FREE) -+// Added in Linux 4.5, but it breaks the sandbox. -+#undef MADV_FREE -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif diff --git a/chromium-52.0.2743.82-arm-webrtc.patch b/chromium-52.0.2743.82-arm-webrtc.patch deleted file mode 100644 index f1a6629..0000000 --- a/chromium-52.0.2743.82-arm-webrtc.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -up chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc ---- chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc 2016-08-03 09:30:53.922861020 +0200 -+++ chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc 2016-08-03 09:32:00.337498174 +0200 -@@ -18,6 +18,47 @@ - - #include "webrtc/typedefs.h" - -+#include -+#ifdef __arm__ -+#include -+#include -+#include -+#include -+#endif -+ -+#ifdef __arm__ -+uint64_t WebRtc_GetCPUFeaturesARM() { -+ static bool detected = false; -+ static uint64_t have_neon = 0; -+ -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ if (!detected) { -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ fd = open("/proc/self/auxv", O_RDONLY); -+ if (fd >= 0) { -+ while (read(fd, &auxv, sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) { -+ if (auxv.a_type == AT_HWCAP) { -+ have_neon = (auxv.a_un.a_val & HWCAP_NEON) ? kCPUFeatureNEON : 0; -+ break; -+ } -+ } -+ close (fd); -+ } else { -+ have_neon = 0; -+ } -+ detected = true; -+ } -+ -+ return 0 | have_neon; // others here as we need them -+} -+#endif -+ - // No CPU feature is available => straight C path. - int GetCPUInfoNoASM(CPUFeature feature) { - (void)feature; diff --git a/chromium-52.0.2743.82-master-prefs-path.patch b/chromium-52.0.2743.82-master-prefs-path.patch deleted file mode 100644 index 6ddd26f..0000000 --- a/chromium-52.0.2743.82-master-prefs-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc 2016-08-03 10:15:57.980692109 +0200 -+++ chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc 2016-08-03 10:16:44.553325229 +0200 -@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { - - base::FilePath MasterPrefsPath() { - // The standard location of the master prefs is next to the chrome binary. -+ // ...but we patch it to use /etc/chromium - base::FilePath master_prefs; -- if (!PathService::Get(base::DIR_EXE, &master_prefs)) -- return base::FilePath(); -+ master_prefs = base::FilePath("/etc/chromium"); - return master_prefs.AppendASCII(installer::kDefaultMasterPrefs); - } - diff --git a/chromium-55.0.2883.75-sandbox-pie.patch b/chromium-55.0.2883.75-sandbox-pie.patch deleted file mode 100644 index 6aae0b0..0000000 --- a/chromium-55.0.2883.75-sandbox-pie.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie chromium-55.0.2883.75/sandbox/linux/BUILD.gn ---- chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie 2016-12-01 18:02:17.000000000 -0500 -+++ chromium-55.0.2883.75/sandbox/linux/BUILD.gn 2016-12-12 16:26:06.863426221 -0500 -@@ -279,11 +279,17 @@ if (is_linux) { - # For ULLONG_MAX - "-std=gnu99", - -+ "-fPIE", -+ - # These files have a suspicious comparison. - # TODO fix this and re-enable this warning. - "-Wno-sign-compare", - ] - -+ ldflags = [ -+ "-pie", -+ ] -+ - import("//build/config/compiler/compiler.gni") - import("//build/config/sanitizers/sanitizers.gni") - if (is_component_build || using_sanitizer) { -@@ -293,7 +299,7 @@ if (is_linux) { - # other flags that executable_config might have. - configs -= [ "//build/config:executable_config" ] - if (!use_gold) { -- ldflags = [ "-Wl,--disable-new-dtags" ] -+ ldflags += [ "-Wl,--disable-new-dtags" ] - } - } - diff --git a/chromium-56.0.2924.87-fpermissive.patch b/chromium-56.0.2924.87-fpermissive.patch deleted file mode 100644 index be68cf9..0000000 --- a/chromium-56.0.2924.87-fpermissive.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn ---- chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive 2017-02-13 12:32:23.419665971 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn 2017-02-13 12:33:16.146629190 -0500 -@@ -54,6 +54,9 @@ config("config") { - cflags = [] - defines = [] - -+ # error: there are no arguments to 'swapAnchor' that depend on a template parameter, so a declaration of 'swapAnchor' must be available [-fpermissive] -+ cflags += [ "-fpermissive" ] -+ - if (is_win) { - cflags += [ - "/wd4305", # Truncation from 'type1' to 'type2'. diff --git a/chromium-56.0.2924.87-gcc5.patch b/chromium-56.0.2924.87-gcc5.patch deleted file mode 100644 index 902f92b..0000000 --- a/chromium-56.0.2924.87-gcc5.patch +++ /dev/null @@ -1,354 +0,0 @@ -diff -up chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc ---- chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 2017-02-01 21:03:47.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2017-02-09 10:38:38.319790897 -0500 -@@ -165,8 +165,8 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - // state[16 + 2] 0x000000 Byte 2 of 3 (relative offsets) - X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, - X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, ---14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14, ---14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14, -+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, -+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, - - // state[17 + 2] 0x0031c0 Byte 3 of 3 (property) - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -@@ -259,10 +259,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,229,229, 3,208, 0,229, 5, 233, 0,229,229,229,208,229,229, - - // state[32 + 2] 0x002000 Byte 2 of 3 (relative offsets) ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, - - // state[33 + 2] 0x003780 Byte 3 of 3 (property) - 229,208,229,229,208,229,229,229, 208,208,208,208,208, 4, 6,208, -@@ -355,10 +355,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 228,229,229,229,229,233,233, 6, 208,229, 3,229,233, 6, 6, 0, - - // state[48 + 2] 0x001000 Byte 2 of 3 (relative offsets) ---46,-46,-46,-46,-42,-41,-40,-39, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, - - // state[49 + 2] 0x003b40 Byte 3 of 3 (property) - 6,227,208,233,208, 3, 3,208, 208,229, 0,229,233,219, 0, 6, -@@ -451,10 +451,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,208,208,208,217,208,229,229, 229,229,208,217,208,229,229,229, - - // state[64 + 2] 0x003000 Byte 2 of 3 (relative offsets) ---54,-53,-52,-51,-50,-58,-49,-47, -62,-62,-62,-62,-62,-62,-62,-62, ---46,-45,-44,-43,-42,-41,-40,-39, -38,-37,-36,-35,-34,-33,-31,-30, ---29,-28,-27,-26,-25,-24,-23,-22, -21,-20,-19,-18,-17,-15,-14,-13, ---12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, -+(uint8)-54,(uint8)-53,(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-58,(uint8)-49,(uint8)-47, (uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62, -+(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-38,(uint8)-37,(uint8)-36,(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30, -+(uint8)-29,(uint8)-28,(uint8)-27,(uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22, (uint8)-21,(uint8)-20,(uint8)-19,(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13, -+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, - - // state[65 + 2] 0x003f00 Byte 3 of 3 (property) - 217,217,208, 3,208,217,208,208, 6,229,208,228,229,229,208,229, -@@ -547,10 +547,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,208,229,229,208,229,233, 0, 208,208,229,208,227,229,229,229, - - // state[80 + 2] 0x004000 Byte 2 of 3 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, -- 38, 39, 40, 41, 42, 43, 44,-78, 45, 46, 47, 48, 49, 50, 51, 52, -+ 38, 39, 40, 41, 42, 43, 44,(uint8)-78, 45, 46, 47, 48, 49, 50, 51, 52, - - // state[81 + 2] 0x0042c0 Byte 3 of 3 (property) - 229, 0,229,229,229, 3, 4, 4, 229,229,229,229,208,229, 0,208, -@@ -931,7 +931,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0,142, 98, 28,117,206,212,212, 220, 15, 0,231,199,231,111, 28, - - // state[144 + 2] 0x005000 Byte 2 of 3 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -@@ -1315,7 +1315,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 16, 15,211,118, 0,231, 68,231, 0, 99,161, 0,115,221,144,140, - - // state[208 + 2] 0x006000 Byte 2 of 3 (relative offsets) ---10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, -+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -@@ -1699,7 +1699,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 119, 16, 51, 0, 0, 68,136, 72, 144,118, 87,201,191,136, 78,233, - - // state[272 + 2] 0x007000 Byte 2 of 3 (relative offsets) -- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, -+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -@@ -2083,7 +2083,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 212,212, 0,126,140,220,220, 0, 0, 0,127,118,106, 0,199, 0, - - // state[336 + 2] 0x008000 Byte 2 of 3 (relative offsets) -- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -@@ -2467,7 +2467,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0,122, 0,231,100,232, 0, 0, 117, 0,206,231, 0, 0,231, 0, - - // state[400 + 2] 0x009000 Byte 2 of 3 (relative offsets) -- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -@@ -2851,10 +2851,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - // state[464 + 2] 0x00a000 Byte 2 of 3 (relative offsets) -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, - - // state[465 + 2] 0x000080 Byte 2 of 2 (property) - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -@@ -2947,10 +2947,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208,208,208, 5, 6,208, 2, 0, 6, 6, 5,208,208,208, 6, - - // state[480 + 2] 0x00b000 Byte 2 of 3 (relative offsets) ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, - - // state[481 + 2] 0x020100 Byte 4 of 4 (property) - 2, 6, 5, 6, 5,229, 5,208, 208,208,208,208,208,208,208,229, -@@ -3043,10 +3043,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 5,208,208, 2, 229, 5, 5, 5, 5, 5, 6,208, - - // state[496 + 2] 0x00d000 Byte 2 of 3 (relative offsets) ---35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-35,-35, ---35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-34,-33, ---33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33, ---33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33, -+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, -+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-34,(uint8)-33, -+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, -+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, - - // state[497 + 2] 0x0204c0 Byte 4 of 4 (property) - 2, 2, 5, 5, 5, 2,208, 2, 5, 5, 6,208,208, 5, 5, 5, -@@ -3139,10 +3139,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 5, 5, 6, 6, 208,208, 2,208,208,208,208,208, - - // state[512 + 2] 0x00f000 Byte 2 of 3 (relative offsets) ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47, ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47, ---47,-47,-47,-47,-46,-45,-44,-43, -42,-41,-44,-40,-47,-47,-47,-47, ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-39,-38,-37, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43, (uint8)-42,(uint8)-41,(uint8)-44,(uint8)-40,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-39,(uint8)-38,(uint8)-37, - - // state[513 + 2] 0x020880 Byte 4 of 4 (property) - 5, 5, 5, 6,208,208,208,208, 208,208, 5, 5, 6, 6,208,208, -@@ -3235,10 +3235,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 6,208,218,208,208,208,218, 208, 6,227,229, 6, 6, 6,208, - - // state[528 + 2] 0x020000 Byte 3 of 4 (relative offsets) ---52,-51,-50,-49,-47,-46,-45,-44, -43,-42,-41,-40,-39,-38,-37,-36, ---35,-34,-33,-31,-30,-29,-28,-27, -26,-25,-24,-23,-22,-21,-20,-19, ---18,-17,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -- -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -+(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-49,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44, (uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39,(uint8)-38,(uint8)-37,(uint8)-36, -+(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,(uint8)-29,(uint8)-28,(uint8)-27, (uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22,(uint8)-21,(uint8)-20,(uint8)-19, -+(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, -+ (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - - // state[529 + 2] 0x020c40 Byte 4 of 4 (property) - 227, 5, 5, 5, 2, 2, 2, 2, 213, 2, 2, 2, 2, 2,208, 6, -@@ -3427,7 +3427,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208,208,208,208,208,208,208, 208, 6, 6, 6, 6, 2, 5, 5, - - // state[560 + 2] 0x021000 Byte 3 of 4 (relative offsets) ---16,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, -+(uint8)-16,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -@@ -3811,7 +3811,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 6, 6, 6, 5,208, 208,229,208,208, 5, 5, 5, 5, - - // state[624 + 2] 0x022000 Byte 3 of 4 (relative offsets) ---15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, -+(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -@@ -4195,7 +4195,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 6, 6, 4, 5,208,208,208,208, 208,208,229, 6, 5, 6, 6, 6, - - // state[688 + 2] 0x023000 Byte 3 of 4 (relative offsets) ---14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, -+(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -@@ -4579,7 +4579,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 5, 5, 5, 5, 6, 208,208,208,208,208,208, 6, 6, - - // state[752 + 2] 0x024000 Byte 3 of 4 (relative offsets) ---13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, -+(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -@@ -4963,7 +4963,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 6,229, - - // state[816 + 2] 0x025000 Byte 3 of 4 (relative offsets) ---12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, -+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -@@ -5347,7 +5347,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 3, 6,229,208,208,229, - - // state[880 + 2] 0x026000 Byte 3 of 4 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -@@ -5731,7 +5731,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208, 6, 6,208,208,208,208,208, 6, 6, 6,216, 5, 5, 5, 5, - - // state[944 + 2] 0x027000 Byte 3 of 4 (relative offsets) ---10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, -+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -@@ -6115,7 +6115,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 6,208,208, 6, 6, 208,229,208,208,208, 5, 5, 5, - - // state[1008 + 2] 0x028000 Byte 3 of 4 (relative offsets) -- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, -+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -@@ -6499,7 +6499,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 6,208,208, 5, 208,208,208, 6,208, 6,208,208, - - // state[1072 + 2] 0x029000 Byte 3 of 4 (relative offsets) -- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -@@ -6883,7 +6883,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,229,229,229,208,208,208,229, 208,208,208,229, 0,229,208,208, - - // state[1136 + 2] 0x02a000 Byte 3 of 4 (relative offsets) -- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, -@@ -7075,10 +7075,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - - // state[1168 + 2] 0x02f000 Byte 3 of 4 (relative offsets) -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -- -8, -7, -6, -5, -4, -3, -2, -1, 1, -9, -9, -9, -9, -9, -9, -9, -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, - - // state[1169 + 2] 0x02fa00 Byte 4 of 4 (property) - 217, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,217, 5, 5, -diff -up chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2017-02-01 21:03:57.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2017-02-09 10:38:38.380789675 -0500 -@@ -265,7 +265,7 @@ interface WebGL2RenderingContextBase - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h ---- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h 2017-02-09 10:38:38.387789535 -0500 -@@ -49,7 +49,7 @@ class NodeFilter final : public GarbageC - * to the value of NodeType for the equivalent node type. - */ - enum { -- kShowAll = 0xFFFFFFFF, -+ kShowAll = 256 /* 0xFFFFFFFF */, - kShowElement = 0x00000001, - kShowAttribute = 0x00000002, - kShowText = 0x00000004, -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl ---- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl 2017-02-09 10:38:38.394789395 -0500 -@@ -30,7 +30,7 @@ - const unsigned short FILTER_SKIP = 3; - - // Constants for whatToShow -- const unsigned long SHOW_ALL = 0xFFFFFFFF; -+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF - const unsigned long SHOW_ELEMENT = 0x1; - const unsigned long SHOW_ATTRIBUTE = 0x2; // historical - const unsigned long SHOW_TEXT = 0x4; -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl ---- chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2017-02-09 11:07:32.828682863 -0500 -@@ -239,7 +239,7 @@ typedef unsigned long long GLuint64; - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -@@ -269,7 +269,7 @@ typedef unsigned long long GLuint64; - const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; - const GLenum MAX_ELEMENT_INDEX = 0x8D6B; - const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; -- const GLint TIMEOUT_IGNORED = -1; -+ const GLint TIMEOUT_IGNORED = 256; - - /* WebGL-specific enums */ - const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247; diff --git a/chromium-59.0.3071.115-ucontext-fix.patch b/chromium-59.0.3071.115-ucontext-fix.patch deleted file mode 100644 index 96bfadb..0000000 --- a/chromium-59.0.3071.115-ucontext-fix.patch +++ /dev/null @@ -1,214 +0,0 @@ -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix 2017-07-12 15:23:33.019591380 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc 2017-07-12 15:32:52.069197546 -0400 -@@ -36,19 +36,19 @@ namespace google_breakpad { - - // Minidump defines register structures which are different from the raw - // structures which we get from the kernel. These are platform specific --// functions to juggle the ucontext and user structures into minidump format. -+// functions to juggle the ucontext_t and user structures into minidump format. - - #if defined(__i386__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_ESP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_EIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__x86_64) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RSP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__ARM_EABI__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - out->context_flags = MD_CONTEXT_ARM_FULL; - - out->iregs[0] = uc->uc_mcontext.arm_r0; -@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__aarch64__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs) { - out->context_flags = MD_CONTEXT_ARM64_FULL; - -@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__mips__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - #if _MIPS_SIM == _ABI64 - out->context_flags = MD_CONTEXT_MIPS64_FULL; - #elif _MIPS_SIM == _ABIO32 -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ---- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix 2017-07-12 15:33:08.486806743 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h 2017-07-12 15:33:57.299644808 -0400 -@@ -39,23 +39,23 @@ - - namespace google_breakpad { - --// Wraps platform-dependent implementations of accessors to ucontext structs. -+// Wraps platform-dependent implementations of accessors to ucontext_t structs. - struct UContextReader { -- static uintptr_t GetStackPointer(const struct ucontext* uc); -+ static uintptr_t GetStackPointer(const ucontext_t* uc); - -- static uintptr_t GetInstructionPointer(const struct ucontext* uc); -+ static uintptr_t GetInstructionPointer(const ucontext_t* uc); - -- // Juggle a arch-specific ucontext into a minidump format -+ // Juggle a arch-specific ucontext_t into a minidump format - // out: the minidump structure - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp); - #elif defined(__aarch64__) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); - #else -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); - #endif - }; - -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix 2017-07-12 15:34:09.094364048 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc 2017-07-12 15:35:36.483283853 -0400 -@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int - // Fill in all the holes in the struct to make Valgrind happy. - memset(&g_crash_context_, 0, sizeof(g_crash_context_)); - memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); -- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); -+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); - #if defined(__aarch64__) -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = - (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { -@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int - } - #elif !defined(__ARM_EABI__) && !defined(__mips__) - // FP state is not part of user ABI on ARM Linux. -- // In case of MIPS Linux FP state is already part of struct ucontext -+ // In case of MIPS Linux FP state is already part of ucontext_t - // and 'float_state' is not a member of CrashContext. -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - if (uc_ptr->uc_mcontext.fpregs) { - memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, - sizeof(g_crash_context_.float_state)); -@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDel - // ExceptionHandler::HandleSignal(). - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); -- struct ucontext context; -+ ucontext_t context; - getcontext(&context); - return HandleSignal(sig, &siginfo, &context); - } -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h ---- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix 2017-07-12 15:35:48.559996380 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h 2017-07-12 15:36:32.615948562 -0400 -@@ -191,11 +191,11 @@ class ExceptionHandler { - struct CrashContext { - siginfo_t siginfo; - pid_t tid; // the crashing thread. -- struct ucontext context; -+ ucontext_t context; - #if !defined(__ARM_EABI__) && !defined(__mips__) - // #ifdef this out because FP state is not part of user ABI for Linux ARM. - // In case of MIPS Linux FP state is already part of struct -- // ucontext so 'float_state' is not required. -+ // ucontext_t so 'float_state' is not required. - fpstate_t float_state; - #endif - }; -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix 2017-07-12 15:37:26.232674196 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc 2017-07-12 15:37:39.032369973 -0400 -@@ -579,7 +579,7 @@ class MicrodumpWriter { - - void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } - -- const struct ucontext* const ucontext_; -+ const ucontext_t* const ucontext_; - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; - #endif -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix 2017-07-12 15:37:54.041013246 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc 2017-07-12 15:38:19.600405748 -0400 -@@ -1323,7 +1323,7 @@ class MinidumpWriter { - const int fd_; // File descriptor where the minidum should be written. - const char* path_; // Path to the file where the minidum should be written. - -- const struct ucontext* const ucontext_; // also from the signal handler -+ const ucontext_t* const ucontext_; // also from the signal handler - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; // ditto - #endif diff --git a/chromium-59.0.3071.86-ffmpeg-stdatomic.patch b/chromium-59.0.3071.86-ffmpeg-stdatomic.patch deleted file mode 100644 index a512513..0000000 --- a/chromium-59.0.3071.86-ffmpeg-stdatomic.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c ---- chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2017-06-07 17:15:24.993945430 -0400 -+++ chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c 2017-06-07 17:18:41.625997601 -0400 -@@ -17,7 +17,13 @@ - */ - - #include -+// GCC 4.8 didn't have stdatomic, but was advertising it. -+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 -+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) -+#include -+#else - #include -+#endif - - #include "cpu.h" - #include "cpu_internal.h" diff --git a/chromium-59.0.3071.86-nullfix.patch b/chromium-59.0.3071.86-nullfix.patch deleted file mode 100644 index 20e9d18..0000000 --- a/chromium-59.0.3071.86-nullfix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn ---- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix 2017-06-05 15:03:01.000000000 -0400 -+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:32:43.531911624 -0400 -@@ -31,6 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm64" -@@ -49,6 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm" -@@ -91,6 +93,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -136,6 +139,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -161,6 +165,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "mipsel-linux-gnu-readelf" - nm = "mipsel-linux-gnu-nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-59.0.3071.86-system-clang.patch b/chromium-59.0.3071.86-system-clang.patch deleted file mode 100644 index 458834b..0000000 --- a/chromium-59.0.3071.86-system-clang.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang chromium-59.0.3071.86/build/config/clang/clang.gni ---- chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang 2017-06-11 20:57:07.327949687 -0400 -+++ chromium-59.0.3071.86/build/config/clang/clang.gni 2017-06-11 20:57:24.085620826 -0400 -@@ -9,5 +9,5 @@ declare_args() { - # coding guidelines, etc. Only used when compiling with Clang. - clang_use_chrome_plugins = is_clang && !is_nacl && !use_xcode_clang - -- clang_base_path = "//third_party/llvm-build/Release+Asserts" -+ clang_base_path = "/usr" - } diff --git a/chromium-60.0.3112.78-gn-system.patch b/chromium-60.0.3112.78-gn-system.patch deleted file mode 100644 index 60489bb..0000000 --- a/chromium-60.0.3112.78-gn-system.patch +++ /dev/null @@ -1,221 +0,0 @@ -diff -up chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn ---- chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn 2017-07-31 10:38:25.879951641 -0400 -@@ -16,6 +16,10 @@ source_set("libjpeg") { - libs = [ "jpeg" ] - } - -+config("system_libjpeg") { -+ defines = [ "USE_SYSTEM_LIBJPEG=1" ] -+} -+ - source_set("simd") { - } - -diff -up chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libusb.gn ---- chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem 2017-07-31 10:38:25.880951622 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/libusb.gn 2017-07-31 10:38:25.879951641 -0400 -@@ -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" ] -+} -diff -up chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/opus.gn ---- chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/opus.gn 2017-07-31 10:38:25.880951622 -0400 -@@ -1,3 +1,164 @@ -+# 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") -+import("//testing/test.gni") -+ -+pkg_config("system_opus") { -+ packages = [ "opus" ] -+} -+ -+shim_headers("opus_shim") { -+ root_path = "src/include" -+ headers = [ -+ "opus_custom.h", -+ "opus_defines.h", -+ "opus_multistream.h", -+ "opus_types.h", -+ "opus.h", -+ ] -+} -+ -+source_set("opus") { -+ deps = [ -+ ":opus_shim", -+ ] -+ public_configs = [ ":system_opus" ] -+} -+ -+config("opus_test_config") { -+ include_dirs = [ -+ "src/celt", -+ "src/silk", -+ ] -+ -+ if (is_win) { -+ defines = [ "inline=__inline" ] -+ } -+ if (is_android) { -+ libs = [ "log" ] -+ } -+ if (is_clang) { -+ cflags = [ "-Wno-absolute-value" ] -+ } -+} -+ -+executable("opus_compare") { -+ sources = [ -+ "src/src/opus_compare.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+executable("opus_demo") { -+ sources = [ -+ "src/src/opus_demo.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+test("test_opus_api") { -+ sources = [ -+ "src/tests/test_opus_api.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_encode") { -+ sources = [ -+ "src/tests/test_opus_encode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+# GN orders flags on a target before flags from configs. The default config -+# adds -Wall, and this flag have to be after -Wall -- so they need to -+# come from a config and can't be on the target directly. -+config("test_opus_decode_config") { -+ # test_opus_decode passes a null pointer to opus_decode() for an argument -+ # marked as requiring a non-null value by the nonnull function attribute, -+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid -+ # a compilation error if -Werror is specified. -+ if (is_posix) { -+ cflags = [ "-Wno-nonnull" ] -+ } -+} -+ -+test("test_opus_decode") { -+ sources = [ -+ "src/tests/test_opus_decode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ":test_opus_decode_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_padding") { -+ sources = [ -+ "src/tests/test_opus_padding.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ - # Copyright 2017 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. -diff -up chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py ---- chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem 2017-07-31 10:38:25.880951622 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py 2017-07-31 10:39:58.067159914 -0400 -@@ -26,6 +26,7 @@ REPLACEMENTS = { - 'libevent': 'base/third_party/libevent/BUILD.gn', - 'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn', - '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', diff --git a/chromium-60.0.3112.78-last-commit-position.patch b/chromium-60.0.3112.78-last-commit-position.patch deleted file mode 100644 index 7c26d9f..0000000 --- a/chromium-60.0.3112.78-last-commit-position.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit chromium-60.0.3112.78/tools/gn/BUILD.gn ---- chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit 2017-07-31 10:42:38.568041044 -0400 -+++ chromium-60.0.3112.78/tools/gn/BUILD.gn 2017-07-31 10:47:50.760974587 -0400 -@@ -268,7 +268,6 @@ executable("gn") { - - deps = [ - ":gn_lib", -- ":last_commit_position", - "//base", - "//build/config:exe_and_shlib_deps", - "//build/win:default_exe_manifest", -diff -up chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit chromium-60.0.3112.78/tools/gn/gn_main.cc ---- chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit 2017-07-25 15:05:19.000000000 -0400 -+++ chromium-60.0.3112.78/tools/gn/gn_main.cc 2017-07-31 10:42:38.568041044 -0400 -@@ -12,13 +12,7 @@ - #include "tools/gn/standard_out.h" - #include "tools/gn/switches.h" - --// Only the GN-generated build makes this header for now. --// TODO(brettw) consider adding this if we need it in GYP. --#if defined(GN_BUILD) --#include "tools/gn/last_commit_position.h" --#else - #define LAST_COMMIT_POSITION "UNKNOWN" --#endif - - namespace { - diff --git a/chromium-60.0.3112.78-no-zlib-mangle.patch b/chromium-60.0.3112.78-no-zlib-mangle.patch deleted file mode 100644 index 4b90360..0000000 --- a/chromium-60.0.3112.78-no-zlib-mangle.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle chromium-60.0.3112.78/third_party/zlib/zconf.h ---- chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle 2017-08-04 10:45:17.509152089 -0400 -+++ chromium-60.0.3112.78/third_party/zlib/zconf.h 2017-08-04 10:45:30.451902380 -0400 -@@ -8,9 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names */ --#include "names.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-60.0.3112.90-vulkan-force-c99.patch b/chromium-60.0.3112.90-vulkan-force-c99.patch deleted file mode 100644 index 881aa91..0000000 --- a/chromium-60.0.3112.90-vulkan-force-c99.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn ---- chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 2017-08-14 10:40:48.028799820 -0400 -+++ chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn 2017-08-14 10:41:43.054734910 -0400 -@@ -180,6 +180,7 @@ config("vulkan_internal_config") { - cflags += [ "-Wno-ignored-attributes" ] - } - if (is_linux) { -+ cflags += [ "-std=c99" ] - defines += [ - "SYSCONFDIR=\"/etc\"", - "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"", diff --git a/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch b/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch deleted file mode 100644 index 12e88d2..0000000 --- a/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-09-12 10:12:25.375736650 -0400 -+++ chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc 2017-09-12 10:14:42.339638321 -0400 -@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int - #if defined(__aarch64__) - ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = -- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; -+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { - memcpy(&g_crash_context_.float_state, fp_ptr, - sizeof(g_crash_context_.float_state)); diff --git a/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch b/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch deleted file mode 100644 index a8c7260..0000000 --- a/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-09-06 14:34:36.247232957 -0400 -+++ chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni 2017-09-06 14:36:37.632892363 -0400 -@@ -537,7 +537,7 @@ if (use_linux_config && current_cpu == " - ] - } - --if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) { -+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chromium")) { - ffmpeg_c_sources += [ - "libavcodec/aarch64/mpegaudiodsp_init.c", - ] diff --git a/chromium-61.0.3163.79-setopaque.patch b/chromium-61.0.3163.79-setopaque.patch deleted file mode 100644 index b797d10..0000000 --- a/chromium-61.0.3163.79-setopaque.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque chromium-61.0.3163.79/cc/blink/web_layer_impl.h ---- chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque 2017-09-06 13:55:45.454175023 -0400 -+++ chromium-61.0.3163.79/cc/blink/web_layer_impl.h 2017-09-06 13:58:02.395533936 -0400 -@@ -71,7 +71,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub - bool IsRootForIsolatedGroup() override; - void SetShouldHitTest(bool should_hit_test) override; - bool ShouldHitTest() override; -- void SetOpaque(bool opaque) override; -+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override; - bool Opaque() const override; - void SetPosition(const blink::WebFloatPoint& position) override; - blink::WebFloatPoint GetPosition() const override; diff --git a/chromium-62.0.3202.62-correct-cplusplus-check.patch b/chromium-62.0.3202.62-correct-cplusplus-check.patch deleted file mode 100644 index 39f8580..0000000 --- a/chromium-62.0.3202.62-correct-cplusplus-check.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h ---- chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional 2017-10-17 15:12:35.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h 2017-10-19 11:41:45.860279576 -0400 -@@ -38,6 +38,8 @@ inline uint32_t Crc32c(const std::string - // Visual Studio provides a header even in C++11 mode. When - // included, the header issues an #error. (C1189) - #if !defined(_MSC_VER) || __cplusplus >= 201703L -+// GCC issues an #error if __cplusplus <= 201402L -+#if defined(__GNUC__) && __cplusplus > 201402L - #include - - // Comptues the CRC32C of the bytes in the string_view. -@@ -46,6 +48,7 @@ inline uint32_t Crc32c(const std::string - string_view.size()); - } - -+#endif // defined(__GNUC__) && __cplusplus > 201402L - #endif // !defined(_MSC_VER) || __cplusplus >= 201703L - #endif // __has_include() - #endif // defined(__has_include) diff --git a/chromium-62.0.3202.62-dde535-gcc-fix.patch b/chromium-62.0.3202.62-dde535-gcc-fix.patch deleted file mode 100644 index 378403a..0000000 --- a/chromium-62.0.3202.62-dde535-gcc-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc ---- chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 2017-10-18 10:04:33.237966223 -0400 -+++ chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc 2017-10-18 10:05:00.442438694 -0400 -@@ -18,7 +18,8 @@ std::unique_ptr(); - -- return resource_coordinator_service; -+ return std::unique_ptr( -+ resource_coordinator_service.release()); - } - - ResourceCoordinatorService::ResourceCoordinatorService() diff --git a/chromium-62.0.3202.62-enable-mp3.patch b/chromium-62.0.3202.62-enable-mp3.patch deleted file mode 100644 index 3ed9dbf..0000000 --- a/chromium-62.0.3202.62-enable-mp3.patch +++ /dev/null @@ -1,484 +0,0 @@ -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/button-press.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/button-press -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/hit.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/hit -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached -diff -up chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 chromium-62.0.3202.62/media/base/mime_util_internal.cc ---- chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 2017-10-17 15:10:44.000000000 -0400 -+++ chromium-62.0.3202.62/media/base/mime_util_internal.cc 2017-10-18 09:32:16.957562156 -0400 -@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -920,7 +924,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -928,6 +931,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: -diff -up chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 chromium-62.0.3202.62/media/formats/BUILD.gn ---- chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 2017-10-17 15:10:45.000000000 -0400 -+++ chromium-62.0.3202.62/media/formats/BUILD.gn 2017-10-18 09:25:18.353676481 -0400 -@@ -17,6 +17,14 @@ source_set("formats") { - "ac3/ac3_util.h", - "common/offset_byte_queue.cc", - "common/offset_byte_queue.h", -+ "mpeg/adts_constants.cc", -+ "mpeg/adts_constants.h", -+ "mpeg/adts_stream_parser.cc", -+ "mpeg/adts_stream_parser.h", -+ "mpeg/mpeg1_audio_stream_parser.cc", -+ "mpeg/mpeg1_audio_stream_parser.h", -+ "mpeg/mpeg_audio_stream_parser_base.cc", -+ "mpeg/mpeg_audio_stream_parser_base.h", - "webm/webm_audio_client.cc", - "webm/webm_audio_client.h", - "webm/webm_cluster_parser.cc", -@@ -78,14 +86,6 @@ source_set("formats") { - "mp4/sample_to_group_iterator.h", - "mp4/track_run_iterator.cc", - "mp4/track_run_iterator.h", -- "mpeg/adts_constants.cc", -- "mpeg/adts_constants.h", -- "mpeg/adts_stream_parser.cc", -- "mpeg/adts_stream_parser.h", -- "mpeg/mpeg1_audio_stream_parser.cc", -- "mpeg/mpeg1_audio_stream_parser.h", -- "mpeg/mpeg_audio_stream_parser_base.cc", -- "mpeg/mpeg_audio_stream_parser_base.h", - ] - } - -diff -up chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-10-18 09:25:18.354676462 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-10-18 09:25:18.355676443 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-10-18 09:25:18.360676348 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-10-18 09:25:18.360676348 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-10-18 09:25:18.361676329 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-10-18 09:05:28.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni 2017-10-18 09:25:18.362676310 -0400 -@@ -182,17 +182,9 @@ if ((is_mac) || (is_win) || (use_linux_c - ] - } - --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ -- "libavcodec/aac_ac3_parser.c", -- "libavcodec/aac_parser.c", -- "libavcodec/aacadtsdec.c", -- "libavcodec/aacps_float.c", -- "libavcodec/aacpsdsp_float.c", -- "libavcodec/aacsbr.c", -- "libavcodec/aactab.c", - "libavcodec/ac3tab.c", -- "libavcodec/autorename_libavcodec_aacdec.c", - "libavcodec/autorename_libavcodec_mpegaudiodsp.c", - "libavcodec/autorename_libavcodec_sbrdsp.c", - "libavcodec/cbrt_data.c", -@@ -210,7 +202,6 @@ if ((current_cpu == "x64" && ffmpeg_bran - "libavcodec/mpegaudiodsp_float.c", - "libavcodec/sinewin.c", - "libavcodec/sinewin_fixed.c", -- "libavformat/aacdec.c", - "libavformat/apetag.c", - "libavformat/img2.c", - "libavformat/mov.c", -@@ -219,6 +210,20 @@ if ((current_cpu == "x64" && ffmpeg_bran - ] - } - -+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+ ffmpeg_c_sources += [ -+ "libavcodec/aac_ac3_parser.c", -+ "libavcodec/aac_parser.c", -+ "libavcodec/aacadtsdec.c", -+ "libavcodec/aacps_float.c", -+ "libavcodec/aacpsdsp_float.c", -+ "libavcodec/aacsbr.c", -+ "libavcodec/aactab.c", -+ "libavcodec/autorename_libavcodec_aacdec.c", -+ "libavformat/aacdec.c", -+ ] -+} -+ - if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ - "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c", -@@ -322,15 +327,19 @@ if ((is_mac) || (is_win) || (use_linux_c - if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_c_sources += [ - "libavcodec/x86/aacpsdsp_init.c", -+ ] -+ ffmpeg_yasm_sources += [ -+ "libavcodec/x86/aacpsdsp.asm", -+ ] -+} -+ -+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) { -+ ffmpeg_c_sources += [ - "libavcodec/x86/dct_init.c", - "libavcodec/x86/mpegaudiodsp.c", - "libavcodec/x86/sbrdsp_init.c", - ] --} -- --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_yasm_sources += [ -- "libavcodec/x86/aacpsdsp.asm", - "libavcodec/x86/dct32.asm", - "libavcodec/x86/imdct36.asm", - "libavcodec/x86/sbrdsp.asm", -diff -up chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c ---- chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-10-18 09:05:30.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-10-18 09:25:18.362676310 -0400 -@@ -23,6 +23,7 @@ - #define USE_FIXED 0 - - #include "aac.h" -+#include "aacsbrdata.h" - #include "config.h" - #include "libavutil/attributes.h" - #include "libavutil/intfloat.h" -diff -up chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart -diff -up chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping diff --git a/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch b/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch deleted file mode 100644 index 7af702a..0000000 --- a/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp ---- chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr 2017-10-18 10:10:14.216353575 -0400 -+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp 2017-10-18 10:10:23.657170980 -0400 -@@ -295,7 +295,7 @@ BlobDataHandle::BlobDataHandle(std::uniq - - size_t current_memory_population = 0; - Vector elements; -- const DataElementPtr null_element = nullptr; -+ const DataElementPtr null_element; - BlobBytesProvider* last_bytes_provider = nullptr; - RefPtr file_runner = Platform::Current()->FileTaskRunner(); - diff --git a/chromium-62.0.3202.62-gcc-nc.patch b/chromium-62.0.3202.62-gcc-nc.patch deleted file mode 100644 index 0a74d25..0000000 --- a/chromium-62.0.3202.62-gcc-nc.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc chromium-62.0.3202.62/content/network/network_service_impl.cc ---- chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc 2017-10-18 10:07:04.045041261 -0400 -+++ chromium-62.0.3202.62/content/network/network_service_impl.cc 2017-10-18 10:07:53.175088528 -0400 -@@ -90,6 +90,7 @@ NetworkServiceImpl::CreateNetworkContext - base::MakeUnique(this, std::move(request), - std::move(params), std::move(builder)); - *url_request_context = network_context->url_request_context(); -+ return std::unique_ptr(network_context.release()); - return network_context; - } - diff --git a/chromium-62.0.3202.62-gcc7.patch b/chromium-62.0.3202.62-gcc7.patch deleted file mode 100644 index 90d177d..0000000 --- a/chromium-62.0.3202.62-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2017-10-18 09:20:04.072765163 -0400 -+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-10-18 09:21:40.156905187 -0400 -@@ -9,6 +9,7 @@ - #include "platform/graphics/WebGraphicsContext3DProviderWrapper.h" - #include "platform/wtf/ThreadSpecific.h" - -+#include - #include - - namespace blink { diff --git a/chromium-62.0.3202.62-rvalue-fix.patch b/chromium-62.0.3202.62-rvalue-fix.patch deleted file mode 100644 index 89197cd..0000000 --- a/chromium-62.0.3202.62-rvalue-fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc ---- chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix 2017-10-18 10:15:58.855675480 -0400 -+++ chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc 2017-10-18 10:16:28.925093301 -0400 -@@ -77,7 +77,7 @@ std::unique_ptr OnStartupHa - !extensions::ExtensionSystem::Get(profile_) - ->management_policy() - ->MustRemainEnabled(ntp_extension, nullptr)); -- return dict; -+ return std::move(dict); - } - - void OnStartupHandler::HandleGetNtpExtension(const base::ListValue* args) { -diff -up chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc ---- chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix 2017-10-18 10:15:16.408497853 -0400 -+++ chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc 2017-10-18 10:15:43.793967075 -0400 -@@ -305,7 +305,7 @@ std::unique_ptr InkDropHost - base::MakeUnique(this, size()); - ink_drop->SetAutoHighlightMode( - views::InkDropImpl::AutoHighlightMode::HIDE_ON_RIPPLE); -- return ink_drop; -+ return std:move(ink_drop); - } - - std::unique_ptr -@@ -314,7 +314,7 @@ InkDropHostView::CreateDefaultFloodFillI - InkDropHostView::CreateDefaultInkDropImpl(); - ink_drop->SetAutoHighlightMode( - views::InkDropImpl::AutoHighlightMode::SHOW_ON_RIPPLE); -- return ink_drop; -+ return std:move(ink_drop); - } - - } // namespace views -diff -up chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc ---- chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix 2017-10-18 10:14:18.054627919 -0400 -+++ chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc 2017-10-18 10:14:42.265159378 -0400 -@@ -198,7 +198,7 @@ std::unique_ptr Checkbox::Creat - std::unique_ptr ink_drop = CreateDefaultInkDropImpl(); - ink_drop->SetShowHighlightOnHover(false); - ink_drop->SetAutoHighlightMode(InkDropImpl::AutoHighlightMode::NONE); -- return ink_drop; -+ return std::move(ink_drop); - } - - std::unique_ptr Checkbox::CreateInkDropRipple() const { diff --git a/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch b/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch deleted file mode 100644 index 469d680..0000000 --- a/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-12-12 09:56:24.469343868 -0500 -+++ chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2017-12-12 09:56:38.468071095 -0500 -@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int - #if defined(__aarch64__) - ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = -- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; -+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { - memcpy(&g_crash_context_.float_state, fp_ptr, - sizeof(g_crash_context_.float_state)); diff --git a/chromium-63.0.3289.84-enable-mp3.patch b/chromium-63.0.3289.84-enable-mp3.patch deleted file mode 100644 index 91a331a..0000000 --- a/chromium-63.0.3289.84-enable-mp3.patch +++ /dev/null @@ -1,485 +0,0 @@ -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/button-press.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/button-press -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/hit.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/hit -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached -diff -up chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 chromium-63.0.3239.84/media/base/mime_util_internal.cc ---- chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 2017-12-06 15:05:29.000000000 -0500 -+++ chromium-63.0.3239.84/media/base/mime_util_internal.cc 2017-12-07 10:52:02.472510232 -0500 -@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -935,7 +939,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -943,6 +946,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: -diff -up chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 chromium-63.0.3239.84/media/formats/BUILD.gn ---- chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 2017-12-06 15:05:29.000000000 -0500 -+++ chromium-63.0.3239.84/media/formats/BUILD.gn 2017-12-07 10:52:02.473510212 -0500 -@@ -20,6 +20,14 @@ source_set("formats") { - "ac3/ac3_util.h", - "common/offset_byte_queue.cc", - "common/offset_byte_queue.h", -+ "mpeg/adts_constants.cc", -+ "mpeg/adts_constants.h", -+ "mpeg/adts_stream_parser.cc", -+ "mpeg/adts_stream_parser.h", -+ "mpeg/mpeg1_audio_stream_parser.cc", -+ "mpeg/mpeg1_audio_stream_parser.h", -+ "mpeg/mpeg_audio_stream_parser_base.cc", -+ "mpeg/mpeg_audio_stream_parser_base.h", - "webm/webm_audio_client.cc", - "webm/webm_audio_client.h", - "webm/webm_cluster_parser.cc", -@@ -81,14 +89,6 @@ source_set("formats") { - "mp4/sample_to_group_iterator.h", - "mp4/track_run_iterator.cc", - "mp4/track_run_iterator.h", -- "mpeg/adts_constants.cc", -- "mpeg/adts_constants.h", -- "mpeg/adts_stream_parser.cc", -- "mpeg/adts_stream_parser.h", -- "mpeg/mpeg1_audio_stream_parser.cc", -- "mpeg/mpeg1_audio_stream_parser.h", -- "mpeg/mpeg_audio_stream_parser_base.cc", -- "mpeg/mpeg_audio_stream_parser_base.h", - ] - } - -diff -up chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-12-07 11:08:41.116117073 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-12-07 11:09:23.602291820 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-12-07 11:09:49.945779754 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-12-07 11:10:25.513089579 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-12-07 11:10:50.721599547 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-12-07 09:51:36.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:16:58.728447124 -0500 -@@ -183,17 +183,9 @@ if ((is_mac) || (is_win) || (use_linux_c - ] - } - --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ -- "libavcodec/aac_ac3_parser.c", -- "libavcodec/aac_parser.c", -- "libavcodec/aacadtsdec.c", -- "libavcodec/aacps_float.c", -- "libavcodec/aacpsdsp_float.c", -- "libavcodec/aacsbr.c", -- "libavcodec/aactab.c", - "libavcodec/ac3tab.c", -- "libavcodec/autorename_libavcodec_aacdec.c", - "libavcodec/autorename_libavcodec_mdct15.c", - "libavcodec/autorename_libavcodec_mpegaudiodsp.c", - "libavcodec/autorename_libavcodec_sbrdsp.c", -@@ -211,7 +203,6 @@ if ((current_cpu == "x64" && ffmpeg_bran - "libavcodec/mpegaudiodsp_float.c", - "libavcodec/sinewin.c", - "libavcodec/sinewin_fixed.c", -- "libavformat/aacdec.c", - "libavformat/apetag.c", - "libavformat/img2.c", - "libavformat/mov.c", -@@ -220,6 +211,20 @@ if ((current_cpu == "x64" && ffmpeg_bran - ] - } - -+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+ ffmpeg_c_sources += [ -+ "libavcodec/aac_ac3_parser.c", -+ "libavcodec/aac_parser.c", -+ "libavcodec/aacadtsdec.c", -+ "libavcodec/aacps_float.c", -+ "libavcodec/aacpsdsp_float.c", -+ "libavcodec/aacsbr.c", -+ "libavcodec/aactab.c", -+ "libavcodec/autorename_libavcodec_aacdec.c", -+ "libavformat/aacdec.c", -+ ] -+} -+ - if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ - "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c", -@@ -323,16 +328,20 @@ if ((is_mac) || (is_win) || (use_linux_c - if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_c_sources += [ - "libavcodec/x86/aacpsdsp_init.c", -+ ] -+ ffmpeg_yasm_sources += [ -+ "libavcodec/x86/aacpsdsp.asm", -+ ] -+} -+ -+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) { -+ ffmpeg_c_sources += [ - "libavcodec/x86/dct_init.c", - "libavcodec/x86/mdct15_init.c", - "libavcodec/x86/mpegaudiodsp.c", - "libavcodec/x86/sbrdsp_init.c", - ] --} -- --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_yasm_sources += [ -- "libavcodec/x86/aacpsdsp.asm", - "libavcodec/x86/dct32.asm", - "libavcodec/x86/imdct36.asm", - "libavcodec/x86/mdct15.asm", -diff -up chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c ---- chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-12-07 10:52:02.484509992 -0500 -@@ -23,6 +23,7 @@ - #define USE_FIXED 0 - - #include "aac.h" -+#include "aacsbrdata.h" - #include "config.h" - #include "libavutil/attributes.h" - #include "libavutil/intfloat.h" -diff -up chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart -diff -up chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping diff --git a/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch b/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch deleted file mode 100644 index 8df206b..0000000 --- a/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-12-07 11:23:07.077290535 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:27:30.354175021 -0500 -@@ -541,7 +541,7 @@ if (use_linux_config && current_cpu == " - ] - } - --if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) { -+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64")) { - ffmpeg_c_sources += [ - "libavcodec/aarch64/aacpsdsp_init_aarch64.c", - "libavcodec/aarch64/mpegaudiodsp_init.c", diff --git a/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch b/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch deleted file mode 100644 index 9ca87ad..0000000 --- a/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/freetype.gn ---- chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle 2017-12-07 12:07:48.652161826 -0500 -+++ chromium-63.0.3239.84/build/linux/unbundle/freetype.gn 2017-12-07 12:08:52.514919585 -0500 -@@ -117,6 +117,14 @@ source_set("freetype") { - public_configs = [ ":freetype_config" ] - } - -+source_set("freetype_source") { -+ visibility = [ "//third_party:freetype_harfbuzz" ] -+ deps = [ -+ ":freetype_shim", -+ ] -+ public_configs = [ ":freetype_config" ] -+} -+ - source_set("bootstrap_freetype_for_harfbuzz") { - deps = [ - ":freetype_shim", -diff -up chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn ---- chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle 2017-12-07 12:09:57.057661738 -0500 -+++ chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn 2017-12-07 12:10:03.225541404 -0500 -@@ -24,6 +24,14 @@ group("harfbuzz-ng") { - ] - } - -+source_set("harfbuzz_source") { -+ visibility = [ "//third_party:freetype_harfbuzz" ] -+ deps = [ -+ ":harfbuzz_shim", -+ ] -+ public_configs = [ ":system_harfbuzz" ] -+} -+ - source_set("harfbuzz-ng-ft") { - deps = [ - ":harfbuzz_shim", diff --git a/chromium-63.0.3289.84-gcc-round-fix.patch b/chromium-63.0.3289.84-gcc-round-fix.patch deleted file mode 100644 index 86d0a7e..0000000 --- a/chromium-63.0.3289.84-gcc-round-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc ---- chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2017-12-07 16:20:01.521717091 -0500 -+++ chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc 2017-12-07 16:20:13.025491739 -0500 -@@ -11,6 +11,7 @@ - #include "p2p/base/port.h" - - #include -+#include - #include - - #include "p2p/base/common.h" diff --git a/chromium-63.0.3289.84-gcc5-r3.patch b/chromium-63.0.3289.84-gcc5-r3.patch deleted file mode 100644 index 83c6911..0000000 --- a/chromium-63.0.3289.84-gcc5-r3.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff -up chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2017-12-06 15:05:28.000000000 -0500 -+++ chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h 2017-12-07 11:32:15.416636125 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2017-12-06 15:05:31.000000000 -0500 -+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2017-12-07 11:32:15.422636011 -0500 -@@ -134,7 +134,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2017-12-07 11:32:15.429635877 -0500 -+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h 2017-12-07 11:34:00.081601880 -0500 -@@ -309,7 +309,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp ---- chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 2017-12-06 15:05:46.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp 2017-12-07 11:32:15.430635859 -0500 -@@ -480,7 +480,7 @@ WebString AccessControlErrorString( - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -512,7 +512,7 @@ WebString PreflightErrorString(const Pre - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -533,7 +533,7 @@ WebString RedirectErrorString(const Redi - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2017-12-06 15:05:46.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2017-12-07 11:32:15.408636277 -0500 -@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2017-12-07 11:32:15.409636258 -0500 -+++ chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-12-07 11:33:10.714561105 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - diff --git a/chromium-63.0.3289.84-nolibc++.patch b/chromium-63.0.3289.84-nolibc++.patch deleted file mode 100644 index 0d999c8..0000000 --- a/chromium-63.0.3289.84-nolibc++.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn ---- chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ 2017-12-07 11:55:43.173273434 -0500 -+++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn 2017-12-07 11:55:53.244077772 -0500 -@@ -62,11 +62,9 @@ if (enable_me2me_host) { - if (is_component_build) { - sources += [ - "$root_build_dir/libbase.so", -- "$root_build_dir/libc++.so", - ] - deps += [ - "//base:base", -- "//buildtools/third_party/libc++:libc++", - ] - } - } diff --git a/chromium-63.0.3289.84-setopaque.patch b/chromium-63.0.3289.84-setopaque.patch deleted file mode 100644 index 8fb585a..0000000 --- a/chromium-63.0.3289.84-setopaque.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque chromium-63.0.3239.84/cc/blink/web_layer_impl.h ---- chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque 2017-12-07 10:47:48.262446682 -0500 -+++ chromium-63.0.3239.84/cc/blink/web_layer_impl.h 2017-12-07 10:48:47.437298948 -0500 -@@ -67,7 +67,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub - void SetIsRootForIsolatedGroup(bool root) override; - bool IsRootForIsolatedGroup() override; - void SetHitTestableWithoutDrawsContent(bool should_hit_test) override; -- void SetOpaque(bool opaque) override; -+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override; - bool Opaque() const override; - void SetPosition(const blink::WebFloatPoint& position) override; - blink::WebFloatPoint GetPosition() const override; diff --git a/chromium-64.0.3282.119-enable-mp3.patch b/chromium-64.0.3282.119-enable-mp3.patch deleted file mode 100644 index 849b5ee..0000000 --- a/chromium-64.0.3282.119-enable-mp3.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 chromium-64.0.3282.119/media/base/mime_util_internal.cc ---- chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 2018-01-24 15:05:48.000000000 -0500 -+++ chromium-64.0.3282.119/media/base/mime_util_internal.cc 2018-01-25 11:18:12.354147726 -0500 -@@ -279,15 +279,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -329,10 +333,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -970,7 +974,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -978,6 +981,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: diff --git a/chromium-64.0.3282.119-gcc-constexpr-fix.patch b/chromium-64.0.3282.119-gcc-constexpr-fix.patch deleted file mode 100644 index 57b63cd..0000000 --- a/chromium-64.0.3282.119-gcc-constexpr-fix.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr 2018-01-25 15:50:16.971171007 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h 2018-01-25 15:51:14.158053914 -0500 -@@ -160,7 +160,7 @@ template --const TType *GetForVecMatHelper(unsigned char primarySize) -+constexpr const TType *GetForVecMatHelper(unsigned char primarySize) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -186,7 +186,7 @@ const TType *GetForVecMatHelper(unsigned - template --const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) -+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -208,7 +208,7 @@ const TType *GetForVecMat(unsigned char - } - - template --const TType *GetForVec(TQualifier qualifier, unsigned char size) -+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) - { - switch (qualifier) - { -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr 2018-01-25 15:51:27.670790008 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp 2018-01-25 15:52:04.117077652 -0500 -@@ -189,7 +189,7 @@ TSymbolTable::~TSymbolTable() - pop(); - } - --bool IsGenType(const TType *type) -+constexpr bool IsGenType(const TType *type) - { - if (type) - { -@@ -201,7 +201,7 @@ bool IsGenType(const TType *type) - return false; - } - --bool IsVecType(const TType *type) -+constexpr bool IsVecType(const TType *type) - { - if (type) - { -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr 2018-01-25 15:52:15.042864767 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h 2018-01-25 15:52:56.763049389 -0500 -@@ -236,13 +236,13 @@ class TType - { - } - -- TBasicType getBasicType() const { return type; } -+ constexpr TBasicType getBasicType() const { return type; } - void setBasicType(TBasicType t); - - TPrecision getPrecision() const { return precision; } - void setPrecision(TPrecision p) { precision = p; } - -- TQualifier getQualifier() const { return qualifier; } -+ constexpr TQualifier getQualifier() const { return qualifier; } - void setQualifier(TQualifier q) { qualifier = q; } - - bool isInvariant() const { return invariant; } diff --git a/chromium-64.0.3282.119-gcc-round-fix.patch b/chromium-64.0.3282.119-gcc-round-fix.patch deleted file mode 100644 index 465808c..0000000 --- a/chromium-64.0.3282.119-gcc-round-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc ---- chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-01-25 12:03:14.696443814 -0500 -+++ chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc 2018-01-25 12:20:26.446448618 -0500 -@@ -10,7 +10,7 @@ - - #include "p2p/base/port.h" - --#include -+#include - - #include - #include diff --git a/chromium-64.0.3282.119-gcc5-r3.patch b/chromium-64.0.3282.119-gcc5-r3.patch deleted file mode 100644 index 3679ecf..0000000 --- a/chromium-64.0.3282.119-gcc5-r3.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff -up chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-01-24 15:05:47.000000000 -0500 -+++ chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h 2018-01-25 11:58:48.251623423 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 -+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 -@@ -137,7 +137,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 -+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-01-24 15:06:11.000000000 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-01-25 11:58:48.253623376 -0500 -@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-01-25 11:58:48.253623376 -0500 -+++ chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-01-25 12:01:28.769900550 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-64.0.3282.119-gcc5.patch b/chromium-64.0.3282.119-gcc5.patch deleted file mode 100644 index 0fdc39f..0000000 --- a/chromium-64.0.3282.119-gcc5.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-01-25 11:07:27.179175007 -0500 -+++ chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-01-25 11:07:38.037925336 -0500 -@@ -263,7 +263,7 @@ interface WebGL2RenderingContextBase - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2018-01-25 11:11:08.581962228 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h 2018-01-25 11:11:24.062593478 -0500 -@@ -49,7 +49,7 @@ class NodeFilter final { - * to the value of NodeType for the equivalent node type. - */ - enum { -- kShowAll = 0xFFFFFFFF, -+ kShowAll = 256 /* 0xFFFFFFFF */, - kShowElement = 0x00000001, - kShowAttribute = 0x00000002, - kShowText = 0x00000004, -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl ---- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2018-01-25 11:11:34.816335412 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl 2018-01-25 11:12:23.380171262 -0500 -@@ -27,7 +27,7 @@ callback interface NodeFilter { - const unsigned short FILTER_SKIP = 3; - - // Constants for whatToShow -- const unsigned long SHOW_ALL = 0xFFFFFFFF; -+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF - const unsigned long SHOW_ELEMENT = 0x1; - const unsigned long SHOW_ATTRIBUTE = 0x2; // historical - const unsigned long SHOW_TEXT = 0x4; -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl ---- chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2018-01-25 11:12:57.367363214 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2018-01-25 11:13:29.883590960 -0500 -@@ -241,7 +241,7 @@ typedef unsigned long long GLuint64; - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -@@ -271,7 +271,7 @@ typedef unsigned long long GLuint64; - const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; - const GLenum MAX_ELEMENT_INDEX = 0x8D6B; - const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; -- const GLint TIMEOUT_IGNORED = -1; -+ const GLint TIMEOUT_IGNORED = 256; - - /* WebGL-specific enums */ - const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247; diff --git a/chromium-64.0.3282.119-gcc7.patch b/chromium-64.0.3282.119-gcc7.patch deleted file mode 100644 index 7fe383e..0000000 --- a/chromium-64.0.3282.119-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-01-25 11:15:00.291466617 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-01-25 11:16:36.159320291 -0500 -@@ -10,6 +10,7 @@ - #include "platform/wtf/Functional.h" - #include "platform/wtf/ThreadSpecific.h" - -+#include - #include - - namespace blink { diff --git a/chromium-64.0.3282.119-memcpy-fix.patch b/chromium-64.0.3282.119-memcpy-fix.patch deleted file mode 100644 index 39c3c25..0000000 --- a/chromium-64.0.3282.119-memcpy-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc ---- chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-01-26 15:04:44.708100850 -0500 -+++ chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc 2018-01-26 15:04:54.234915081 -0500 -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "cc/paint/raw_memory_transfer_cache_entry.h" -+#include - - namespace cc { - diff --git a/chromium-64.0.3282.167-gcc8-fabi11.patch b/chromium-64.0.3282.167-gcc8-fabi11.patch deleted file mode 100644 index 5f0c527..0000000 --- a/chromium-64.0.3282.167-gcc8-fabi11.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py ---- chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 2018-02-19 11:39:15.807713662 -0500 -+++ chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py 2018-02-19 11:39:47.038070341 -0500 -@@ -336,6 +336,11 @@ def write_gn_ninja(path, root_gen_dir, o - cflags = os.environ.get('CFLAGS', '').split() - cflags_cc = os.environ.get('CXXFLAGS', '').split() - ldflags = os.environ.get('LDFLAGS', '').split() -+ -+ # Work around GCC8 bug gcc#84286 -+ cflags.extend(['-fabi-version=11']) -+ cflags_cc.extend(['-fabi-version=11']) -+ - include_dirs = [root_gen_dir, SRC_ROOT] - libs = [] - diff --git a/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch b/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch deleted file mode 100644 index 6cf8ca8..0000000 --- a/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.noncopyable chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.noncopyable 2018-03-13 16:52:15.953729689 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 16:53:55.365792522 -0400 -@@ -45,6 +45,15 @@ struct OptionalStorageBase { - - // When T is not trivially destructible we must call its - // destructor before deallocating its memory. -+ // Note that this hides the (implicitly declared) move constructor, which -+ // would be used for constexpr move constructor in OptionalStorage. -+ // It is needed iff T is trivially move constructible. However, the current -+ // is_trivially_{copy,move}_constructible implementation requires -+ // is_trivially_destructible (which looks a bug, cf: -+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452 and -+ // http://cplusplus.github.io/LWG/lwg-active.html#2116), so it is not -+ // necessary for this case at the moment. Please see also the destructor -+ // comment in "is_trivially_destructible = true" specialization below. - ~OptionalStorageBase() { - if (!is_null_) - value_.~T(); -@@ -78,9 +87,18 @@ struct OptionalStorageBase(args)...) {} - - // When T is trivially destructible (i.e. its destructor does nothing) there -- // is no need to call it. Explicitly defaulting the destructor means it's not -- // user-provided. Those two together make this destructor trivial. -- ~OptionalStorageBase() = default; -+ // is no need to call it. Implicitly defined destructor is trivial, because -+ // both members (bool and union containing only variants which are trivially -+ // destructible) are trivially destructible. -+ // Explicitly-defaulted destructor is also trivial, but do not use it here, -+ // because it hides the implicit move constructor. It is needed to implement -+ // constexpr move constructor in OptionalStorage iff T is trivially move -+ // constructible. Note that, if T is trivially move constructible, the move -+ // constructor of OptionalStorageBase is also implicitly defined and it is -+ // trivially move constructor. If T is not trivially move constructible, -+ // "not declaring move constructor without destructor declaration" here means -+ // "delete move constructor", which works because any move constructor of -+ // OptionalStorage will not refer to it in that case. - - template - void Init(Args&&... args) { diff --git a/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch b/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch deleted file mode 100644 index dbdf68f..0000000 --- a/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString 2018-03-13 22:54:27.262671113 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp 2018-03-13 22:55:47.722113713 -0400 -@@ -68,7 +68,7 @@ v8::Local ToV8(const IDBKeyPa - case IDBKeyPath::kNullType: - return v8::Null(isolate); - case IDBKeyPath::kStringType: -- return V8String(isolate, value.String()); -+ return V8String(isolate, value.GetString()); - case IDBKeyPath::kArrayType: - return ToV8(value.Array(), creation_context, isolate); - } -@@ -97,7 +97,7 @@ v8::Local ToV8(const IDBKey* - case IDBKey::kNumberType: - return v8::Number::New(isolate, key->Number()); - case IDBKey::kStringType: -- return V8String(isolate, key->String()); -+ return V8String(isolate, key->GetString()); - case IDBKey::kBinaryType: - // https://w3c.github.io/IndexedDB/#convert-a-value-to-a-key - return ToV8(DOMArrayBuffer::Create(key->Binary()), creation_context, -@@ -379,7 +379,7 @@ static std::unique_ptr CreateIDB - } - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.String(), -+ return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.GetString(), - exception_state); - } - -@@ -483,7 +483,7 @@ bool InjectV8KeyIntoV8Value(v8::Isolate* - DCHECK(isolate->InContext()); - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - // The conbination of a key generator and an empty key path is forbidden by - // spec. -@@ -569,7 +569,7 @@ bool CanInjectIDBKeyIntoScriptValue(v8:: - const IDBKeyPath& key_path) { - IDB_TRACE("canInjectIDBKeyIntoScriptValue"); - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - if (!key_path_elements.size()) - return false; -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString 2018-03-13 22:56:04.041798217 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp 2018-03-13 22:56:22.481440993 -0400 -@@ -56,7 +56,7 @@ WebData WebIDBKeyView::Binary() const { - } - - WebString WebIDBKeyView::String() const { -- return private_->String(); -+ return private_->GetString(); - } - - double WebIDBKeyView::Date() const { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString 2018-03-13 22:56:36.028178758 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp 2018-03-13 22:56:58.846736831 -0400 -@@ -297,7 +297,7 @@ IDBObjectStore* IDBDatabase::createObjec - } - - if (auto_increment && ((key_path.GetType() == IDBKeyPath::kStringType && -- key_path.String().IsEmpty()) || -+ key_path.GetString().IsEmpty()) || - key_path.GetType() == IDBKeyPath::kArrayType)) { - exception_state.ThrowDOMException( - kInvalidAccessError, -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString 2018-03-13 22:57:13.229458842 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h 2018-03-13 22:57:38.633966776 -0400 -@@ -106,7 +106,7 @@ class MODULES_EXPORT IDBKey { - return binary_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString 2018-03-13 22:57:51.104725428 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h 2018-03-13 22:58:09.459369906 -0400 -@@ -65,7 +65,7 @@ class MODULES_EXPORT IDBKeyPath { - return array_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString 2018-03-13 22:58:28.778995834 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp 2018-03-13 22:58:45.044681364 -0400 -@@ -399,7 +399,7 @@ static std::unique_ptr KeyPathF - case IDBKeyPath::kStringType: - key_path = KeyPath::create() - .setType(KeyPath::TypeEnum::String) -- .setString(idb_key_path.String()) -+ .setString(idb_key_path.GetString()) - .build(); - break; - case IDBKeyPath::kArrayType: { diff --git a/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch b/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch deleted file mode 100644 index 8edc424..0000000 --- a/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.cc ---- chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc 2018-03-13 22:47:00.271322726 -0400 -+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.cc 2018-03-13 22:47:53.127300060 -0400 -@@ -92,7 +92,6 @@ PlaybackImageProvider::GetDecodedDrawIma - } - - PlaybackImageProvider::Settings::Settings() = default; --PlaybackImageProvider::Settings::Settings(const Settings& other) = default; - PlaybackImageProvider::Settings::~Settings() = default; - - } // namespace cc -diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.h ---- chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc 2018-03-13 22:48:00.673153629 -0400 -+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.h 2018-03-13 22:48:12.726920597 -0400 -@@ -20,7 +20,6 @@ class CC_EXPORT PlaybackImageProvider : - public: - struct CC_EXPORT Settings { - Settings(); -- Settings(const Settings& other); - ~Settings(); - - // The set of image ids to skip during raster. diff --git a/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch deleted file mode 100644 index 62124be..0000000 --- a/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h ---- chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl 2018-03-13 16:38:38.870652491 -0400 -+++ chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h 2018-03-13 16:39:02.691186647 -0400 -@@ -21,9 +21,9 @@ - #include "services/preferences/public/interfaces/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/tracked_preference.h" - --class PrefHashStore; - class PrefService; - - namespace base { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl 2018-03-13 16:39:13.787970233 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-03-13 16:39:42.614407235 -0400 -@@ -30,6 +30,7 @@ - - #include - #include "modules/webdatabase/DatabaseBasicTypes.h" -+#include "modules/webdatabase/SQLError.h" - #include "modules/webdatabase/SQLStatement.h" - #include "modules/webdatabase/SQLStatementBackend.h" - #include "modules/webdatabase/SQLTransactionStateMachine.h" -@@ -41,7 +42,6 @@ - namespace blink { - - class Database; --class SQLErrorData; - class SQLiteTransaction; - class SQLTransaction; - class SQLTransactionBackend; diff --git a/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch b/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch deleted file mode 100644 index 9c6f315..0000000 --- a/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc ---- chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move 2018-03-13 22:50:41.346043716 -0400 -+++ chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc 2018-03-13 22:51:21.428267583 -0400 -@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre - - SubresourceLoaderParams params; - params.loader_factory_info = factory_ptr.PassInterface(); -- return params; -+ return base::Optional(std::move(params)); - } - - void AppCacheRequestHandler::MaybeCreateSubresourceLoader( -diff -up chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc ---- chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move 2018-03-13 22:51:38.133943776 -0400 -+++ chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-03-13 22:51:57.658566347 -0400 -@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M - controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( - provider_host_->controller()); - params.controller_service_worker_info = std::move(controller_info); -- return params; -+ return base::Optional(std::move(params)); - } - - void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( diff --git a/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch deleted file mode 100644 index 809a321..0000000 --- a/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h ---- chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare 2018-03-13 23:02:13.989635567 -0400 -+++ chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h 2018-03-13 23:02:44.318048625 -0400 -@@ -12,13 +12,13 @@ - #include "base/macros.h" - #include "base/optional.h" - #include "components/policy/core/browser/configuration_policy_handler_list.h" -+#include "components/policy/core/common/configuration_policy_provider.h" - #include "components/policy/core/common/schema.h" - #include "components/policy/core/common/schema_registry.h" - #include "components/policy/policy_export.h" - - namespace policy { - --class ConfigurationPolicyProvider; - class PolicyService; - class PolicyServiceImpl; - diff --git a/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch b/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch deleted file mode 100644 index 9b4befe..0000000 --- a/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.conditional chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.conditional 2018-03-13 22:11:02.328058249 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:12:43.622098296 -0400 -@@ -266,6 +266,58 @@ class OptionalBase { - OptionalStorage storage_; - }; - -+// The following {Copy,Move}{Constructible,Assignable} structs are helpers to -+// implement constructor/assign-operator overloading. Specifically, if T is -+// is not movable but copyable, Optional's move constructor should not -+// participate in overload resolution. This inheritance trick implements that. -+template -+struct CopyConstructible {}; -+ -+template <> -+struct CopyConstructible { -+ constexpr CopyConstructible() = default; -+ constexpr CopyConstructible(const CopyConstructible&) = delete; -+ constexpr CopyConstructible(CopyConstructible&&) = default; -+ CopyConstructible& operator=(const CopyConstructible&) = default; -+ CopyConstructible& operator=(CopyConstructible&&) = default; -+}; -+ -+template -+struct MoveConstructible {}; -+ -+template <> -+struct MoveConstructible { -+ constexpr MoveConstructible() = default; -+ constexpr MoveConstructible(const MoveConstructible&) = default; -+ constexpr MoveConstructible(MoveConstructible&&) = delete; -+ MoveConstructible& operator=(const MoveConstructible&) = default; -+ MoveConstructible& operator=(MoveConstructible&&) = default; -+}; -+ -+template -+struct CopyAssignable {}; -+ -+template <> -+struct CopyAssignable { -+ constexpr CopyAssignable() = default; -+ constexpr CopyAssignable(const CopyAssignable&) = default; -+ constexpr CopyAssignable(CopyAssignable&&) = default; -+ CopyAssignable& operator=(const CopyAssignable&) = delete; -+ CopyAssignable& operator=(CopyAssignable&&) = default; -+}; -+ -+template -+struct MoveAssignable {}; -+ -+template <> -+struct MoveAssignable { -+ constexpr MoveAssignable() = default; -+ constexpr MoveAssignable(const MoveAssignable&) = default; -+ constexpr MoveAssignable(MoveAssignable&&) = default; -+ MoveAssignable& operator=(const MoveAssignable&) = default; -+ MoveAssignable& operator=(MoveAssignable&&) = delete; -+}; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -280,12 +332,18 @@ class OptionalBase { - // - No exceptions are thrown, because they are banned from Chromium. - // - All the non-members are in the 'base' namespace instead of 'std'. - template --class Optional : public internal::OptionalBase { -+class Optional -+ : public internal::OptionalBase, -+ public internal::CopyConstructible::value>, -+ public internal::MoveConstructible::value>, -+ public internal::CopyAssignable::value && -+ std::is_copy_assignable::value>, -+ public internal::MoveAssignable::value && -+ std::is_move_assignable::value> { - public: - using value_type = T; - - // Defer default/copy/move constructor implementation to OptionalBase. -- // TODO(hidehiko): Implement conditional enabling. - constexpr Optional() = default; - constexpr Optional(const Optional& other) = default; - constexpr Optional(Optional&& other) = default; -@@ -316,7 +374,6 @@ class Optional : public internal::Option - ~Optional() = default; - - // Defer copy-/move- assign operator implementation to OptionalBase. -- // TOOD(hidehiko): Implement conditional enabling. - Optional& operator=(const Optional& other) = default; - Optional& operator=(Optional&& other) = default; - diff --git a/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch b/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch deleted file mode 100644 index 3214104..0000000 --- a/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.converting chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.converting 2018-03-13 22:31:05.248797490 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:33:10.826368771 -0400 -@@ -31,6 +31,10 @@ constexpr in_place_t in_place = {}; - // http://en.cppreference.com/w/cpp/utility/optional/nullopt - constexpr nullopt_t nullopt(0); - -+// Forward declaration, which is refered by following helpers. -+template -+class Optional; -+ - namespace internal { - - template ::value> -@@ -220,6 +224,19 @@ class OptionalBase { - constexpr explicit OptionalBase(in_place_t, Args&&... args) - : storage_(in_place, std::forward(args)...) {} - -+ // Implementation of converting constructors. -+ template -+ explicit OptionalBase(const OptionalBase& other) { -+ if (other.storage_.is_populated_) -+ storage_.Init(other.storage_.value_); -+ } -+ -+ template -+ explicit OptionalBase(OptionalBase&& other) { -+ if (other.storage_.is_populated_) -+ storage_.Init(std::move(other.storage_.value_)); -+ } -+ - ~OptionalBase() = default; - - OptionalBase& operator=(const OptionalBase& other) { -@@ -263,6 +280,11 @@ class OptionalBase { - storage_.is_populated_ = false; - } - -+ // For implementing conversion, allow access to other typed OptionalBase -+ // class. -+ template -+ friend class OptionalBase; -+ - OptionalStorage storage_; - }; - -@@ -318,6 +340,20 @@ struct MoveAssignable { - MoveAssignable& operator=(MoveAssignable&&) = delete; - }; - -+// Helper to conditionally enable converting constructors. -+template -+struct IsConvertibleFromOptional -+ : std::integral_constant< -+ bool, -+ std::is_constructible&>::value || -+ std::is_constructible&>::value || -+ std::is_constructible&&>::value || -+ std::is_constructible&&>::value || -+ std::is_convertible&, T>::value || -+ std::is_convertible&, T>::value || -+ std::is_convertible&&, T>::value || -+ std::is_convertible&&, T>::value> {}; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -348,7 +384,47 @@ class Optional - constexpr Optional(const Optional& other) = default; - constexpr Optional(Optional&& other) = default; - -- constexpr Optional(nullopt_t) {} -+ constexpr Optional(nullopt_t) {} // NOLINT(runtime/explicit) -+ -+ // Converting copy constructor. "explicit" only if -+ // std::is_convertible::value is false. It is implemented by -+ // declaring two almost same constructors, but that condition in enable_if_t -+ // is different, so that either one is chosen, thanks to SFINAE. -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ std::is_convertible::value, -+ bool> = false> -+ Optional(const Optional& other) : internal::OptionalBase(other) {} -+ -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ !std::is_convertible::value, -+ bool> = false> -+ explicit Optional(const Optional& other) -+ : internal::OptionalBase(other) {} -+ -+ // Converting move constructor. Similar to converting copy constructor, -+ // declaring two (explicit and non-explicit) constructors. -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ std::is_convertible::value, -+ bool> = false> -+ Optional(Optional&& other) : internal::OptionalBase(std::move(other)) {} -+ -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ !std::is_convertible::value, -+ bool> = false> -+ explicit Optional(Optional&& other) -+ : internal::OptionalBase(std::move(other)) {} - - constexpr Optional(const T& value) - : internal::OptionalBase(in_place, value) {} diff --git a/chromium-65.0.3325.146-Implement-value-forward-constructor.patch b/chromium-65.0.3325.146-Implement-value-forward-constructor.patch deleted file mode 100644 index db727d8..0000000 --- a/chromium-65.0.3325.146-Implement-value-forward-constructor.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.vforward chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.vforward 2018-03-13 22:35:46.383359966 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:37:48.724992995 -0400 -@@ -354,6 +354,10 @@ struct IsConvertibleFromOptional - std::is_convertible&&, T>::value || - std::is_convertible&&, T>::value> {}; - -+// Forward compatibility for C++20. -+template -+using RemoveCvRefT = std::remove_cv_t>; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -367,6 +371,13 @@ struct IsConvertibleFromOptional - // - 'constexpr' might be missing in some places for reasons specified locally. - // - No exceptions are thrown, because they are banned from Chromium. - // - All the non-members are in the 'base' namespace instead of 'std'. -+// -+// Note that T cannot have a constructor T(Optional) etc. Optional checks -+// T's constructor (specifically via IsConvertibleFromOptional), and in the -+// check whether T can be constructible from Optional, which is recursive -+// so it does not work. As of Feb 2018, std::optional C++17 implementation in -+// both clang and gcc has same limitation. MSVC SFINAE looks to have different -+// behavior, but anyway it reports an error, too. - template - class Optional - : public internal::OptionalBase, -@@ -426,12 +437,6 @@ class Optional - explicit Optional(Optional&& other) - : internal::OptionalBase(std::move(other)) {} - -- constexpr Optional(const T& value) -- : internal::OptionalBase(in_place, value) {} -- -- constexpr Optional(T&& value) -- : internal::OptionalBase(in_place, std::move(value)) {} -- - template - constexpr explicit Optional(in_place_t, Args&&... args) - : internal::OptionalBase(in_place, std::forward(args)...) {} -@@ -447,6 +452,30 @@ class Optional - Args&&... args) - : internal::OptionalBase(in_place, il, std::forward(args)...) {} - -+ // Forward value constructor. Similar to converting constructors, -+ // conditionally explicit. -+ template < -+ typename U = value_type, -+ std::enable_if_t< -+ std::is_constructible::value && -+ !std::is_same, in_place_t>::value && -+ !std::is_same, Optional>::value && -+ std::is_convertible::value, -+ bool> = false> -+ constexpr Optional(U&& value) -+ : internal::OptionalBase(in_place, std::forward(value)) {} -+ -+ template < -+ typename U = value_type, -+ std::enable_if_t< -+ std::is_constructible::value && -+ !std::is_same, in_place_t>::value && -+ !std::is_same, Optional>::value && -+ !std::is_convertible::value, -+ bool> = false> -+ constexpr explicit Optional(U&& value) -+ : internal::OptionalBase(in_place, std::forward(value)) {} -+ - ~Optional() = default; - - // Defer copy-/move- assign operator implementation to OptionalBase. diff --git a/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch b/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch deleted file mode 100644 index f9c4503..0000000 --- a/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch +++ /dev/null @@ -1,144 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.ncnm chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.ncnm 2018-03-13 22:40:11.743226276 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:44:30.948211358 -0400 -@@ -240,37 +240,37 @@ class OptionalBase { - ~OptionalBase() = default; - - OptionalBase& operator=(const OptionalBase& other) { -- if (!other.storage_.is_populated_) { -- FreeIfNeeded(); -- return *this; -- } -- -- InitOrAssign(other.storage_.value_); -+ CopyAssign(other); - return *this; - } - - OptionalBase& operator=(OptionalBase&& other) { -- if (!other.storage_.is_populated_) { -- FreeIfNeeded(); -- return *this; -- } -- -- InitOrAssign(std::move(other.storage_.value_)); -+ MoveAssign(std::move(other)); - return *this; - } - -- void InitOrAssign(const T& value) { -- if (!storage_.is_populated_) -- storage_.Init(value); -+ template -+ void CopyAssign(const OptionalBase& other) { -+ if (other.storage_.is_populated_) -+ InitOrAssign(other.storage_.value_); - else -- storage_.value_ = value; -+ FreeIfNeeded(); - } - -- void InitOrAssign(T&& value) { -- if (!storage_.is_populated_) -- storage_.Init(std::move(value)); -+ template -+ void MoveAssign(OptionalBase&& other) { -+ if (other.storage_.is_populated_) -+ InitOrAssign(std::move(other.storage_.value_)); -+ else -+ FreeIfNeeded(); -+ } -+ -+ template -+ void InitOrAssign(U&& value) { -+ if (storage_.is_populated_) -+ storage_.value_ = std::forward(value); - else -- storage_.value_ = std::move(value); -+ storage_.Init(std::forward(value)); - } - - void FreeIfNeeded() { -@@ -340,7 +340,7 @@ struct MoveAssignable { - MoveAssignable& operator=(MoveAssignable&&) = delete; - }; - --// Helper to conditionally enable converting constructors. -+// Helper to conditionally enable converting constructors and assign operators. - template - struct IsConvertibleFromOptional - : std::integral_constant< -@@ -354,6 +354,16 @@ struct IsConvertibleFromOptional - std::is_convertible&&, T>::value || - std::is_convertible&&, T>::value> {}; - -+template -+struct IsAssignableFromOptional -+ : std::integral_constant< -+ bool, -+ IsConvertibleFromOptional::value || -+ std::is_assignable&>::value || -+ std::is_assignable&>::value || -+ std::is_assignable&&>::value || -+ std::is_assignable&&>::value> {}; -+ - // Forward compatibility for C++20. - template - using RemoveCvRefT = std::remove_cv_t>; -@@ -487,14 +497,42 @@ class Optional - return *this; - } - -- template -- typename std::enable_if, T>::value, -- Optional&>::type -+ // Perfect-forwarded assignment. -+ template -+ std::enable_if_t< -+ !std::is_same, Optional>::value && -+ std::is_constructible::value && -+ std::is_assignable::value && -+ (!std::is_scalar::value || -+ !std::is_same, T>::value), -+ Optional&> - operator=(U&& value) { - InitOrAssign(std::forward(value)); - return *this; - } - -+// Copy assign the state of other. -+ template -+ std::enable_if_t::value && -+ std::is_constructible::value && -+ std::is_assignable::value, -+ Optional&> -+ operator=(const Optional& other) { -+ CopyAssign(other); -+ return *this; -+ } -+ -+ // Move assign the state of other. -+ template -+ std::enable_if_t::value && -+ std::is_constructible::value && -+ std::is_assignable::value, -+ Optional&> -+ operator=(Optional&& other) { -+ MoveAssign(std::move(other)); -+ return *this; -+ } -+ - constexpr const T* operator->() const { - DCHECK(storage_.is_populated_); - return &value(); -@@ -606,8 +644,10 @@ class Optional - private: - // Accessing template base class's protected member needs explicit - // declaration to do so. -+ using internal::OptionalBase::CopyAssign; - using internal::OptionalBase::FreeIfNeeded; - using internal::OptionalBase::InitOrAssign; -+ using internal::OptionalBase::MoveAssign; - using internal::OptionalBase::storage_; - }; - diff --git a/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch b/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch deleted file mode 100644 index 8aaea85..0000000 --- a/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.affirmative chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.affirmative 2018-03-13 22:27:29.451969704 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:27:57.031436045 -0400 -@@ -41,7 +41,7 @@ struct OptionalStorageBase { - - template - constexpr explicit OptionalStorageBase(in_place_t, Args&&... args) -- : is_null_(false), value_(std::forward(args)...) {} -+ : is_populated_(true), value_(std::forward(args)...) {} - - // When T is not trivially destructible we must call its - // destructor before deallocating its memory. -@@ -55,18 +55,18 @@ struct OptionalStorageBase { - // necessary for this case at the moment. Please see also the destructor - // comment in "is_trivially_destructible = true" specialization below. - ~OptionalStorageBase() { -- if (!is_null_) -+ if (is_populated_) - value_.~T(); - } - - template - void Init(Args&&... args) { -- DCHECK(is_null_); -+ DCHECK(!is_populated_); - ::new (&value_) T(std::forward(args)...); -- is_null_ = false; -+ is_populated_ = true; - } - -- bool is_null_ = true; -+ bool is_populated_ = false; - union { - // |empty_| exists so that the union will always be initialized, even when - // it doesn't contain a value. Union members must be initialized for the -@@ -84,7 +84,7 @@ struct OptionalStorageBase - constexpr explicit OptionalStorageBase(in_place_t, Args&&... args) -- : is_null_(false), value_(std::forward(args)...) {} -+ : is_populated_(true), value_(std::forward(args)...) {} - - // When T is trivially destructible (i.e. its destructor does nothing) there - // is no need to call it. Implicitly defined destructor is trivial, because -@@ -102,12 +102,12 @@ struct OptionalStorageBase - void Init(Args&&... args) { -- DCHECK(is_null_); -+ DCHECK(!is_populated_); - ::new (&value_) T(std::forward(args)...); -- is_null_ = false; -+ is_populated_ = true; - } - -- bool is_null_ = true; -+ bool is_populated_ = false; - union { - // |empty_| exists so that the union will always be initialized, even when - // it doesn't contain a value. Union members must be initialized for the -@@ -133,7 +133,7 @@ struct OptionalStorage : OptionalStorage - - // Accessing the members of template base class requires explicit - // declaration. -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - -@@ -145,12 +145,12 @@ struct OptionalStorage : OptionalStorage - OptionalStorage() = default; - - OptionalStorage(const OptionalStorage& other) { -- if (!other.is_null_) -+ if (other.is_populated_) - Init(other.value_); - } - - OptionalStorage(OptionalStorage&& other) { -- if (!other.is_null_) -+ if (other.is_populated_) - Init(std::move(other.value_)); - } - }; -@@ -160,7 +160,7 @@ struct OptionalStorage - : OptionalStorageBase { -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - using OptionalStorageBase::OptionalStorageBase; -@@ -169,7 +169,7 @@ struct OptionalStorage - : OptionalStorageBase { -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - using OptionalStorageBase::OptionalStorageBase; -@@ -188,7 +188,7 @@ struct OptionalStorage storage_; -@@ -334,12 +334,12 @@ class Optional : public internal::Option - } - - constexpr const T* operator->() const { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return &value(); - } - - constexpr T* operator->() { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return &value(); - } - -@@ -351,27 +351,27 @@ class Optional : public internal::Option - - constexpr T&& operator*() && { return std::move(value()); } - -- constexpr explicit operator bool() const { return !storage_.is_null_; } -+ constexpr explicit operator bool() const { return storage_.is_populated_; } - -- constexpr bool has_value() const { return !storage_.is_null_; } -+ constexpr bool has_value() const { return storage_.is_populated_; } - - constexpr T& value() & { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return storage_.value_; - } - - constexpr const T& value() const & { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return storage_.value_; - } - - constexpr T&& value() && { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return std::move(storage_.value_); - } - - constexpr const T&& value() const && { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return std::move(storage_.value_); - } - -@@ -382,8 +382,9 @@ class Optional : public internal::Option - // "T must be copy constructible"); - static_assert(std::is_convertible::value, - "U must be convertible to T"); -- return storage_.is_null_ ? static_cast(std::forward(default_value)) -- : value(); -+ return storage_.is_populated_ -+ ? value() -+ : static_cast(std::forward(default_value)); - } - - template -@@ -393,26 +394,27 @@ class Optional : public internal::Option - // "T must be move constructible"); - static_assert(std::is_convertible::value, - "U must be convertible to T"); -- return storage_.is_null_ ? static_cast(std::forward(default_value)) -- : std::move(value()); -+ return storage_.is_populated_ -+ ? std::move(value()) -+ : static_cast(std::forward(default_value)); - } - - void swap(Optional& other) { -- if (storage_.is_null_ && other.storage_.is_null_) -+ if (!storage_.is_populated_ && !other.storage_.is_populated_) - return; - -- if (storage_.is_null_ != other.storage_.is_null_) { -- if (storage_.is_null_) { -- storage_.Init(std::move(other.storage_.value_)); -- other.FreeIfNeeded(); -- } else { -+ if (storage_.is_populated_ != other.storage_.is_populated_) { -+ if (storage_.is_populated_) { - other.storage_.Init(std::move(storage_.value_)); - FreeIfNeeded(); -+ } else { -+ storage_.Init(std::move(other.storage_.value_)); -+ other.FreeIfNeeded(); - } - return; - } - -- DCHECK(!storage_.is_null_ && !other.storage_.is_null_); -+ DCHECK(storage_.is_populated_ && other.storage_.is_populated_); - using std::swap; - swap(**this, *other); - } diff --git a/chromium-65.0.3325.146-gcc5-r3.patch b/chromium-65.0.3325.146-gcc5-r3.patch deleted file mode 100644 index ab74a35..0000000 --- a/chromium-65.0.3325.146-gcc5-r3.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff -up chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-03-06 18:04:32.000000000 -0500 -+++ chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500 -+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -138,7 +138,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500 -+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-03-06 18:05:06.000000000 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-03-07 10:48:53.996093882 -0500 -@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(length), - data_(data), - data_length_(length), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-03-06 18:06:09.000000000 -0500 -+++ chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-03-07 10:42:07.199179616 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-65.0.3325.146-gcc7.patch b/chromium-65.0.3325.146-gcc7.patch deleted file mode 100644 index 4f2b46c..0000000 --- a/chromium-65.0.3325.146-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-03-07 10:34:48.783900894 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-03-07 10:35:44.885638503 -0500 -@@ -5,6 +5,7 @@ - #ifndef SharedGpuContext_h - #define SharedGpuContext_h - -+#include - #include - #include "base/callback.h" - #include "base/memory/weak_ptr.h" diff --git a/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch b/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch deleted file mode 100644 index 241dfb5..0000000 --- a/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.784732 chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.784732 2018-03-07 13:40:00.103579631 -0500 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-07 13:41:08.950323996 -0500 -@@ -9,6 +9,7 @@ - #include - - #include "base/logging.h" -+#include "base/template_util.h" - - namespace base { - -@@ -106,7 +107,7 @@ struct OptionalStorageBase::value, -+ bool = is_trivially_copy_constructible::value, - bool = std::is_trivially_move_constructible::value> - struct OptionalStorage : OptionalStorageBase { - // This is no trivially {copy,move} constructible case. Other cases are -diff -up chromium-65.0.3325.146/base/template_util.h.784732 chromium-65.0.3325.146/base/template_util.h ---- chromium-65.0.3325.146/base/template_util.h.784732 2018-03-07 13:41:19.479131969 -0500 -+++ chromium-65.0.3325.146/base/template_util.h 2018-03-07 13:42:41.308639551 -0500 -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - - #include "build/build_config.h" - -@@ -127,6 +128,23 @@ template - using is_trivially_copyable = std::is_trivially_copyable; - #endif - -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+template -+struct is_trivially_copy_constructible -+ : std::is_trivially_copy_constructible {}; -+ -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#else -+// Otherwise use std::is_trivially_copy_constructible as is. -+template -+using is_trivially_copy_constructible = std::is_trivially_copy_constructible; -+#endif -+ - } // namespace base - - #undef CR_USE_FALLBACKS_FOR_GCC_WITH_LIBCXX diff --git a/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch b/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch deleted file mode 100644 index 8b5ff7f..0000000 --- a/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan 2018-03-13 16:45:40.613426445 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h 2018-03-13 16:45:49.946244905 -0400 -@@ -18,6 +18,7 @@ - #include "platform/wtf/HashTable.h" - #include "platform/wtf/LinkedHashSet.h" - #include "platform/wtf/ListHashSet.h" -+#include "platform/wtf/Optional.h" - #include "platform/wtf/TypeTraits.h" - - namespace blink { -@@ -325,6 +326,23 @@ class TraceTrait> { - } - }; - -+// While using Optional with garbage-collected types is generally disallowed -+// by the OptionalGarbageCollected check in blink_gc_plugin, garbage-collected -+// containers such as HeapVector are allowed and need to be traced. -+template -+class TraceTrait> { -+ STATIC_ONLY(TraceTrait); -+ -+ public: -+ template -+ static void Trace(VisitorDispatcher visitor, WTF::Optional* optional) { -+ if (*optional != WTF::nullopt) { -+ TraceIfEnabled::value>::Trace(visitor, -+ optional->value()); -+ } -+ } -+}; -+ - // If eager tracing leads to excessively deep |trace()| call chains (and - // the system stack usage that this brings), the marker implementation will - // switch to using an explicit mark stack. Recursive and deep object graphs -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan 2018-03-13 16:46:01.683015951 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-13 16:46:51.632043375 -0400 -@@ -7,20 +7,15 @@ - - #include "base/optional.h" - #include "platform/wtf/TemplateUtil.h" --#include "platform/wtf/TypeTraits.h" - - namespace WTF { - - // WTF::Optional is base::Optional. See base/optional.h for documentation. - // - // A clang plugin enforces that garbage collected types are not allocated --// outside of the heap, similarly we enforce that one doesn't create garbage --// collected types nested inside an Optional. -+// outside of the heap. GC containers such as HeapVector are allowed though. - template --using Optional = -- typename std::enable_if::value || -- IsPersistentReferenceType::value, -- base::Optional>::type; -+using Optional = base::Optional; - - constexpr base::nullopt_t nullopt = base::nullopt; - constexpr base::in_place_t in_place = base::in_place; diff --git a/chromium-65.0.3325.146-wtf-vector-fix.patch b/chromium-65.0.3325.146-wtf-vector-fix.patch deleted file mode 100644 index e4bfeba..0000000 --- a/chromium-65.0.3325.146-wtf-vector-fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp 2018-03-07 13:54:42.653286576 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS 2018-03-07 13:55:00.973903591 -0500 -@@ -16,6 +16,7 @@ include_rules = [ - "+base/process/process_metrics.h", - "+base/rand_util.h", - "+base/strings", -+ "+base/template_util.h", - "+base/threading/thread_checker.h", - "+base/time/time.h", - "+base/tuple.h", -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp 2018-03-07 13:56:29.053062331 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-07 13:56:36.595904651 -0500 -@@ -6,6 +6,7 @@ - #define Optional_h - - #include "base/optional.h" -+#include "platform/wtf/TemplateUtil.h" - #include "platform/wtf/TypeTraits.h" - - namespace WTF { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp 2018-03-07 13:56:47.356679702 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-03-07 13:57:41.769542223 -0500 -@@ -0,0 +1,28 @@ -+// Copyright 2018 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. -+ -+#ifndef TemplateUtil_h -+#define TemplateUtil_h -+ -+#include "base/template_util.h" -+#include "platform/wtf/Vector.h" -+ -+namespace base { -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+// -+// It completes the declaration in base/template_util.h that was provided -+// for std::vector -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ -+} // namespace base -+ -+#endif // TemplateUtil_h -+ diff --git a/chromium-65.0.3325.162-boolfix.patch b/chromium-65.0.3325.162-boolfix.patch deleted file mode 100644 index a27f3a8..0000000 --- a/chromium-65.0.3325.162-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-03-15 13:07:54.999428755 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-03-15 13:08:21.270794252 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-03-15 13:07:09.680523296 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h 2018-03-15 13:07:44.429684037 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-03-15 13:08:33.494499025 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h 2018-03-15 13:10:39.218462546 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-65.0.3325.162-epel7-stdc++.patch b/chromium-65.0.3325.162-epel7-stdc++.patch deleted file mode 100644 index ee2066b..0000000 --- a/chromium-65.0.3325.162-epel7-stdc++.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 chromium-65.0.3325.162/build/config/posix/BUILD.gn ---- chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 2018-03-20 16:14:42.425926323 -0400 -+++ chromium-65.0.3325.162/build/config/posix/BUILD.gn 2018-03-20 16:15:10.150152245 -0400 -@@ -74,6 +74,8 @@ config("runtime_library") { - "rt", - ] - } -+ } else { -+ libs += [ "stdc++" ] - } - - if (!is_mac && !is_ios && sysroot != "") { diff --git a/chromium-65.0.3325.162-skia-aarch64-buildfix.patch b/chromium-65.0.3325.162-skia-aarch64-buildfix.patch deleted file mode 100644 index e48346c..0000000 --- a/chromium-65.0.3325.162-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp ---- chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix 2018-03-15 15:27:35.201345844 -0400 -+++ chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp 2018-03-15 15:31:30.471777400 -0400 -@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -686,7 +686,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch deleted file mode 100644 index 36ade41..0000000 --- a/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h ---- chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl 2018-04-25 16:29:52.372692179 -0400 -+++ chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h 2018-04-25 16:31:15.698058409 -0400 -@@ -21,9 +21,9 @@ - #include "services/preferences/public/mojom/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/tracked_preference.h" - --class PrefHashStore; - class PrefService; - - namespace base { -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl 2018-04-17 21:05:12.000000000 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-04-25 16:29:52.373692159 -0400 -@@ -30,6 +30,7 @@ - - #include - #include "modules/webdatabase/DatabaseBasicTypes.h" -+#include "modules/webdatabase/SQLError.h" - #include "modules/webdatabase/SQLStatement.h" - #include "modules/webdatabase/SQLStatementBackend.h" - #include "modules/webdatabase/SQLTransactionStateMachine.h" -@@ -41,7 +42,6 @@ - namespace blink { - - class Database; --class SQLErrorData; - class SQLiteTransaction; - class SQLTransaction; - class SQLTransactionBackend; diff --git a/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch b/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch deleted file mode 100644 index cb68934..0000000 --- a/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc ---- chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix 2018-04-30 14:22:23.997461566 -0400 -+++ chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-04-30 14:22:51.867920383 -0400 -@@ -368,7 +368,7 @@ SupervisedUserURLFilter::GetFilteringBeh - - // Allow navigations to whitelisted origins (currently families.google.com). - static const base::NoDestructor> kWhitelistedOrigins( -- {GURL(kFamiliesUrl).GetOrigin()}); -+ base::flat_set({GURL(kFamiliesUrl).GetOrigin()})); - if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin())) - return ALLOW; - diff --git a/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch deleted file mode 100644 index 09c5b82..0000000 --- a/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.cc ---- chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon 2018-04-23 13:22:43.109126071 -0400 -+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.cc 2018-04-23 13:23:55.761704938 -0400 -@@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_ - PlaybackImageProvider::PlaybackImageProvider( - ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings) -+ base::Optional&& settings) - : cache_(cache), - target_color_space_(target_color_space), - settings_(std::move(settings)) { -@@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawIma - } - - PlaybackImageProvider::Settings::Settings() = default; --PlaybackImageProvider::Settings::Settings(const Settings& other) = default; -+PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) = -+ default; - PlaybackImageProvider::Settings::~Settings() = default; -+PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=( -+ PlaybackImageProvider::Settings&&) = default; - - } // namespace cc -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.h ---- chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon 2018-04-23 13:24:07.699471148 -0400 -+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.h 2018-04-23 13:24:57.080506348 -0400 -@@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider : - public: - struct CC_EXPORT Settings { - Settings(); -- Settings(const Settings& other); -+ Settings(const Settings&) = delete; -+ Settings(Settings&&); - ~Settings(); -+ Settings& operator=(Settings&&); - - // The set of image ids to skip during raster. - PaintImageIdFlatSet images_to_skip; -@@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider : - // If no settings are provided, all images are skipped during rasterization. - PlaybackImageProvider(ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings); -+ base::Optional&& settings); - ~PlaybackImageProvider() override; - - PlaybackImageProvider(PlaybackImageProvider&& other); -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc diff --git a/chromium-66.0.3359.117-gcc-optional-move-fixes.patch b/chromium-66.0.3359.117-gcc-optional-move-fixes.patch deleted file mode 100644 index 80df7d0..0000000 --- a/chromium-66.0.3359.117-gcc-optional-move-fixes.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc ---- chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove 2018-04-23 12:53:32.419477463 -0400 -+++ chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc 2018-04-23 12:54:02.497887258 -0400 -@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre - - SubresourceLoaderParams params; - params.loader_factory_info = factory_ptr.PassInterface(); -- return params; -+ return base::Optional(std::move(params)); - } - - void AppCacheRequestHandler::MaybeCreateSubresourceLoader( -diff -up chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc ---- chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove 2018-04-23 12:54:16.614610083 -0400 -+++ chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-04-23 12:54:38.401182827 -0400 -@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M - controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( - provider_host_->controller()); - params.controller_service_worker_info = std::move(controller_info); -- return params; -+ return base::Optional(std::move(params)); - } - - void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( -diff -up chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove chromium-66.0.3359.117/device/fido/device_response_converter.cc ---- chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove 2018-04-23 12:54:51.452926482 -0400 -+++ chromium-66.0.3359.117/device/fido/device_response_converter.cc 2018-04-23 12:55:24.248283058 -0400 -@@ -121,7 +121,7 @@ base::Optionalsecond.GetUnsigned()); - } - -- return response; -+ return base::Optional(std::move(response)); - } - - base::Optional ReadCTAPGetInfoResponse( -@@ -241,7 +241,7 @@ base::Optional(std::move(response)); - } - - } // namespace device diff --git a/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch deleted file mode 100644 index b86c200..0000000 --- a/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 2018-04-23 14:18:43.702116916 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS 2018-04-23 14:19:05.854680223 -0400 -@@ -16,6 +16,7 @@ include_rules = [ - "+base/process/process_metrics.h", - "+base/rand_util.h", - "+base/strings", -+ "+base/template_util.h", - "+base/threading/thread_checker.h", - "+base/time/time.h", - "+base/tuple.h", -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 2018-04-23 14:20:05.718499685 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h 2018-04-23 14:20:18.165253615 -0400 -@@ -6,6 +6,7 @@ - #define Optional_h - - #include "base/optional.h" -+#include "platform/wtf/TemplateUtil.h" - - namespace WTF { - -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 2018-04-23 14:20:31.660987877 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-04-23 14:21:40.276637297 -0400 -@@ -0,0 +1,27 @@ -+// Copyright 2018 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. -+ -+#ifndef TemplateUtil_h -+#define TemplateUtil_h -+ -+#include "base/template_util.h" -+#include "platform/wtf/Vector.h" -+ -+namespace base { -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+// -+// It completes the declaration in base/template_util.h that was provided -+// for std::vector -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ -+} // namespace base -+ -+#endif // TemplateUtil_h diff --git a/chromium-66.0.3359.117-gcc5-r3.patch b/chromium-66.0.3359.117-gcc5-r3.patch deleted file mode 100644 index 56abcf1..0000000 --- a/chromium-66.0.3359.117-gcc5-r3.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-04-17 21:04:33.000000000 -0400 -+++ chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h 2018-04-18 12:12:40.065663210 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-04-17 21:04:43.000000000 -0400 -+++ chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-04-18 12:12:40.067663160 -0400 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -diff -up chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-04-17 21:06:20.000000000 -0400 -+++ chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-04-18 12:12:40.068663134 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-66.0.3359.117-nounrar.patch b/chromium-66.0.3359.117-nounrar.patch deleted file mode 100644 index 67a517b..0000000 --- a/chromium-66.0.3359.117-nounrar.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn ---- chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar 2018-04-25 12:17:13.858139109 -0400 -+++ chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn 2018-04-25 12:19:53.639532053 -0400 -@@ -27,9 +27,9 @@ source_set("cpp") { - } - - #TODO(crbug/750327): This dependency is here temporarily. -- deps = [ -- "//third_party/unrar:unrar", -- ] -+ # deps = [ -+ # "//third_party/unrar:unrar", -+ # ] - - public_deps += [ "//chrome/common/safe_browsing" ] - } diff --git a/chromium-66.0.3359.139-arm-init-fix.patch b/chromium-66.0.3359.139-arm-init-fix.patch deleted file mode 100644 index 754af5b..0000000 --- a/chromium-66.0.3359.139-arm-init-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix chromium-66.0.3359.139/skia/ext/convolver_neon.cc ---- chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix 2018-05-05 10:07:03.624424987 -0400 -+++ chromium-66.0.3359.139/skia/ext/convolver_neon.cc 2018-05-05 10:07:45.417503001 -0400 -@@ -23,7 +23,7 @@ AccumRemainder(const unsigned char* pixe - remainder[2] += coeff * pixels_left[i * 4 + 2]; - remainder[3] += coeff * pixels_left[i * 4 + 3]; - } -- return {remainder[0], remainder[1], remainder[2], remainder[3]}; -+ return vld1q_s32(remainder); - } - - // Convolves horizontally along a single row. The row data is given in diff --git a/chromium-66.0.3359.170-gcc8-alignof.patch b/chromium-66.0.3359.170-gcc8-alignof.patch deleted file mode 100644 index 0c2b356..0000000 --- a/chromium-66.0.3359.170-gcc8-alignof.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/mojo/public/c/system/macros.h ---- chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof 2018-05-15 14:58:46.448912634 -0400 -+++ chromium-66.0.3359.170/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 -@@ -18,7 +18,13 @@ - #endif - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/chromium-67.0.3396.62-boolfix.patch b/chromium-67.0.3396.62-boolfix.patch deleted file mode 100644 index d0ed189..0000000 --- a/chromium-67.0.3396.62-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-05-30 04:43:17.000000000 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-05-30 12:33:03.268912315 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-05-30 04:43:17.000000000 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h 2018-05-30 12:33:03.269912294 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-05-30 12:33:03.270912274 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h 2018-05-30 12:34:05.156637922 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch b/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch deleted file mode 100644 index e19d726..0000000 --- a/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S ---- chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix 2018-06-04 14:58:04.730083967 -0400 -+++ chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S 2018-06-04 14:58:24.896572816 -0400 -@@ -288,7 +288,7 @@ CAPTURECONTEXT_SYMBOL2: - #elif defined(__aarch64__) - - // Zero out fault_address, which is unused. -- str x31, [x0, #0xb0] // context->uc_mcontext.fault_address -+ str xzr, [x0, #0xb0] // context->uc_mcontext.fault_address - - // Save general purpose registers in context->uc_mcontext.regs[i]. - // The original x0 can't be recovered. -diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h diff --git a/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch b/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch deleted file mode 100644 index 1aa5600..0000000 --- a/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py ---- chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec 2018-06-06 10:13:40.862084284 -0400 -+++ chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py 2018-06-06 10:14:08.809490819 -0400 -@@ -112,7 +112,7 @@ def windows_prepare_toolchain(tempdir): - - _globals = {"__builtins__":None} - _locals = {} -- exec(response, _globals, _locals) -+ exec response in _globals, _locals - - return _locals - diff --git a/chromium-67.0.3396.62-skia-aarch64-buildfix.patch b/chromium-67.0.3396.62-skia-aarch64-buildfix.patch deleted file mode 100644 index 6b37b08..0000000 --- a/chromium-67.0.3396.62-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h ---- chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-05-30 12:38:06.131467092 -0400 -+++ chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-05-30 12:38:39.861734819 -0400 -@@ -653,7 +653,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -673,7 +673,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-67.0.3396.87-fedora-user-agent.patch b/chromium-67.0.3396.87-fedora-user-agent.patch deleted file mode 100644 index 8df304d..0000000 --- a/chromium-67.0.3396.87-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent chromium-67.0.3396.87/content/common/user_agent.cc ---- chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent 2018-06-25 16:01:48.092188102 -0400 -+++ chromium-67.0.3396.87/content/common/user_agent.cc 2018-06-25 16:02:42.634878954 -0400 -@@ -141,7 +141,7 @@ std::string getUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #else diff --git a/chromium-67.0.3396.99-py2-bootstrap.patch b/chromium-67.0.3396.99-py2-bootstrap.patch deleted file mode 100644 index b59c84b..0000000 --- a/chromium-67.0.3396.99-py2-bootstrap.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -up chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-07-25 14:14:02.004886479 -0400 -+++ chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-07-25 14:15:30.167896461 -0400 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,7 @@ def _MinifyCSS(css_text): - os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py')) - - with tempfile.NamedTemporaryFile() as _: -- rcssmin_args = ['python', rcssmin_path] -+ rcssmin_args = ['python2', rcssmin_path] - p = subprocess.Popen(rcssmin_args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, -diff -up chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py ---- chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 2018-07-24 16:58:53.372022183 -0400 -+++ chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py 2018-07-24 17:00:03.200279816 -0400 -@@ -983,7 +983,7 @@ def build_gn_with_gn(temp_gn, build_dir, - gn_gen_args = options.gn_gen_args or '' - if not options.debug: - gn_gen_args += ' is_debug=false' -- cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args, -+ cmd = [temp_gn, 'gen', '--script-executable=/usr/bin/python2', build_dir, '--args=%s' % gn_gen_args, - "--root="+SRC_ROOT - ] - check_call(cmd) -@@ -997,7 +997,7 @@ def build_gn_with_gn(temp_gn, build_dir, - # build.ninja currently refers back to gn from the temporary directory. - # Regenerate the build files using the gn we just built so that the reference - # gets updated to "./gn". -- cmd = [os.path.join(build_dir, 'gn'), 'gen', build_dir, -+ cmd = [os.path.join(build_dir, 'gn'), 'gen', '--script-executable=/usr/bin/python2', build_dir, - '--args=%s' % gn_gen_args] - check_call(cmd) - diff --git a/chromium-68.0.3440.106-fedora-user-agent.patch b/chromium-68.0.3440.106-fedora-user-agent.patch deleted file mode 100644 index 6c4cb82..0000000 --- a/chromium-68.0.3440.106-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent chromium-68.0.3440.106/content/common/user_agent.cc ---- chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent 2018-08-09 03:27:45.965769824 -0400 -+++ chromium-68.0.3440.106/content/common/user_agent.cc 2018-08-09 03:28:34.001586650 -0400 -@@ -135,7 +135,7 @@ std::string getUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-68.0.3440.106-fix-build-networking_private.patch b/chromium-68.0.3440.106-fix-build-networking_private.patch deleted file mode 100644 index 787d3db..0000000 --- a/chromium-68.0.3440.106-fix-build-networking_private.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn ---- chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb 2018-08-09 03:56:36.091622243 -0400 -+++ chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn 2018-08-09 03:57:03.047001659 -0400 -@@ -61,7 +61,7 @@ source_set("networking_private") { - ] - deps += [ "//chromeos" ] - } else { -- not_needed(default_sources) -+ not_needed([ "default_sources" ]) - sources = [ - "networking_private_stubs.cc", - ] diff --git a/chromium-68.0.3440.106-notest.patch b/chromium-68.0.3440.106-notest.patch deleted file mode 100644 index c20a40e..0000000 --- a/chromium-68.0.3440.106-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd ---- chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest 2018-08-09 03:08:33.953029806 -0400 -+++ chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd 2018-08-09 03:09:40.264567818 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-68.0.3440.84-cors-string.patch b/chromium-68.0.3440.84-cors-string.patch deleted file mode 100644 index b724cd4..0000000 --- a/chromium-68.0.3440.84-cors-string.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 01d891fa0790950549c7bedb34edf869827a372e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 31 May 2018 17:03:37 +0000 -Subject: [PATCH] CORS legacy: add missing string include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The cors_legacy.h file includes declarations using std::string, but -it is not declared due to missing #include . - -Also drop unneeded declarations in .cpp file. - -Change-Id: I00df799f84a6c3530c2f12f1e52d24c7d9bd6bfd -Reviewed-on: https://chromium-review.googlesource.com/1080707 -Reviewed-by: Tom Sepez -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#563282} ---- - services/network/public/cpp/cors/cors_legacy.cc | 2 -- - services/network/public/cpp/cors/cors_legacy.h | 1 + - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/services/network/public/cpp/cors/cors_legacy.cc b/services/network/public/cpp/cors/cors_legacy.cc -index 8f32ac3be64e..f01af63619b5 100644 ---- a/services/network/public/cpp/cors/cors_legacy.cc -+++ b/services/network/public/cpp/cors/cors_legacy.cc -@@ -5,8 +5,6 @@ - #include "services/network/public/cpp/cors/cors_legacy.h" - - #include --#include --#include - - #include "url/gurl.h" - #include "url/url_util.h" -diff --git a/services/network/public/cpp/cors/cors_legacy.h b/services/network/public/cpp/cors/cors_legacy.h -index d2cdf026ca3a..dc9295a92c47 100644 ---- a/services/network/public/cpp/cors/cors_legacy.h -+++ b/services/network/public/cpp/cors/cors_legacy.h -@@ -5,6 +5,7 @@ - #ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_ - #define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_ - -+#include - #include - - #include "base/component_export.h" --- -2.17.1 - diff --git a/chromium-68.0.3440.84-libjpeg.patch b/chromium-68.0.3440.84-libjpeg.patch deleted file mode 100644 index 5354281..0000000 --- a/chromium-68.0.3440.84-libjpeg.patch +++ /dev/null @@ -1,62 +0,0 @@ -From c6b0194f7a4d9f494b2d51f46d2c332e2e5f4050 Mon Sep 17 00:00:00 2001 -From: Daniel Bratell -Date: Mon, 28 May 2018 13:13:01 +0000 -Subject: [PATCH] Use the same libjpeg in all of blink/platform - -The normal libjpeg renames some symbols with macros so if its -headers are included together with libjpeg-turbo's headers -in the same translation unit, there will be an inconsistent -renaming of libjpeg symbols. This happened in some extreme -jumbo configuration and resulted in confising linker errors. - -This patch changes an include so that jpeglib.h becomes included -the same way everywhere. - -Change-Id: I7f122d0919d58371bb40dc0097a766b857b9815e -Reviewed-on: https://chromium-review.googlesource.com/1073423 -Reviewed-by: Kentaro Hara -Commit-Queue: Daniel Bratell -Cr-Commit-Position: refs/heads/master@{#562243} ---- - .../renderer/platform/image-encoders/image_encoder.cc | 11 +++++++++++ - .../renderer/platform/image-encoders/image_encoder.h | 2 -- - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -index 0c7f14c7c0e4..4c450f5d6783 100644 ---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -@@ -4,6 +4,17 @@ - - #include "third_party/blink/renderer/platform/image-encoders/image_encoder.h" - -+#include "build/build_config.h" -+ -+#if defined(OS_WIN) -+#include // Included before jpeglib.h because of INT32 clash -+#endif // OS_WIN -+#include // Needed by jpeglib.h -+ -+#include "jpeglib.h" // for JPEG_MAX_DIMENSION -+ -+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION -+ - namespace blink { - - bool ImageEncoder::Encode(Vector* dst, -diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.h b/third_party/blink/renderer/platform/image-encoders/image_encoder.h -index 0d1460f34827..40306097d507 100644 ---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.h -+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.h -@@ -7,8 +7,6 @@ - - #include "third_party/blink/renderer/platform/platform_export.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" --#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION --#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION - #include "third_party/skia/include/core/SkStream.h" - #include "third_party/skia/include/encode/SkJpegEncoder.h" - #include "third_party/skia/include/encode/SkPngEncoder.h" --- -2.17.1 - diff --git a/chromium-68.0.3440.84-libwebp-shim.patch b/chromium-68.0.3440.84-libwebp-shim.patch deleted file mode 100644 index cb387a4..0000000 --- a/chromium-68.0.3440.84-libwebp-shim.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/build/linux/unbundle/libwebp.gn b/build/linux/unbundle/libwebp.gn -index ab92adecf400..12574d87be58 100644 ---- a/build/linux/unbundle/libwebp.gn -+++ b/build/linux/unbundle/libwebp.gn -@@ -2,12 +2,34 @@ - # 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_libwebp") { -+ packages = [ -+ "libwebp", -+ "libwebpdemux", -+ "libwebpmux", -+ ] -+} -+ -+shim_headers("libwebp_shim") { -+ root_path = "src" -+ headers = [ -+ "webp/decode.h", -+ "webp/demux.h", -+ "webp/encode.h", -+ "webp/mux.h", -+ "webp/mux_types.h", -+ "webp/types.h", -+ ] -+} -+ - source_set("libwebp_webp") { -- libs = [ -- "webp", -- "webpdemux", -- "webpmux", -+ deps = [ -+ ":libwebp_shim", - ] -+ public_configs = [ ":system_libwebp" ] - } - - group("libwebp") { diff --git a/chromium-68.0.3440.84-move-unique-ptr.patch b/chromium-68.0.3440.84-move-unique-ptr.patch deleted file mode 100644 index 2942a8f..0000000 --- a/chromium-68.0.3440.84-move-unique-ptr.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 56cb5f7da1025f6db869e840ed34d3b98b9ab899 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 29 May 2018 16:04:14 +0000 -Subject: [PATCH] GCC: do not std::move unique ptr of forward declared UrlIndex -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC fails to resolve the size of UrlIndex, needed -for moving a std::unique_ptr of UrlIndex. This is because -moved is done on a forward-declared UrlIndex. - -To avoid the problem, move the call to std::move to the .cc -file so the full declaration is available. - -Build error: -../../buildtools/third_party/libc++/trunk/include/memory: In instantiation of ‘void std::__1::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = bookmarks::UrlIndex]’: -../../buildtools/third_party/libc++/trunk/include/memory:2634:22: required from ‘void std::__1::unique_ptr<_Tp, _Dp>::reset(std::__1::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete; std::__1::unique_ptr<_Tp, _Dp>::pointer = bookmarks::UrlIndex*]’ -../../buildtools/third_party/libc++/trunk/include/memory:2588:24: required from ‘std::__1::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete]’ -../../components/bookmarks/browser/bookmark_storage.h:107:76: required from here -../../buildtools/third_party/libc++/trunk/include/memory:2317:25: error: invalid application of ‘sizeof’ to incomplete type ‘bookmarks::UrlIndex’ - static_assert(sizeof(_Tp) > 0, - -Bug: 819294 -Change-Id: I793a807c28e797aaa2e31d9c8b7e09fb6ca6b9e7 -Reviewed-on: https://chromium-review.googlesource.com/1071648 -Commit-Queue: Scott Violet -Reviewed-by: Scott Violet -Cr-Commit-Position: refs/heads/master@{#562446} ---- - components/bookmarks/browser/bookmark_storage.cc | 4 ++++ - components/bookmarks/browser/bookmark_storage.h | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc -index 1633ba1df2a4..3ae0c62292e7 100644 ---- a/components/bookmarks/browser/bookmark_storage.cc -+++ b/components/bookmarks/browser/bookmark_storage.cc -@@ -158,6 +158,10 @@ void BookmarkLoadDetails::CreateUrlIndex() { - url_index_ = std::make_unique(std::move(root_node_)); - } - -+std::unique_ptr BookmarkLoadDetails::owned_url_index() { -+ return std::move(url_index_); -+} -+ - BookmarkPermanentNode* BookmarkLoadDetails::CreatePermanentNode( - BookmarkClient* client, - BookmarkNode::Type type) { -diff --git a/components/bookmarks/browser/bookmark_storage.h b/components/bookmarks/browser/bookmark_storage.h -index 08df5bb65d83..0a1b1a1b65b9 100644 ---- a/components/bookmarks/browser/bookmark_storage.h -+++ b/components/bookmarks/browser/bookmark_storage.h -@@ -104,7 +104,7 @@ class BookmarkLoadDetails { - bool ids_reassigned() const { return ids_reassigned_; } - - void CreateUrlIndex(); -- std::unique_ptr owned_url_index() { return std::move(url_index_); } -+ std::unique_ptr owned_url_index(); - - private: - // Creates one of the possible permanent nodes (bookmark bar node, other node --- -2.17.1 - diff --git a/chromium-69.0.3497.81-gcc8-alignof.patch b/chromium-69.0.3497.81-gcc8-alignof.patch deleted file mode 100644 index 234b391..0000000 --- a/chromium-69.0.3497.81-gcc8-alignof.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof chromium-69.0.3497.81/mojo/public/c/system/macros.h ---- chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof 2018-09-06 10:11:54.336432699 -0400 -+++ chromium-69.0.3497.81/mojo/public/c/system/macros.h 2018-09-06 10:13:56.555727572 -0400 -@@ -27,7 +27,13 @@ - (sizeof(void*) == 4 ? 32 : 0) - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/chromium-69.0.3497.81-norar.patch b/chromium-69.0.3497.81-norar.patch deleted file mode 100644 index 9545b60..0000000 --- a/chromium-69.0.3497.81-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn ---- chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-09-06 13:29:47.114511569 -0400 -+++ chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn 2018-09-06 13:29:47.120511452 -0400 -@@ -55,40 +55,6 @@ if (safe_browsing_mode == 1) { - "//components/safe_browsing:csd_proto", - ] - } -- -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_protection_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } - } - - source_set("safe_browsing") { -@@ -121,7 +87,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_protection_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS ---- chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar 2018-09-06 13:29:47.119511472 -0400 -+++ chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS 2018-09-06 13:29:47.116511530 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-09-07 10:10:42.286041744 -0400 -+++ chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc 2018-09-07 10:11:14.934308285 -0400 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-69.0.3497.81-py2-bootstrap.patch b/chromium-69.0.3497.81-py2-bootstrap.patch deleted file mode 100644 index 8a5db71..0000000 --- a/chromium-69.0.3497.81-py2-bootstrap.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-09-06 10:45:17.919774145 -0400 -+++ chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-09-06 10:45:17.914774254 -0400 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,7 @@ def _MinifyCSS(css_text): - os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py')) - - with tempfile.NamedTemporaryFile() as _: -- rcssmin_args = ['python', rcssmin_path] -+ rcssmin_args = ['python2', rcssmin_path] - p = subprocess.Popen(rcssmin_args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, -diff -up chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py ---- chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 2018-09-06 10:44:42.225550561 -0400 -+++ chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py 2018-09-06 13:06:24.251636231 -0400 -@@ -87,7 +87,7 @@ def main(argv): - if not options.debug: - gn_gen_args += ' is_debug=false' - subprocess.check_call([ -- gn_path, 'gen', out_dir, -+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2', - '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT - ]) - diff --git a/chromium-69.0.3497.81-widevine-r2.patch b/chromium-69.0.3497.81-widevine-r2.patch deleted file mode 100644 index a66a0fb..0000000 --- a/chromium-69.0.3497.81-widevine-r2.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn ---- chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack 2018-09-06 13:28:22.655272555 -0400 -+++ chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn 2018-09-06 13:28:22.655272555 -0400 -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu -diff -up chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h ---- chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack 2018-09-06 13:28:22.654272577 -0400 -+++ chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h 2018-09-06 13:28:22.654272577 -0400 -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/chromium-70.0.3538.110-remove-sysroot-options.patch b/chromium-70.0.3538.110-remove-sysroot-options.patch deleted file mode 100644 index 9eb99d1..0000000 --- a/chromium-70.0.3538.110-remove-sysroot-options.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py ---- chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-11-26 13:40:19.324713204 -0500 -+++ chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py 2018-11-26 13:40:43.199180888 -0500 -@@ -46,10 +46,6 @@ def main(argv): - '--build-path', - help='The directory in which to build gn, ' - 'relative to the src directory. (eg. out/Release)') -- parser.add_option( -- '--with-sysroot', -- action='store_true', -- help='Download and build with the Debian sysroot.') - parser.add_option('-v', '--verbose', help='ignored') - options, args = parser.parse_args(argv) - if args: -@@ -71,8 +67,6 @@ def main(argv): - '--no-last-commit-position', - '--out-path=' + gn_build_dir, - ] -- if not options.with_sysroot: -- cmd.append('--no-sysroot') - if options.debug: - cmd.append('--debug') - subprocess.check_call(cmd) diff --git a/chromium-70.0.3538.77-harfbuzz2-fix.patch b/chromium-70.0.3538.77-harfbuzz2-fix.patch deleted file mode 100644 index 2d5602d..0000000 --- a/chromium-70.0.3538.77-harfbuzz2-fix.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Sun, 21 Oct 2018 10:06:53 -0400 -Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t - pointers - -This resolves a build failure against harfbuzz 2.0. - -Based on a patch by Alexandre Fierreira. - -Bug: https://bugs.gentoo.org/669034 ---- - .../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +- - .../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++-- - .../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +- - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -index 8e7d91ca371f..e279a5876cb3 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font, - static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, - void* font_data, - unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned int glyph_stride, - hb_position_t* first_advance, - unsigned int advance_stride, -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -index 77ec6209fab9..9f9070921448 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) { - return reinterpret_cast(reinterpret_cast(p) + byte_size); - } - -+template -+T* advance_by_byte_size_const(T* p, unsigned byte_size) { -+ return reinterpret_cast(reinterpret_cast(p) + byte_size); -+} -+ - } // namespace - - SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { -@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint, - } - - void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* glyphs, -+ const hb_codepoint_t* glyphs, - unsigned glyph_stride, - hb_position_t* advances, - unsigned advance_stride) { -@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, - // array that copy them to a regular array. - Vector glyph_array(count); - for (unsigned i = 0; i < count; -- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { -+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { - glyph_array[i] = *glyphs; - } - Vector sk_width_array(count); -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -index 787d8af0375a..3bc4407c641b 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -@@ -19,7 +19,7 @@ class SkiaTextMetrics final { - - void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); - void GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned glyph_stride, - hb_position_t* first_advance, - unsigned advance_stride); --- -2.19.1 - diff --git a/chromium-71-gcc-0.patch b/chromium-71-gcc-0.patch deleted file mode 100644 index 711b827..0000000 --- a/chromium-71-gcc-0.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 15 Oct 2018 20:26:10 +0000 -Subject: [PATCH] google_util: Explicitly use std::initializer_list with - base::NoDestructor -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components"). -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’: - ../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor()’ is ambiguous - {GOOGLE_TLD_LIST}); - -See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905 - -Bug: 819294 -Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c -Reviewed-on: https://chromium-review.googlesource.com/c/1275854 -Reviewed-by: Peter Kasting -Commit-Queue: Raphael Kubo da Costa (CET) -Cr-Commit-Position: refs/heads/master@{#599733} ---- - components/google/core/common/google_util.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc -index a44c84393820..7733848a0443 100644 ---- a/components/google/core/common/google_util.cc -+++ b/components/google/core/common/google_util.cc -@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host, - StripTrailingDot(&tld); - - static base::NoDestructor> google_tlds( -- {GOOGLE_TLD_LIST}); -+ std::initializer_list({GOOGLE_TLD_LIST})); - return base::ContainsKey(*google_tlds, tld.as_string()); - } - -@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) { - StripTrailingDot(&host); - - static base::NoDestructor> google_subdomains( -- {"ipv4.google.com", "ipv6.google.com"}); -+ std::initializer_list( -+ {"ipv4.google.com", "ipv6.google.com"})); - - return base::ContainsKey(*google_subdomains, host.as_string()); - } --- -2.19.1 - diff --git a/chromium-71.0.3578.98-el7-fix-noexcept.patch b/chromium-71.0.3578.98-el7-fix-noexcept.patch deleted file mode 100644 index 234f0a9..0000000 --- a/chromium-71.0.3578.98-el7-fix-noexcept.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc ---- chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept 2019-01-02 14:44:40.449801789 -0500 -+++ chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc 2019-01-02 14:44:54.167481936 -0500 -@@ -24,7 +24,7 @@ MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::Equals(const MediaSink& other) const { - return sink_id_ == other.sink_id_; -diff -up chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept chromium-71.0.3578.98/components/policy/core/common/policy_map.cc ---- chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept 2019-01-02 12:06:10.867313533 -0500 -+++ chromium-71.0.3578.98/components/policy/core/common/policy_map.cc 2019-01-02 12:06:27.544980078 -0500 -@@ -18,7 +18,7 @@ PolicyMap::Entry::Entry() = default; - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept chromium-71.0.3578.98/components/signin/core/browser/account_info.cc ---- chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept 2019-01-02 10:57:29.194710662 -0500 -+++ chromium-71.0.3578.98/components/signin/core/browser/account_info.cc 2019-01-02 10:58:57.829965474 -0500 -@@ -32,7 +32,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return account_id.empty() && email.empty() && gaia.empty() && -diff -up chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept chromium-71.0.3578.98/gpu/config/gpu_info.cc ---- chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept 2018-12-20 09:50:03.320449807 -0500 -+++ chromium-71.0.3578.98/gpu/config/gpu_info.cc 2018-12-20 09:50:25.768849091 -0500 -@@ -116,7 +116,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-71.0.3578.98-norar.patch b/chromium-71.0.3578.98-norar.patch deleted file mode 100644 index 1259088..0000000 --- a/chromium-71.0.3578.98-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn ---- chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn 2018-12-14 11:44:52.172805635 -0500 -@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_protection_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -136,7 +102,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_protection_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS ---- chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS 2018-12-14 11:23:58.628142952 -0500 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc 2018-12-14 11:23:58.628142952 -0500 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-71.0.3578.98-remove-sysroot-options.patch b/chromium-71.0.3578.98-remove-sysroot-options.patch deleted file mode 100644 index a9af73b..0000000 --- a/chromium-71.0.3578.98-remove-sysroot-options.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py ---- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-12-14 12:52:04.144860836 -0500 -+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 12:57:54.791539599 -0500 -@@ -46,10 +46,6 @@ def main(argv): - '--build-path', - help='The directory in which to build gn, ' - 'relative to the src directory. (eg. out/Release)') -- parser.add_option( -- '--with-sysroot', -- action='store_true', -- help='Download and build with the Debian sysroot.') - parser.add_option('-v', '--verbose', help='ignored') - parser.add_option( - '--skip-generate-buildfiles', -@@ -76,8 +72,6 @@ def main(argv): - '--no-last-commit-position', - '--out-path=' + gn_build_dir, - ] -- if not options.with_sysroot: -- cmd.append('--no-sysroot') - if options.debug: - cmd.append('--debug') - subprocess.check_call(cmd) diff --git a/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch b/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch deleted file mode 100644 index 5b51e3d..0000000 --- a/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc ---- chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat 2018-12-17 15:07:48.158717055 -0500 -+++ chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc 2018-12-17 15:09:49.780316983 -0500 -@@ -38,6 +38,10 @@ enum VAJDADecoderFailure { - VAJDA_DECODER_FAILURES_MAX, - }; - -+#ifndef VA_FOURCC_I420 -+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0') -+#endif -+ - static void ReportToUMA(VAJDADecoderFailure failure) { - UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure, - VAJDA_DECODER_FAILURES_MAX + 1); diff --git a/chromium-72.0.3626.121-fix-va-check.patch b/chromium-72.0.3626.121-fix-va-check.patch deleted file mode 100644 index aa0eb71..0000000 --- a/chromium-72.0.3626.121-fix-va-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc ---- chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck 2019-03-10 14:54:38.744305074 -0400 -+++ chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc 2019-03-10 14:55:34.383221574 -0400 -@@ -334,15 +334,16 @@ bool VADisplayState::InitializeOnce() { - << va_vendor_string_; - - // The VAAPI version is determined from what is loaded on the system by -- // calling vaInitialize(). We want a runtime evaluation of libva version, -- // of what is loaded on the system, with, what browser is compiled with. -- // Also since the libva is now ABI-compatible, relax the version check -- // which helps in upgrading the libva, without breaking any existing -- // functionality. -- if (!VA_CHECK_VERSION(major_version, minor_version, 0)) { -- LOG(ERROR) << "This build of Chromium requires VA-API version " -- << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION -- << ", system version: " << major_version << "." << minor_version; -+ // calling vaInitialize(). Since the libva is now ABI-compatible, relax the -+ // version check which helps in upgrading the libva, without breaking any -+ // existing functionality. Make sure the system version is not older than -+ // the version with which the chromium is built since libva is only -+ // guaranteed to be backward (and not forward) compatible. -+ if (VA_MAJOR_VERSION > major_version || -+ (VA_MAJOR_VERSION == major_version && VA_MINOR_VERSION > minor_version)) { -+ LOG(ERROR) << "The system version " << major_version << "." << minor_version -+ << " should be greater than or equal to " -+ << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION; - return false; - } - return true; diff --git a/chromium-72.0.3626.121-norar.patch b/chromium-72.0.3626.121-norar.patch deleted file mode 100644 index d5d2632..0000000 --- a/chromium-72.0.3626.121-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn ---- chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-10 14:15:47.187705953 -0400 -+++ chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn 2019-03-10 14:16:47.154138649 -0400 -@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_type_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -150,7 +116,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_type_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS ---- chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar 2019-03-01 23:10:03.000000000 -0500 -+++ chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS 2019-03-10 14:14:55.430058716 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-01 23:10:04.000000000 -0500 -+++ chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-10 14:14:55.433058638 -0400 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-73-gcc-0.patch b/chromium-73-gcc-0.patch deleted file mode 100644 index 5a50700..0000000 --- a/chromium-73-gcc-0.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Thu, 7 Feb 2019 22:55:37 +0000 -Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's - positions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build. GCC seems to be stricter with the position of the -linkage specification, so just swap the terms to prevent an error that looks -like: - -In file included from ../../base/allocator/allocator_shim.cc:333: -../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant - #define ALIGN_LINKAGE extern "C" - ^~~ -../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ‘ALIGN_LINKAGE’ - SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, - ^~~~~~~~~~~~~ - -Bug: 819294 -Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50 -Reviewed-on: https://chromium-review.googlesource.com/c/1458256 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Thomas Anderson -Reviewed-by: Primiano Tucci -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630084} ---- - .../allocator_shim_override_cpp_symbols.h | 20 +++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h -index 1228f5e33d28..01d25b7f6437 100644 ---- a/base/allocator/allocator_shim_override_cpp_symbols.h -+++ b/base/allocator/allocator_shim_override_cpp_symbols.h -@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } --- -2.20.1 - diff --git a/chromium-73-gcc-1.patch b/chromium-73-gcc-1.patch deleted file mode 100644 index c3f8e42..0000000 --- a/chromium-73-gcc-1.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 16:58:38 +0000 -Subject: [PATCH] media::learning: Make LabelledExample's move assignment - operator noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The GCC build is currently broken with an error like this: - - ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; - ^~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and TargetValue was missing some assignment operators -and noexcept markers. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 -Reviewed-on: https://chromium-review.googlesource.com/c/1458210 -Commit-Queue: Frank Liberato -Reviewed-by: Frank Liberato -Auto-Submit: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630355} ---- - media/learning/common/labelled_example.cc | 3 ++- - media/learning/common/labelled_example.h | 2 +- - media/learning/common/value.cc | 6 ++++++ - media/learning/common/value.h | 4 ++++ - 4 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc -index 76d08509298e..43e834f9f3cf 100644 ---- a/media/learning/common/labelled_example.cc -+++ b/media/learning/common/labelled_example.cc -@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { - LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = - default; - --LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; -+LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = -+ default; - - TrainingData::TrainingData() = default; - -diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h -index 4f43c54e7a76..365abc3c0ebf 100644 ---- a/media/learning/common/labelled_example.h -+++ b/media/learning/common/labelled_example.h -@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { - bool operator<(const LabelledExample& rhs) const; - - LabelledExample& operator=(const LabelledExample& rhs); -- LabelledExample& operator=(LabelledExample&& rhs); -+ LabelledExample& operator=(LabelledExample&& rhs) noexcept; - - // Observed feature values. - // Note that to interpret these values, you probably need to have the -diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc -index 9c9395c25d4e..12ea399d24c3 100644 ---- a/media/learning/common/value.cc -+++ b/media/learning/common/value.cc -@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} - - Value::Value(const Value& other) : value_(other.value_) {} - -+Value::Value(Value&& rhs) noexcept = default; -+ -+Value& Value::operator=(const Value& rhs) = default; -+ -+Value& Value::operator=(Value&& rhs) noexcept = default; -+ - bool Value::operator==(const Value& rhs) const { - return value_ == rhs.value_; - } -diff --git a/media/learning/common/value.h b/media/learning/common/value.h -index 0e64da961f34..62f4953f691c 100644 ---- a/media/learning/common/value.h -+++ b/media/learning/common/value.h -@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { - explicit Value(const std::string& x); - - Value(const Value& other); -+ Value(Value&&) noexcept; -+ -+ Value& operator=(const Value&); -+ Value& operator=(Value&&) noexcept; - - bool operator==(const Value& rhs) const; - bool operator!=(const Value& rhs) const; --- -2.20.1 - diff --git a/chromium-73-gcc-2.patch b/chromium-73-gcc-2.patch deleted file mode 100644 index 9d1f05a..0000000 --- a/chromium-73-gcc-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 02:57:28 +0000 -Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the build with libstdc++: - - ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: - ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - sqrt - -sqrtf() is not formally part of C++14 as far as I can see even though libc++ -has it in . Additionally, we're only dealing with floats in all parts -of the expression above, so using the float sqrt() overload should be -harmless anyway. - -Bug: 819294 -Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d -Reviewed-on: https://chromium-review.googlesource.com/c/1458193 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Peter Kasting -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630140} ---- - ui/gfx/color_utils.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc -index c868cd54bac3..92ba1407d594 100644 ---- a/ui/gfx/color_utils.cc -+++ b/ui/gfx/color_utils.cc -@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { - // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below - // can be verified by plugging it into how GetContrastRatio() operates. - g_luminance_midpoint = -- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; -+ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - - return previous_darkest_color; - } --- -2.20.1 - diff --git a/chromium-73-gcc-3.patch b/chromium-73-gcc-3.patch deleted file mode 100644 index 9cc6cf2..0000000 --- a/chromium-73-gcc-3.patch +++ /dev/null @@ -1,69 +0,0 @@ -From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 08:44:00 +0000 -Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function ‘bool quic::TypedQuicFlagHelper::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string]’: - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded ‘NoDestructor()’ is ambiguous - {"", "1", "t", "true", "y", "yes"}); - ^ - In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16, - from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5: - ../../base/no_destructor.h:62:3: note: candidate: ‘base::NoDestructor::NoDestructor(const base::NoDestructor&) [with T = std::set >]’ - NoDestructor(const NoDestructor&) = delete; - ^~~~~~~~~~~~ - ../../base/no_destructor.h:60:12: note: candidate: ‘base::NoDestructor::NoDestructor(T&&) [with T = std::set >]’ - explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); } - ^~~~~~~~~~~~ - ../../base/no_destructor.h:59:12: note: candidate: ‘base::NoDestructor::NoDestructor(const T&) [with T = std::set >]’ - explicit NoDestructor(const T& x) { new (storage_) T(x); } - ^~~~~~~~~~~~ - -Explicitly use an std::initializer_list to make the build work everywhere. - -Bug: 819294 -Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8 -Reviewed-on: https://chromium-review.googlesource.com/c/1458214 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Ryan Hamilton -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630249} ---- - net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc -index 5e6962d1e770..3fa45fc6892d 100644 ---- a/net/third_party/quic/platform/impl/quic_flags_impl.cc -+++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc -@@ -5,6 +5,7 @@ - #include "net/third_party/quic/platform/impl/quic_flags_impl.h" - - #include -+#include - #include - #include - -@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const { - template <> - bool TypedQuicFlagHelper::SetFlag(const std::string& s) const { - static const base::NoDestructor> kTrueValues( -- {"", "1", "t", "true", "y", "yes"}); -+ std::initializer_list({"", "1", "t", "true", "y", "yes"})); - static const base::NoDestructor> kFalseValues( -- {"0", "f", "false", "n", "no"}); -+ std::initializer_list({"0", "f", "false", "n", "no"})); - if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { - *flag_ = true; - return true; --- -2.20.1 - diff --git a/chromium-73-gcc-4.patch b/chromium-73-gcc-4.patch deleted file mode 100644 index df7d630..0000000 --- a/chromium-73-gcc-4.patch +++ /dev/null @@ -1,59 +0,0 @@ -From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Wed, 13 Feb 2019 01:02:27 +0000 -Subject: [PATCH] BaseRenderingContext2D: Use base::CheckMul and simplify code - in putImageData() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to commit e0b3253a56 ("Fix image conversion truncation issues"). -The current code does not build with GCC due to -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287: - - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc: In member function ‘void blink::BaseRenderingContext2D::putImageData(blink::ImageData*, int, int, int, int, int, int, blink::ExceptionState&)’: - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc:1777:44: error: default type conversion can't deduce template argument for ‘template::value, void>::type* > constexpr base::internal::StrictNumeric::operator Dst() const [with Dst = Dst; typename std::enable_if::value>::type* = ; T = long unsigned int]’ - new uint8_t[data_length.ValueOrDie()]); - ^ - -Work around it by using the more idiomatic base::CheckMul() with -AssignIfValid, so that we can have |data_length| be a size_t again and not -leave it to the compiler to figure out the type we want when creating the -|converted_pixels| array. - -Bug: 819294 -Change-Id: Id124cc4f3d749b45def4708e21e4badafd708578 -Reviewed-on: https://chromium-review.googlesource.com/c/1467201 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Kentaro Hara -Reviewed-by: Kentaro Hara -Cr-Commit-Position: refs/heads/master@{#631472} ---- - .../canvas/canvas2d/base_rendering_context_2d.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -index d9fa696c9a9d..34a8a202bfd3 100644 ---- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -1769,12 +1769,12 @@ void BaseRenderingContext2D::putImageData(ImageData* data, - CanvasColorParams(ColorParams().ColorSpace(), PixelFormat(), kNonOpaque); - if (data_color_params.NeedsColorConversion(context_color_params) || - PixelFormat() == kF16CanvasPixelFormat) { -- base::CheckedNumeric data_length = data->Size().Area(); -- data_length *= context_color_params.BytesPerPixel(); -- if (!data_length.IsValid()) -+ size_t data_length; -+ if (!base::CheckMul(data->Size().Area(), -+ context_color_params.BytesPerPixel()) -+ .AssignIfValid(&data_length)) - return; -- std::unique_ptr converted_pixels( -- new uint8_t[data_length.ValueOrDie()]); -+ std::unique_ptr converted_pixels(new uint8_t[data_length]); - if (data->ImageDataInCanvasColorSettings( - ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), - kRGBAColorType)) { --- -2.20.1 - diff --git a/chromium-73-gcc-5.patch b/chromium-73-gcc-5.patch deleted file mode 100644 index 033861e..0000000 --- a/chromium-73-gcc-5.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Wed, 13 Feb 2019 23:28:46 +0000 -Subject: [PATCH] CastActivityManager: Do not make DoLaunchSessionParams' move - constructor noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build: - - ../../chrome/browser/media/router/providers/cast/cast_activity_manager.cc:806:1: error: function ‘media_router::CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams(media_router::CastActivityManager::DoLaunchSessionParams&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - ^~~~~~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and MediaRoute, CastMediaSource and url::Origin need -the right annotations. Just making DoLaunchSessionParams not noexcept is the -least intrusive solution for now. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ia3a5fb60b5e74e68bd35cfa50e2fcc728b64e5eb -Reviewed-on: https://chromium-review.googlesource.com/c/1469942 -Commit-Queue: mark a. foltz -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: mark a. foltz -Cr-Commit-Position: refs/heads/master@{#631962} ---- - .../media/router/providers/cast/cast_activity_manager.cc | 2 +- - .../browser/media/router/providers/cast/cast_activity_manager.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -index b7ee9695f69a..8569e0cd30a3 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -@@ -804,7 +804,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - callback(std::move(callback)) {} - - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( -- DoLaunchSessionParams&& other) noexcept = default; -+ DoLaunchSessionParams&& other) = default; - - CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -index 325bffc725ee..08fe0ccca603 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, - const url::Origin& origin, - int tab_id, - mojom::MediaRouteProvider::CreateRouteCallback callback); -- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; -+ DoLaunchSessionParams(DoLaunchSessionParams&& other); - ~DoLaunchSessionParams(); - DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; - --- -2.20.1 - diff --git a/chromium-73-gcc-6.patch b/chromium-73-gcc-6.patch deleted file mode 100644 index 752f83c..0000000 --- a/chromium-73-gcc-6.patch +++ /dev/null @@ -1,88 +0,0 @@ -From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Thu, 14 Feb 2019 22:22:21 +0000 -Subject: [PATCH] chrome/browser: Replace some forward declarations with actual - includes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build which was failing like this: - - ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: - ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ - ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here - ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ - sources_[i]->RemoveObserver(observer_); - ~~~~~~~~~~~~~^~~~~~~~~~~~~~ - -This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace -initialization needlessly invokes destructor"), i.e. having something like - - ScopedObserver observer_{this}; - -in a header declaration requires T and U to be fully declared because -ScopedObserver's destructor references them. In a few cases, T was only -forward-declared. - -Bug: 819294 -Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 -Reviewed-on: https://chromium-review.googlesource.com/c/1472576 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Alan Cutter -Reviewed-by: Finnur Thorarinsson -Reviewed-by: Alan Cutter -Cr-Commit-Position: refs/heads/master@{#632385} ---- - chrome/browser/ui/views/extensions/extension_popup.cc | 1 - - chrome/browser/ui/views/extensions/extension_popup.h | 1 + - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc | 1 - - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h | 2 +- - .../web_applications/extensions/bookmark_app_tab_helper.cc | 1 - - .../web_applications/extensions/bookmark_app_tab_helper.h | 2 +- - 6 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc -index 3f0985d383dd..57d16aba9e9f 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.cc -+++ b/chrome/browser/ui/views/extensions/extension_popup.cc -@@ -8,7 +8,6 @@ - #include "chrome/browser/devtools/devtools_window.h" - #include "chrome/browser/extensions/extension_view_host.h" - #include "chrome/browser/ui/browser.h" --#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "content/public/browser/devtools_agent_host.h" - #include "content/public/browser/notification_details.h" - #include "content/public/browser/notification_source.h" -diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h -index 3661b5bda950..9018efa0fea5 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.h -+++ b/chrome/browser/ui/views/extensions/extension_popup.h -@@ -9,6 +9,7 @@ - #include "base/compiler_specific.h" - #include "base/macros.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - #include "chrome/browser/ui/views/extensions/extension_view_views.h" - #include "content/public/browser/devtools_agent_host_observer.h" -diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -index 2a3ea8e4f91f..ac44a4f05dec 100644 ---- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -@@ -8,6 +8,7 @@ - #include "base/macros.h" - #include "base/memory/weak_ptr.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" - #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" - #include "chrome/browser/ui/views/toolbar/app_menu_observer.h" - #include "ui/views/controls/scroll_view.h" -@@ -15,7 +16,6 @@ class AppMenu; - class AppMenu; - class Browser; - class BrowserActionsContainer; --class ToolbarActionsBar; - - namespace views { - class MenuItemView; diff --git a/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch b/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch deleted file mode 100644 index 8ff952b..0000000 --- a/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.glibc229 chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ---- chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.glibc229 2019-04-16 11:49:35.353081246 -0400 -+++ chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2019-04-16 11:51:22.105794620 -0400 -@@ -134,7 +134,8 @@ namespace sandbox { - #if !defined(OS_NACL_NONSFI) - // Allow Glibc's and Android pthread creation flags, crash on any other - // thread creation attempts and EPERM attempts to use neither --// CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations. -+// CLONE_VM nor CLONE_THREAD (all fork implementations), unless CLONE_VFORK is -+// present (as in posix_spawn). - ResultExpr RestrictCloneToThreadsAndEPERMFork() { - const Arg flags(0); - -@@ -153,8 +154,14 @@ ResultExpr RestrictCloneToThreadsAndEPER - AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask, - flags == kGlibcPthreadFlags); - -+ const uint64_t kImportantSpawnFlags = CLONE_VFORK | CLONE_VM; -+ -+ const BoolExpr isForkOrSpawn = -+ AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, -+ (flags & kImportantSpawnFlags) == kImportantSpawnFlags); -+ - return If(IsAndroid() ? android_test : glibc_test, Allow()) -- .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM)) -+ .ElseIf(isForkOrSpawn, Error(EPERM)) - .Else(CrashSIGSYSClone()); - } - diff --git a/chromium-73.0.3683.75-aarch64-crashpad-limits.patch b/chromium-73.0.3683.75-aarch64-crashpad-limits.patch deleted file mode 100644 index 4eb9529..0000000 --- a/chromium-73.0.3683.75-aarch64-crashpad-limits.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc ---- chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits 2019-03-15 12:08:21.208676651 -0400 -+++ chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc 2019-03-15 12:08:40.934251685 -0400 -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - #include "base/logging.h" - diff --git a/chromium-73.0.3683.75-el7-fix-noexcept.patch b/chromium-73.0.3683.75-el7-fix-noexcept.patch deleted file mode 100644 index 3fc69ba..0000000 --- a/chromium-73.0.3683.75-el7-fix-noexcept.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc ---- chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-03-11 18:00:54.000000000 -0400 -+++ chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc 2019-03-20 09:45:29.400426336 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-73.0.3683.75/components/policy/core/common/policy_map.cc ---- chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-03-11 18:00:56.000000000 -0400 -+++ chromium-73.0.3683.75/components/policy/core/common/policy_map.cc 2019-03-19 11:11:38.310689134 -0400 -@@ -25,7 +25,7 @@ PolicyMap::Entry::Entry() = default; - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept chromium-73.0.3683.75/components/signin/core/browser/account_info.cc ---- chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept 2019-03-11 18:00:57.000000000 -0400 -+++ chromium-73.0.3683.75/components/signin/core/browser/account_info.cc 2019-03-19 11:11:38.311689112 -0400 -@@ -50,7 +50,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return account_id.empty() && email.empty() && gaia.empty() && -diff -up chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept chromium-73.0.3683.75/gpu/config/gpu_info.cc ---- chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept 2019-03-19 11:12:36.992435015 -0400 -+++ chromium-73.0.3683.75/gpu/config/gpu_info.cc 2019-03-19 11:12:37.061433540 -0400 -@@ -118,7 +118,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-73.0.3683.75-no-header-hygiene.patch b/chromium-73.0.3683.75-no-header-hygiene.patch deleted file mode 100644 index a8d2a19..0000000 --- a/chromium-73.0.3683.75-no-header-hygiene.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn ---- chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh 2019-03-15 09:02:26.167929864 -0400 -+++ chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn 2019-03-15 09:03:30.334433446 -0400 -@@ -74,9 +74,12 @@ config("swiftshader_llvm_private_config" - "-Wno-unused-private-field", - "-Wno-unused-result", - "-Wno-unused-variable", -- "-Wno-error=header-hygiene", - ] - -+ if (is_clang) { -+ cflags += [ "-Wno-error=header-hygiene" ] -+ } -+ - defines = [ - "__STDC_CONSTANT_MACROS", - "__STDC_LIMIT_MACROS", diff --git a/chromium-gcc5-r3.patch b/chromium-gcc5-r3.patch deleted file mode 100644 index 7605df6..0000000 --- a/chromium-gcc5-r3.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } ---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig 2017-08-15 12:45:59.433532111 +0000 -+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-15 17:52:59.691328825 +0000 -@@ -10,7 +10,7 @@ - - #include "webrtc/modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - ---- a/gpu/ipc/common/mailbox_struct_traits.h -+++ b/gpu/ipc/common/mailbox_struct_traits.h -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; ---- a/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -+++ b/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -@@ -134,7 +134,7 @@ struct StructTraits { - static base::span matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( ---- a/services/viz/public/cpp/compositing/quads_struct_traits.h -+++ b/services/viz/public/cpp/compositing/quads_struct_traits.h -@@ -284,7 +284,7 @@ - - static base::span vertex_opacity(const cc::DrawQuad& input) { - const cc::TextureDrawQuad* quad = cc::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const cc::DrawQuad& input) { ---- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp -+++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp -@@ -480,7 +480,7 @@ WebString AccessControlErrorString( - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - diff --git a/chromium-gcc8-r588316.patch b/chromium-gcc8-r588316.patch deleted file mode 100644 index d980805..0000000 --- a/chromium-gcc8-r588316.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 87902b3202f81d689dd314c17006ffc907fe12a1 Mon Sep 17 00:00:00 2001 -From: Wang Qing -Date: Mon, 3 Sep 2018 02:41:08 +0000 -Subject: [PATCH] Fix build error for blink. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This CLs fixed the error of constexpr function call to non-constexpr function. - -Bug: 878202 -Change-Id: I6ad217a687e62a9a384980d852743a56479de3a9 -Reviewed-on: https://chromium-review.googlesource.com/1192467 -Commit-Queue: 汪 清 -Reviewed-by: Eric Willigers -Cr-Commit-Position: refs/heads/master@{#588316} ---- - .../core/animation/animation_time_delta.cc | 22 ++++++++++++++ - .../core/animation/animation_time_delta.h | 30 +++++++------------ - 2 files changed, 32 insertions(+), 20 deletions(-) - -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.cc b/third_party/blink/renderer/core/animation/animation_time_delta.cc -index 1b25469c7f2f..2e30a18890da 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.cc -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.cc -@@ -7,6 +7,28 @@ - namespace blink { - - #if !defined(BLINK_ANIMATION_USE_TIME_DELTA) -+// Comparison operators on AnimationTimeDelta. -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() == rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() != rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() > rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() >= rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() <= rhs.InSecondsF(); -+} -+ - std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time) { - return os << time.InSecondsF() << " s"; - } -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.h b/third_party/blink/renderer/core/animation/animation_time_delta.h -index 1903c1150d3e..95d218466d90 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.h -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.h -@@ -90,26 +90,16 @@ AnimationTimeDelta operator*(T a, AnimationTimeDelta td) { - } - - // Comparison operators on AnimationTimeDelta. --constexpr bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() == rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() != rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() > rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() >= rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() <= rhs.InSecondsF(); --} -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); - - // Defined to allow DCHECK_EQ/etc to work with the class. - CORE_EXPORT std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time); --- -2.17.2 - diff --git a/chromium-gcc8-r588547.patch b/chromium-gcc8-r588547.patch deleted file mode 100644 index 5f12f7f..0000000 --- a/chromium-gcc8-r588547.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e3ad3deb6a6e79284f3748fa7410311d87df91c5 Mon Sep 17 00:00:00 2001 -From: Henrique Nakashima -Date: Tue, 4 Sep 2018 16:49:51 +0000 -Subject: [PATCH] IWYU: stdint.h in pdfium_mem_buffer_file_write.h for uint8_t - -Bug: 879900 -Change-Id: I9c15d1c280a23c53d31f2d72c9d0d1db79eab886 -Reviewed-on: https://chromium-review.googlesource.com/1204410 -Reviewed-by: Lei Zhang -Commit-Queue: Henrique Nakashima -Cr-Commit-Position: refs/heads/master@{#588547} ---- - pdf/pdfium/pdfium_mem_buffer_file_write.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pdf/pdfium/pdfium_mem_buffer_file_write.h b/pdf/pdfium/pdfium_mem_buffer_file_write.h -index 03c54bb63800..82e82d23684d 100644 ---- a/pdf/pdfium/pdfium_mem_buffer_file_write.h -+++ b/pdf/pdfium/pdfium_mem_buffer_file_write.h -@@ -6,6 +6,7 @@ - #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_H_ - - #include -+#include - - #include - --- -2.17.2 - diff --git a/chromium-gcc8-r589614.patch b/chromium-gcc8-r589614.patch deleted file mode 100644 index 0c187fd..0000000 --- a/chromium-gcc8-r589614.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cbdb8bd6567c8143dc8c1e5e86a21a8ea064eea4 Mon Sep 17 00:00:00 2001 -From: Maksim Sisov -Date: Fri, 7 Sep 2018 18:57:42 +0000 -Subject: [PATCH] OmniboxTextView: fix gcc error for structure initialization - -It looks like there is bug in GCC 6, which cannot go through -structure initialization normally. - -Thus, instead of a default initialization of one of the members, -explicitly initialize it to a default value. - -Change-Id: Ia55cc6658e6b6b2f8a80c2582dd28f001c9e648c -Reviewed-on: https://chromium-review.googlesource.com/1213181 -Reviewed-by: Scott Violet -Commit-Queue: Maksim Sisov -Cr-Commit-Position: refs/heads/master@{#589614} ---- - chrome/browser/ui/views/omnibox/omnibox_text_view.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -index f0a8083dc930..9021284f166d 100644 ---- a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -+++ b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -@@ -175,7 +175,8 @@ void ApplyTextStyleForType(SuggestionAnswer::TextStyle text_style, - style = {part_color, .baseline = gfx::SUPERIOR}; - break; - case SuggestionAnswer::TextStyle::BOLD: -- style = {part_color, .weight = gfx::Font::Weight::BOLD}; -+ style = {part_color, .baseline = gfx::NORMAL_BASELINE, -+ .weight = gfx::Font::Weight::BOLD}; - break; - case SuggestionAnswer::TextStyle::NORMAL: - case SuggestionAnswer::TextStyle::NORMAL_DIM: --- -2.17.2 - diff --git a/chromium-gcc8-r591015.patch b/chromium-gcc8-r591015.patch deleted file mode 100644 index 65c09e8..0000000 --- a/chromium-gcc8-r591015.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e98f8ef8b2f236ecbb01df8c39e6ee1c8fbe8d7d Mon Sep 17 00:00:00 2001 -From: Maksim Sisov -Date: Thu, 13 Sep 2018 15:17:29 +0000 -Subject: [PATCH] ScrollPaintPropertyNode: Rename SnapContainerData() to - GetSnapContainerData() - -GCC is stricter than clang when it comes to class members' names and how -they can change the meaning of a previously existing symbol with the same -name. - -Here is a short error message: - -error: changes meaning of 'SnapContainerData' from 'using SnapContainerData = -class cc::SnapContainerData' [-fpermissive] using SnapContainerData = -cc::SnapContainerData; - -Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel -Change-Id: I0de5460f17b13484253e1ff0538b111c9a3b0d13 -Reviewed-on: https://chromium-review.googlesource.com/1213180 -Commit-Queue: Maksim Sisov -Reviewed-by: Philip Rogers -Cr-Commit-Position: refs/heads/master@{#591015} ---- - .../blink/renderer/core/paint/paint_property_tree_update_tests.cc | 2 +- - .../renderer/platform/graphics/compositing/property_tree_manager.cc | 2 +- - .../blink/renderer/platform/graphics/paint/scroll_paint_property_node.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -index 0d999d45076f..1fe1815a5659 100644 ---- a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -+++ b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -@@ -1310,7 +1310,7 @@ TEST_P(PaintPropertyTreeUpdateTest, EnsureSnapContainerData) { - GetDocument().View()->Resize(300, 300); - GetDocument().View()->UpdateAllLifecyclePhases(); - -- auto doc_snap_container_data = DocScroll()->SnapContainerData(); -+ auto doc_snap_container_data = DocScroll()->GetSnapContainerData(); - ASSERT_TRUE(doc_snap_container_data); - EXPECT_EQ(doc_snap_container_data->scroll_snap_type().axis, SnapAxis::kBoth); - EXPECT_EQ(doc_snap_container_data->scroll_snap_type().strictness, -diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -index 745b8c8b387e..5f87eeea9435 100644 ---- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -+++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -@@ -333,7 +333,7 @@ void PropertyTreeManager::CreateCompositorScrollNode( - scroll_node->OverscrollBehaviorX()), - static_cast( - scroll_node->OverscrollBehaviorY())); -- compositor_node.snap_container_data = scroll_node->SnapContainerData(); -+ compositor_node.snap_container_data = scroll_node->GetSnapContainerData(); - - auto compositor_element_id = scroll_node->GetCompositorElementId(); - if (compositor_element_id) { -diff --git a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -index e1479269ccc3..5bd7f65f10ba 100644 ---- a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -+++ b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -@@ -99,7 +99,7 @@ class PLATFORM_EXPORT ScrollPaintPropertyNode - return state_.overscroll_behavior.y; - } - -- base::Optional SnapContainerData() const { -+ base::Optional GetSnapContainerData() const { - return state_.snap_container_data; - } - --- -2.14.3 - diff --git a/chromium-gn-bootstrap-r17.patch b/chromium-gn-bootstrap-r17.patch deleted file mode 100644 index 6cfd08d..0000000 --- a/chromium-gn-bootstrap-r17.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/tools/gn/bootstrap/bootstrap.py -+++ b/tools/gn/bootstrap/bootstrap.py -@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h', - { -+ 'ENABLE_LOCATION_SOURCE': 'false', - 'ENABLE_PROFILING': 'false', - 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false' - }) -@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_gn_ninja(os.path.join(tempdir, 'build.ninja'), - root_gen_dir, options) -- cmd = ['ninja', '-C', tempdir] -+ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - -@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/metrics/bucket_ranges.cc', - 'base/metrics/field_trial.cc', - 'base/metrics/field_trial_param_associator.cc', -+ 'base/metrics/field_trial_params.cc', - 'base/metrics/histogram.cc', - 'base/metrics/histogram_base.cc', - 'base/metrics/histogram_functions.cc', -@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/task_scheduler/scheduler_lock_impl.cc', - 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc', - 'base/task_scheduler/scheduler_worker.cc', -+ 'base/task_scheduler/scheduler_worker_pool.cc', - 'base/task_scheduler/scheduler_worker_pool_impl.cc', - 'base/task_scheduler/scheduler_worker_pool_params.cc', - 'base/task_scheduler/scheduler_worker_stack.cc', -@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/third_party/icu/icu_utf.cc', - 'base/third_party/nspr/prtime.cc', - 'base/threading/post_task_and_reply_impl.cc', -+ 'base/threading/scoped_blocking_call.cc', - 'base/threading/sequence_local_storage_map.cc', - 'base/threading/sequenced_task_runner_handle.cc', - 'base/threading/sequenced_worker_pool.cc', -@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/unguessable_token.cc', - 'base/value_iterators.cc', - 'base/values.cc', -- 'base/value_iterators.cc', - 'base/vlog.cc', - ]) - -@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options): - static_libraries['base']['sources'].extend([ - 'base/memory/shared_memory_handle_posix.cc', - 'base/memory/shared_memory_posix.cc', -- 'base/memory/shared_memory_tracker.cc', - 'base/nix/xdg_util.cc', - 'base/process/internal_linux.cc', - 'base/process/memory_linux.cc', -@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options): - cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args] - check_call(cmd) - -- cmd = ['ninja', '-C', build_dir] -+ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - cmd.append('gn') diff --git a/chromium-math.h-r0.patch b/chromium-math.h-r0.patch deleted file mode 100644 index 6c7c747..0000000 --- a/chromium-math.h-r0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Sat, 27 Jan 2018 20:03:37 +0000 -Subject: [PATCH] Fix build with glibc 2.27 - -BUG=806340 -TBR=hamelphi@chromium.org - -Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e -Reviewed-on: https://chromium-review.googlesource.com/890059 -Reviewed-by: Thomas Anderson -Reviewed-by: Philippe Hamel -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/master@{#532249} ---- - -diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc -index 54d4dbd..ceedd8f 100644 ---- a/components/assist_ranker/ranker_example_util.cc -+++ b/components/assist_ranker/ranker_example_util.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 -+ - #include "components/assist_ranker/ranker_example_util.h" - #include "base/bit_cast.h" - #include "base/format_macros.h" diff --git a/chromium-stdint.patch b/chromium-stdint.patch deleted file mode 100644 index 8774439..0000000 --- a/chromium-stdint.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Wed, 31 Jan 2018 18:57:07 +0000 -Subject: [PATCH] Add missing stdint include - -diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc -index c2ca777ce90c..53cb3aab1576 100644 ---- a/chrome/browser/vr/sample_queue.cc -+++ b/chrome/browser/vr/sample_queue.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 -+ - #include "chrome/browser/vr/sample_queue.h" - - namespace vr { --- -2.16.2 - diff --git a/chromium.spec b/chromium.spec index a741cda..0f9d7f8 100644 --- a/chromium.spec +++ b/chromium.spec @@ -174,175 +174,130 @@ License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and Open Patch0: chromium-67.0.3396.62-gcc5.patch Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch -Patch4: chromium-72.0.3626.121-notest.patch +Patch3: chromium-72.0.3626.121-notest.patch +# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) +Patch4: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch +# Ignore deprecations in cups 2.2 +# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 +Patch5: chromium-55.0.2883.75-cups22.patch +# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) +Patch6: chromium-70.0.3538.67-sandbox-pie.patch +# Use /etc/chromium for master_prefs +Patch7: chromium-68.0.3440.106-master-prefs-path.patch +# Use gn system files +Patch8: chromium-67.0.3396.62-gn-system.patch +# Fix issue where timespec is not defined when sys/stat.h is included. +Patch9: chromium-53.0.2785.92-boringssl-time-fix.patch +# I wouldn't have to do this if there was a standard way to append extra compiler flags +Patch10: chromium-63.0.3289.84-nullfix.patch +# Add explicit includedir for jpeglib.h +Patch11: chromium-54.0.2840.59-jpeg-include-dir.patch +# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. +Patch12: chromium-59.0.3071.86-i686-ld-memory-tricks.patch +# Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 +# https://bugs.chromium.org/p/chromium/issues/detail?id=712737 +# https://bugzilla.redhat.com/show_bug.cgi?id=1446851 +Patch13: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch +# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 +Patch14: chromium-64.0.3282.119-ffmpeg-stdatomic.patch +# Nacl can't die soon enough +Patch15: chromium-66.0.3359.117-system-clang.patch +# Do not prefix libpng functions +Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch +# Do not mangle libjpeg +Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch +# Do not mangle zlib +Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +# Fix libavutil include pathing to find arch specific timer.h +# For some reason, this only fails on aarch64. No idea why. +Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch +# from gentoo +Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +# From gentoo +Patch21: chromium-72.0.3626.121-gcc5-r3.patch +# To use round with gcc, you need to #include +Patch22: chromium-65.0.3325.146-gcc-round-fix.patch +# Include proper headers to invoke memcpy() +Patch23: chromium-65.0.3325.146-memcpy-fix.patch +# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return +Patch24: chromium-68.0.3440.106-boolfix.patch +# From Debian +Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch +# Missing files in tarball +Patch26: chromium-66.0.3359.117-missing-files.patch +# Do not use unrar code, it is non-free +Patch27: chromium-73.0.3683.75-norar.patch +# Upstream GCC fixes +Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +# Add "Fedora" to the user agent string +Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +# Try to fix version.py for Rawhide +Patch30: chromium-71.0.3578.98-py2-bootstrap.patch +# Fix default on redeclaration error +# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 +Patch31: chromium-68.0.3440.106-fix-default-on-redeclaration.patch +# Use Gentoo's Widevine hack +# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch +Patch32: chromium-71.0.3578.98-widevine-r3.patch +# Do not require sysroot +# Forget about trying to make libc++ +# BUILD SANELY PLEASE +Patch33: chromium-69.0.3497.81-build-sanely-please.patch +# Disable fontconfig cache magic that breaks remoting +Patch34: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch +# Fix aarch64 build against latest linux kernel headers +Patch35: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) +Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +# Try to load widevine from other places +Patch37: chromium-widevine-other-locations.patch +# Disable -fno-delete-null-pointer-checks +Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +# Add #include to get pipewire code to build +Patch39: chromium-73.0.3683.75-pipewire-cstring-fix.patch +# gcc does not have __assume +Patch40: chromium-75.0.3770.80-gcc-no-assume.patch +# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it +Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch +# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 +Patch42: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch +# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 +# It might make clang happy but it breaks gcc. F*** clang. +Patch43: chromium-75.0.3770.80-revert-daff6b.patch +# Avoid pure virtual crash destroying RenderProcessUserData +# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ +Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch +# rename function to avoid conflict with rawhide glibc "gettid()" +Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch +# fix v8 compile with gcc +# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 +Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch +# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 +Patch47: chromium-75.0.3770.100-git00281713.patch + +# Apply these changes to work around EPEL7 compiler issues +Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch +# Use lstdc++ on EPEL7 only +Patch101: chromium-75.0.3770.100-epel7-stdc++.patch +# el7 only patch +Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch + # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: # ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled # __asm__ __volatile__("mov %%gs, %0" : "=r"(gs)); # ^ # 1 error generated. -Patch6: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch +Patch200: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch # Ignore broken nacl open fd counter -Patch7: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch -# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch9: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch -# Ignore deprecations in cups 2.2 -# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 -Patch12: chromium-55.0.2883.75-cups22.patch -# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -Patch15: chromium-70.0.3538.67-sandbox-pie.patch -# Use /etc/chromium for master_prefs -Patch18: chromium-68.0.3440.106-master-prefs-path.patch -# Disable MADV_FREE (if set by glibc) -# https://bugzilla.redhat.com/show_bug.cgi?id=1361157 -Patch19: chromium-52.0.2743.116-unset-madv_free.patch -# Use gn system files -Patch20: chromium-67.0.3396.62-gn-system.patch -# Fix last commit position issue -# https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/7nlJv486bD4 -# Patch21: chromium-60.0.3112.78-last-commit-position.patch -# Fix issue where timespec is not defined when sys/stat.h is included. -Patch22: chromium-53.0.2785.92-boringssl-time-fix.patch -# I wouldn't have to do this if there was a standard way to append extra compiler flags -Patch24: chromium-63.0.3289.84-nullfix.patch -# Add explicit includedir for jpeglib.h -Patch25: chromium-54.0.2840.59-jpeg-include-dir.patch -# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. -Patch26: chromium-59.0.3071.86-i686-ld-memory-tricks.patch -# obj/content/renderer/renderer/child_frame_compositing_helper.o: In function `content::ChildFrameCompositingHelper::OnSetSurface(cc::SurfaceId const&, gfx::Size const&, float, cc::SurfaceSequence const&)': -# /builddir/build/BUILD/chromium-54.0.2840.90/out/Release/../../content/renderer/child_frame_compositing_helper.cc:214: undefined reference to `cc_blink::WebLayerImpl::setOpaque(bool)' -# Patch27: chromium-63.0.3289.84-setopaque.patch -# Use -fpermissive to build WebKit -# Patch31: chromium-56.0.2924.87-fpermissive.patch -# Fix issue with compilation on gcc7 -# Thanks to Ben Noordhuis -# Patch33: chromium-65.0.3325.146-gcc7.patch -# Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 -# https://bugs.chromium.org/p/chromium/issues/detail?id=712737 -# https://bugzilla.redhat.com/show_bug.cgi?id=1446851 -Patch36: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch -# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch37: chromium-64.0.3282.119-ffmpeg-stdatomic.patch -# Nacl can't die soon enough -Patch39: chromium-66.0.3359.117-system-clang.patch -# Do not prefix libpng functions -Patch42: chromium-60.0.3112.78-no-libpng-prefix.patch -# Do not mangle libjpeg -Patch43: chromium-60.0.3112.78-jpeg-nomangle.patch -# Do not mangle zlib -Patch45: chromium-75.0.3770.80-no-zlib-mangle.patch -# Apply these changes to work around EPEL7 compiler issues -Patch46: chromium-62.0.3202.62-kmaxskip-constexpr.patch -Patch47: chromium-60.0.3112.90-vulkan-force-c99.patch -# Fix libavutil include pathing to find arch specific timer.h -# For some reason, this only fails on aarch64. No idea why. -Patch50: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch -# from gentoo -Patch53: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch -# Only needed when glibc 2.26.90 or later is used -Patch57: chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch -# From gentoo -Patch62: chromium-72.0.3626.121-gcc5-r3.patch -# Do not try to use libc++ in the remoting stack -# Patch63: chromium-63.0.3289.84-nolibc++.patch -# To use round with gcc, you need to #include -Patch65: chromium-65.0.3325.146-gcc-round-fix.patch -# Include proper headers to invoke memcpy() -Patch67: chromium-65.0.3325.146-memcpy-fix.patch -# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch85: chromium-68.0.3440.106-boolfix.patch -# From Debian -Patch86: chromium-71.0.3578.98-skia-aarch64-buildfix.patch -# Use lstdc++ on EPEL7 only -Patch87: chromium-75.0.3770.100-epel7-stdc++.patch -# Missing files in tarball -Patch88: chromium-66.0.3359.117-missing-files.patch -# https://chromium.googlesource.com/chromium/src/+/ba4141e451f4e0b1b19410b1b503bd32e150df06%5E%21/#F0 -# Patch89: chromium-66.0.3359.117-gcc-optional-move-fixes.patch -# https://chromium.googlesource.com/chromium/src/+/4f2b52281ce1649ea8347489443965ad33262ecc%5E%21 -# Patch90: chromium-66.0.3359.117-gcc-copy-constructor-fix.patch -# https://bugs.chromium.org/p/chromium/issues/detail?id=816952 -# Patch91: chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch -# Do not use unrar code, it is non-free -Patch92: chromium-73.0.3683.75-norar.patch -# Upstream GCC fixes -Patch93: chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch -Patch94: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch -# Patch95: chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch -# https://github.com/archlinuxarm/PKGBUILDs/blob/master/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch -# Patch96: chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch -# https://chromium.googlesource.com/chromium/src/+/b84682f31dc99b9c90f5a04947075815697c68d9%5E%21/#F0 -# Patch97: chromium-66.0.3359.139-arm-init-fix.patch -# GCC8 has changed the alignof operator to return the minimal alignment required by the target ABI -# instead of the preferred alignment. This means int64_t is now 4 on i686 (instead of 8). -# Use __alignof__ to get the value we expect (and chromium checks for). -# Patch98: chromium-69.0.3497.81-gcc8-alignof.patch -# RHEL 7 has a bug in its python2.7 which does not propely handle exec with a tuple -# https://bugs.python.org/issue21591 -Patch100: chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch -# Add "Fedora" to the user agent string -Patch101: chromium-72.0.3626.121-fedora-user-agent.patch -# Try to fix version.py for Rawhide -Patch103: chromium-71.0.3578.98-py2-bootstrap.patch -# Fix default on redeclaration error -# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 -Patch110: chromium-68.0.3440.106-fix-default-on-redeclaration.patch -# Use Gentoo's Widevine hack -# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch -Patch111: chromium-71.0.3578.98-widevine-r3.patch -# Do not require sysroot -# Forget about trying to make libc++ -# BUILD SANELY PLEASE -Patch112: chromium-69.0.3497.81-build-sanely-please.patch -# Still moar GCC cleanups from upstream -# Patch113: chromium-gcc8-r588316.patch -# Patch114: chromium-gcc8-r588547.patch -# Patch115: chromium-gcc8-r589614.patch -# Patch116: chromium-gcc8-r591015.patch -# Disable fontconfig cache magic that breaks remoting -Patch117: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix aarch64 build against latest linux kernel headers -Patch119: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +Patch201: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch + # Enable VAAPI support on Linux # NOTE: This patch will never land upstream -Patch121: enable-vaapi.patch -Patch122: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch +Patch202: enable-vaapi.patch +Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 -Patch124: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch -# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) -Patch126: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch -# Thanks Ubuntu -# Disable these two patches when v75 lands -Patch130: revert-gn-4980.patch -Patch131: revert-gn-4960.patch -# Try to load widevine from other places -Patch132: chromium-widevine-other-locations.patch -# Disable -fno-delete-null-pointer-checks -Patch135: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Add #include to get pipewire code to build -Patch136: chromium-73.0.3683.75-pipewire-cstring-fix.patch -# el7 only patch -Patch139: chromium-75.0.3770.100-el7-fix-noexcept.patch -# gcc does not have __assume -Patch140: chromium-75.0.3770.80-gcc-no-assume.patch -# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it -Patch141: chromium-75.0.3770.80-SIOCGSTAMP.patch -# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 -Patch142: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch -# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 -# It might make clang happy but it breaks gcc. F*** clang. -Patch143: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch144: chromium-75.0.3770.80-pure-virtual-crash-fix.patch -# rename function to avoid conflict with rawhide glibc "gettid()" -Patch145: chromium-75.0.3770.80-grpc-gettid-fix.patch -# fix v8 compile with gcc -# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch146: chromium-75.0.3770.100-fix-v8-gcc.patch -# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 -Patch147: chromium-75.0.3770.100-git00281713.patch - +Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -837,97 +792,73 @@ udev. %patch0 -p1 -b .gcc5 %patch1 -p1 -b .pathmax %patch2 -p1 -b .addrfix -%patch4 -p1 -b .notest -# %%patch6 -p1 -b .gnu-inline -%patch7 -p1 -b .ignore-fd-count -%patch9 -p1 -b .modern-libusbx -%patch12 -p1 -b .cups22 -%patch15 -p1 -b .sandboxpie -%patch18 -p1 -b .etc -# %%patch19 -p1 -b .madv_free -%patch20 -p1 -b .gnsystem -# %%patch21 -p1 -b .lastcommit -%patch22 -p1 -b .timefix -%patch24 -p1 -b .nullfix -%patch25 -p1 -b .jpegfix -%patch26 -p1 -b .ldmemory -# %%patch27 -p1 -b .setopaque -# %%patch31 -p1 -b .permissive -# %%patch33 -p1 -b .gcc7 -%patch36 -p1 -b .revert -%patch37 -p1 -b .ffmpeg-stdatomic -%patch39 -p1 -b .system-clang -%patch42 -p1 -b .noprefix -%patch43 -p1 -b .nomangle -%patch45 -p1 -b .nozmangle +%patch3 -p1 -b .notest +%patch4 -p1 -b .modern-libusbx +%patch5 -p1 -b .cups22 +%patch6 -p1 -b .sandboxpie +%patch7 -p1 -b .etc +%patch8 -p1 -b .gnsystem +%patch9 -p1 -b .timefix +%patch10 -p1 -b .nullfix +%patch11 -p1 -b .jpegfix +%patch12 -p1 -b .ldmemory +%patch13 -p1 -b .revert +%patch14 -p1 -b .ffmpeg-stdatomic +%patch15 -p1 -b .system-clang +%patch16 -p1 -b .noprefix +%patch17 -p1 -b .nomangle +%patch18 -p1 -b .nozmangle +%patch19 -p1 -b .pathfix +%patch20 -p1 -b .nogccoptmath +%patch21 -p1 -b .gcc5-r3 +%patch22 -p1 -b .gcc-round-fix +%patch23 -p1 -b .memcpyfix +%patch24 -p1 -b .boolfix +%patch25 -p1 -b .aarch64fix +%patch26 -p1 -b .missing-files +%patch27 -p1 -b .nounrar +%patch28 -p1 -b .gcc-cpolicyprovider +%patch29 -p1 -b .fedora-user-agent +%patch30 -p1 -b .py2 +%patch31 -p1 -b .fix-default-redeclaration +%patch32 -p1 -b .wvhack +%patch33 -p1 -b .sanebuild +%patch34 -p1 -b .nofc +%patch35 -p1 -b .aarch64-new-stat +%patch36 -p1 -b .gcc9 +%patch37 -p1 -b .widevine-other-locations +%patch38 -p1 -b .disable-ndnpc +%patch39 -p1 -b .cstring-fix +%patch40 -p1 -b .gcc-assume +%patch41 -p1 -b .SIOCGSTAMP +%patch42 -p1 -b .gcc-dcheck_ne-fix +%patch43 -p1 -b .revert-daff6b +%patch44 -p1 -b .pure-virtual-fix +%patch45 -p1 -b .gettid-fix +%patch46 -p1 -b .fix-v8-gcc +%patch47 -p1 -b .git00281713 + +# EPEL specific patches %if 0%{?rhel} == 7 -%patch46 -p1 -b .kmaxskip -# %%patch47 -p1 -b .c99 +%patch100 -p1 -b .kmaxskip +%patch101 -p1 -b .epel7 +%patch102 -p1 -b .el7-noexcept %endif -%patch50 -p1 -b .pathfix -%patch53 -p1 -b .nogccoptmath -# %%if 0%%{?fedora} >= 28 -# %%patch57 -p1 -b .aarch64glibc -# %%endif -%patch62 -p1 -b .gcc5-r3 -# %%patch63 -p1 -b .nolibc++ -%patch65 -p1 -b .gcc-round-fix -%patch67 -p1 -b .memcpyfix -%patch85 -p1 -b .boolfix -%patch86 -p1 -b .aarch64fix -%if 0%{?rhel} == 7 -%patch87 -p1 -b .epel7 + +# Feature specific patches +%if ! 0%{?killnacl} +%patch200 -p1 -b .gnu-inline +%patch201 -p1 -b .ignore-fd-count %endif -%patch88 -p1 -b .missing -# %%patch89 -p1 -b .gccomove -# %%patch90 -p1 -b .copycon -# %%patch91 -p1 -b .944404 -%patch92 -p1 -b .nounrar -# %%patch93 -p1 -b .gcc-full-decl -%patch94 -p1 -b .gcc-cpolicyprovider -# %%patch95 -p1 -b .gcc-getstring -# %%patch96 -p1 -b .flatsetfix -# %%patch97 -p1 -b .arm-init-fix -# %%patch98 -p1 -b .gcc8-alignof -%if 0%{?rhel} == 7 -# %%patch100 -p1 -b .oldexec -%endif -%patch101 -p1 -b .fedora-user-agent -%patch103 -p1 -b .py2 -# %%patch108 -p1 -b .move-unique-ptr -%patch110 -p1 -b .fix-default-redeclaration -%patch111 -p1 -b .wvhack -%patch112 -p1 -b .sanebuild -# %%patch113 -p1 -b .r588316 -# %%patch114 -p1 -b .r588547 -# %%patch115 -p1 -b .r589614 -# %%patch116 -p1 -b .r591015 -%patch117 -p1 -b .nofc -%patch119 -p1 -b .aarch64-new-stat + %if %{use_vaapi} -%patch121 -p1 -b .vaapi -%endif +%patch202 -p1 -b .vaapi %ifarch i686 -%patch122 -p1 -b .i686permissive +%patch203 -p1 -b .i686permissive +%patch204 -p1 -b .va1compat %endif -%patch124 -p1 -b .va1compat -%patch126 -p1 -b .gcc9 -# %%patch130 -p1 -b .revert-gn-4980 -# %%patch131 -p1 -b .revert-gn-4960 -%patch132 -p1 -b .widevine-other-locations -%patch135 -p1 -b .disable-ndnpc -%patch136 -p1 -b .cstring-fix -%if 0%{?rhel} == 7 -%patch139 -p1 -b .el7-noexcept %endif -%patch140 -p1 -b .gcc-assume -%patch141 -p1 -b .SIOCGSTAMP -%patch142 -p1 -b .gcc-dcheck_ne-fix -%patch143 -p1 -b .revert-daff6b -%patch144 -p1 -b .pure-virtual-fix -%patch145 -p1 -b .gettid-fix -%patch146 -p1 -b .fix-v8-gcc -%patch147 -p1 -b .git00281713 + # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works diff --git a/relax-libva-version.patch b/relax-libva-version.patch deleted file mode 100644 index e297fd6..0000000 --- a/relax-libva-version.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6f1309ef8fe10965e4d0018b4f1b80ac6deccdaa Mon Sep 17 00:00:00 2001 -From: Azhar Shaikh -Date: Fri, 30 Nov 2018 23:11:57 +0000 -Subject: [PATCH] media/gpu/vaapi: Relax the version check for VA-API - -Since the newer versions of VA-API are ABI compatible, relax the -version checks for VA-API, by using VA_CHECK_VERSION(). -This will help in updating the libva to the latest releases, -while still supporting the old versions, till the new version of -libva is merged and picked by the builds. Thus ensuring that -hardware accleration is not broken while updating the libva. - -Bug: 905814 -TEST=libva-2.3.0 and libva-2.1.0 are able to do hardware acceleration. - -Suggested-by: Alexandre Courbot -Signed-off-by: Azhar Shaikh -Change-Id: I510549f72290d20676927eeeeb89a87199c062af -Reviewed-on: https://chromium-review.googlesource.com/c/1352519 -Reviewed-by: Alexandre Courbot -Reviewed-by: Hirokazu Honda -Commit-Queue: Miguel Casas -Cr-Commit-Position: refs/heads/master@{#612832} ---- - -diff --git a/AUTHORS b/AUTHORS -index 567fe15..ff42fc5 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -103,6 +103,7 @@ - Attila Dusnoki - Avinaash Doreswamy - Ayush Khandelwal -+Azhar Shaikh - Balazs Kelemen - Baul Eun - Behara Mani Shyam Patro -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index b415642..053384d 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -333,7 +333,13 @@ - DVLOG(1) << "VAAPI version: " << major_version << "." << minor_version << " " - << va_vendor_string_; - -- if (major_version != VA_MAJOR_VERSION || minor_version != VA_MINOR_VERSION) { -+ // The VAAPI version is determined from what is loaded on the system by -+ // calling vaInitialize(). We want a runtime evaluation of libva version, -+ // of what is loaded on the system, with, what browser is compiled with. -+ // Also since the libva is now ABI-compatible, relax the version check -+ // which helps in upgrading the libva, without breaking any existing -+ // functionality. -+ if (!VA_CHECK_VERSION(major_version, minor_version, 0)) { - LOG(ERROR) << "This build of Chromium requires VA-API version " - << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION - << ", system version: " << major_version << "." << minor_version; diff --git a/revert-gn-4960.patch b/revert-gn-4960.patch deleted file mode 100644 index bb51ada..0000000 --- a/revert-gn-4960.patch +++ /dev/null @@ -1,655 +0,0 @@ -Description: revert https://gn.googlesource.com/gn/+/0d038c2e0a32a528713d3dfaf1f1e0cdfe87fd46, which breaks the chromium build - ---- a/tools/gn/build/gen.py -+++ b/tools/gn/build/gen.py -@@ -522,6 +522,7 @@ def WriteGNNinja(path, platform, host, o - 'tools/gn/setup.cc', - 'tools/gn/source_dir.cc', - 'tools/gn/source_file.cc', -+ 'tools/gn/source_file_type.cc', - 'tools/gn/standard_out.cc', - 'tools/gn/string_utils.cc', - 'tools/gn/substitution_list.cc', ---- a/tools/gn/tools/gn/c_tool.h -+++ b/tools/gn/tools/gn/c_tool.h -@@ -12,6 +12,7 @@ - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - #include "tools/gn/tool.h" ---- a/tools/gn/tools/gn/compile_commands_writer.cc -+++ b/tools/gn/tools/gn/compile_commands_writer.cc -@@ -122,7 +122,7 @@ void WriteCommand(const Target* target, - const CompileFlags& flags, - std::vector& tool_outputs, - PathOutput& path_output, -- SourceFile::Type source_type, -+ SourceFileType source_type, - const char* tool_name, - EscapeOptions opts, - std::string* compile_commands) { -@@ -144,16 +144,16 @@ void WriteCommand(const Target* target, - } else if (range.type == &CSubstitutionCFlags) { - command_out << flags.cflags; - } else if (range.type == &CSubstitutionCFlagsC) { -- if (source_type == SourceFile::SOURCE_C) -+ if (source_type == SOURCE_C) - command_out << flags.cflags_c; - } else if (range.type == &CSubstitutionCFlagsCc) { -- if (source_type == SourceFile::SOURCE_CPP) -+ if (source_type == SOURCE_CPP) - command_out << flags.cflags_cc; - } else if (range.type == &CSubstitutionCFlagsObjC) { -- if (source_type == SourceFile::SOURCE_M) -+ if (source_type == SOURCE_M) - command_out << flags.cflags_objc; - } else if (range.type == &CSubstitutionCFlagsObjCc) { -- if (source_type == SourceFile::SOURCE_MM) -+ if (source_type == SOURCE_MM) - command_out << flags.cflags_objcc; - } else if (range.type == &SubstitutionLabel || - range.type == &SubstitutionLabelName || -@@ -222,11 +222,9 @@ void CompileCommandsWriter::RenderJSON(c - for (const auto& source : target->sources()) { - // If this source is not a C/C++/ObjC/ObjC++ source (not header) file, - // continue as it does not belong in the compilation database. -- SourceFile::Type source_type = source.type(); -- if (source_type != SourceFile::SOURCE_CPP && -- source_type != SourceFile::SOURCE_C && -- source_type != SourceFile::SOURCE_M && -- source_type != SourceFile::SOURCE_MM) -+ SourceFileType source_type = GetSourceFileType(source); -+ if (source_type != SOURCE_CPP && source_type != SOURCE_C && -+ source_type != SOURCE_M && source_type != SOURCE_MM) - continue; - - const char* tool_name = Tool::kToolNone; -@@ -324,4 +322,4 @@ void CompileCommandsWriter::VisitDeps(co - VisitDeps(pair.ptr, visited); - } - } --} -+} -\ No newline at end of file ---- a/tools/gn/tools/gn/general_tool.h -+++ b/tools/gn/tools/gn/general_tool.h -@@ -11,6 +11,7 @@ - #include "base/macros.h" - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - #include "tools/gn/tool.h" ---- a/tools/gn/tools/gn/header_checker.cc -+++ b/tools/gn/tools/gn/header_checker.cc -@@ -18,6 +18,7 @@ - #include "tools/gn/err.h" - #include "tools/gn/filesystem_utils.h" - #include "tools/gn/scheduler.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/target.h" - #include "tools/gn/trace.h" - #include "util/worker_pool.h" -@@ -151,10 +152,9 @@ void HeaderChecker::RunCheckOverFiles(co - - for (const auto& file : files) { - // Only check C-like source files (RC files also have includes). -- SourceFile::Type type = file.first.type(); -- if (type != SourceFile::SOURCE_CPP && type != SourceFile::SOURCE_H && -- type != SourceFile::SOURCE_C && type != SourceFile::SOURCE_M && -- type != SourceFile::SOURCE_MM && type != SourceFile::SOURCE_RC) -+ SourceFileType type = GetSourceFileType(file.first); -+ if (type != SOURCE_CPP && type != SOURCE_H && type != SOURCE_C && -+ type != SOURCE_M && type != SOURCE_MM && type != SOURCE_RC) - continue; - - if (!check_generated_) { ---- a/tools/gn/tools/gn/ninja_binary_target_writer.cc -+++ b/tools/gn/tools/gn/ninja_binary_target_writer.cc -@@ -23,23 +23,22 @@ - #include "tools/gn/ninja_utils.h" - #include "tools/gn/scheduler.h" - #include "tools/gn/settings.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/string_utils.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/target.h" - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::CSourceUsed() { -- return Get(SourceFile::SOURCE_CPP) || Get(SourceFile::SOURCE_H) || -- Get(SourceFile::SOURCE_C) || Get(SourceFile::SOURCE_M) || -- Get(SourceFile::SOURCE_MM) || Get(SourceFile::SOURCE_RC) || -- Get(SourceFile::SOURCE_S); -+ return Get(SOURCE_CPP) || Get(SOURCE_H) || Get(SOURCE_C) || Get(SOURCE_M) || -+ Get(SOURCE_MM) || Get(SOURCE_RC) || Get(SOURCE_S); - } - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::RustSourceUsed() { -- return Get(SourceFile::SOURCE_RS); -+ return Get(SOURCE_RS); - } - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::GoSourceUsed() { -- return Get(SourceFile::SOURCE_GO); -+ return Get(SOURCE_GO); - } - - NinjaBinaryTargetWriter::NinjaBinaryTargetWriter(const Target* target, -@@ -50,6 +49,10 @@ NinjaBinaryTargetWriter::NinjaBinaryTarg - NinjaBinaryTargetWriter::~NinjaBinaryTargetWriter() = default; - - void NinjaBinaryTargetWriter::Run() { -+ SourceFileTypeSet used_types; -+ for (const auto& source : target_->sources()) -+ used_types.Set(GetSourceFileType(source)); -+ - NinjaCBinaryTargetWriter writer(target_, out_); - writer.Run(); - } ---- a/tools/gn/tools/gn/ninja_binary_target_writer.h -+++ b/tools/gn/tools/gn/ninja_binary_target_writer.h -@@ -23,12 +23,11 @@ class NinjaBinaryTargetWriter : public N - class SourceFileTypeSet { - public: - SourceFileTypeSet() { -- memset(flags_, 0, -- sizeof(bool) * static_cast(SourceFile::SOURCE_NUMTYPES)); -+ memset(flags_, 0, sizeof(bool) * static_cast(SOURCE_NUMTYPES)); - } - -- void Set(SourceFile::Type type) { flags_[static_cast(type)] = true; } -- bool Get(SourceFile::Type type) const { -+ void Set(SourceFileType type) { flags_[static_cast(type)] = true; } -+ bool Get(SourceFileType type) const { - return flags_[static_cast(type)]; - } - -@@ -37,7 +36,7 @@ class NinjaBinaryTargetWriter : public N - bool GoSourceUsed(); - - private: -- bool flags_[static_cast(SourceFile::SOURCE_NUMTYPES)]; -+ bool flags_[static_cast(SOURCE_NUMTYPES)]; - }; - - NinjaBinaryTargetWriter(const Target* target, std::ostream& out); ---- a/tools/gn/tools/gn/ninja_c_binary_target_writer.cc -+++ b/tools/gn/tools/gn/ninja_c_binary_target_writer.cc -@@ -24,6 +24,7 @@ - #include "tools/gn/ninja_utils.h" - #include "tools/gn/scheduler.h" - #include "tools/gn/settings.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/string_utils.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/target.h" -@@ -66,27 +67,27 @@ void AddSourceSetObjectFiles(const Targe - if (source_set->GetOutputFilesForSource(source, &tool_name, &tool_outputs)) - obj_files->push_back(tool_outputs[0]); - -- used_types.Set(source.type()); -+ used_types.Set(GetSourceFileType(source)); - } - - // Add MSVC precompiled header object files. GCC .gch files are not object - // files so they are omitted. - if (source_set->config_values().has_precompiled_headers()) { -- if (used_types.Get(SourceFile::SOURCE_C)) { -+ if (used_types.Get(SOURCE_C)) { - const CTool* tool = source_set->toolchain()->GetToolAsC(CTool::kCToolCc); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { - GetPCHOutputFiles(source_set, CTool::kCToolCc, &tool_outputs); - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_CPP)) { -+ if (used_types.Get(SOURCE_CPP)) { - const CTool* tool = source_set->toolchain()->GetToolAsC(CTool::kCToolCxx); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { - GetPCHOutputFiles(source_set, CTool::kCToolCxx, &tool_outputs); - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_M)) { -+ if (used_types.Get(SOURCE_M)) { - const CTool* tool = - source_set->toolchain()->GetToolAsC(CTool::kCToolObjC); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { -@@ -94,7 +95,7 @@ void AddSourceSetObjectFiles(const Targe - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_MM)) { - const CTool* tool = - source_set->toolchain()->GetToolAsC(CTool::kCToolObjCxx); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { -@@ -118,7 +119,7 @@ void NinjaCBinaryTargetWriter::Run() { - // Figure out what source types are needed. - SourceFileTypeSet used_types; - for (const auto& source : target_->sources()) -- used_types.Set(source.type()); -+ used_types.Set(GetSourceFileType(source)); - - WriteCompilerVars(used_types); - -@@ -234,34 +235,31 @@ void NinjaCBinaryTargetWriter::WriteComp - target_->config_values().has_precompiled_headers(); - - EscapeOptions opts = GetFlagOptions(); -- if (used_types.Get(SourceFile::SOURCE_S) || -- used_types.Get(SourceFile::SOURCE_ASM)) { -+ if (used_types.Get(SOURCE_S) || used_types.Get(SOURCE_ASM)) { - WriteOneFlag(target_, &CSubstitutionAsmFlags, false, Tool::kToolNone, - &ConfigValues::asmflags, opts, path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_C) || -- used_types.Get(SourceFile::SOURCE_CPP) || -- used_types.Get(SourceFile::SOURCE_M) || -- used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_C) || used_types.Get(SOURCE_CPP) || -+ used_types.Get(SOURCE_M) || used_types.Get(SOURCE_MM)) { - WriteOneFlag(target_, &CSubstitutionCFlags, false, Tool::kToolNone, - &ConfigValues::cflags, opts, path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_C)) { -+ if (used_types.Get(SOURCE_C)) { - WriteOneFlag(target_, &CSubstitutionCFlagsC, has_precompiled_headers, - CTool::kCToolCc, &ConfigValues::cflags_c, opts, path_output_, - out_); - } -- if (used_types.Get(SourceFile::SOURCE_CPP)) { -+ if (used_types.Get(SOURCE_CPP)) { - WriteOneFlag(target_, &CSubstitutionCFlagsCc, has_precompiled_headers, - CTool::kCToolCxx, &ConfigValues::cflags_cc, opts, path_output_, - out_); - } -- if (used_types.Get(SourceFile::SOURCE_M)) { -+ if (used_types.Get(SOURCE_M)) { - WriteOneFlag(target_, &CSubstitutionCFlagsObjC, has_precompiled_headers, - CTool::kCToolObjC, &ConfigValues::cflags_objc, opts, - path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_MM)) { - WriteOneFlag(target_, &CSubstitutionCFlagsObjCc, has_precompiled_headers, - CTool::kCToolObjCxx, &ConfigValues::cflags_objcc, opts, - path_output_, out_); -@@ -321,14 +319,14 @@ void NinjaCBinaryTargetWriter::WritePCHC - - const CTool* tool_c = target_->toolchain()->GetToolAsC(CTool::kCToolCc); - if (tool_c && tool_c->precompiled_header_type() != CTool::PCH_NONE && -- used_types.Get(SourceFile::SOURCE_C)) { -+ used_types.Get(SOURCE_C)) { - WritePCHCommand(&CSubstitutionCFlagsC, CTool::kCToolCc, - tool_c->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); - } - const CTool* tool_cxx = target_->toolchain()->GetToolAsC(CTool::kCToolCxx); - if (tool_cxx && tool_cxx->precompiled_header_type() != CTool::PCH_NONE && -- used_types.Get(SourceFile::SOURCE_CPP)) { -+ used_types.Get(SOURCE_CPP)) { - WritePCHCommand(&CSubstitutionCFlagsCc, CTool::kCToolCxx, - tool_cxx->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -336,7 +334,7 @@ void NinjaCBinaryTargetWriter::WritePCHC - - const CTool* tool_objc = target_->toolchain()->GetToolAsC(CTool::kCToolObjC); - if (tool_objc && tool_objc->precompiled_header_type() == CTool::PCH_GCC && -- used_types.Get(SourceFile::SOURCE_M)) { -+ used_types.Get(SOURCE_M)) { - WritePCHCommand(&CSubstitutionCFlagsObjC, CTool::kCToolObjC, - tool_objc->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -345,7 +343,7 @@ void NinjaCBinaryTargetWriter::WritePCHC - const CTool* tool_objcxx = - target_->toolchain()->GetToolAsC(CTool::kCToolObjCxx); - if (tool_objcxx && tool_objcxx->precompiled_header_type() == CTool::PCH_GCC && -- used_types.Get(SourceFile::SOURCE_MM)) { -+ used_types.Get(SOURCE_MM)) { - WritePCHCommand(&CSubstitutionCFlagsObjCc, CTool::kCToolObjCxx, - tool_objcxx->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -478,7 +476,7 @@ void NinjaCBinaryTargetWriter::WriteSour - deps.resize(0); - const char* tool_name = Tool::kToolNone; - if (!target_->GetOutputFilesForSource(source, &tool_name, &tool_outputs)) { -- if (source.type() == SourceFile::SOURCE_DEF) -+ if (GetSourceFileType(source) == SOURCE_DEF) - other_files->push_back(source); - continue; // No output for this source. - } -@@ -599,7 +597,7 @@ void NinjaCBinaryTargetWriter::WriteLink - const SourceFile* optional_def_file = nullptr; - if (!other_files.empty()) { - for (const SourceFile& src_file : other_files) { -- if (src_file.type() == SourceFile::SOURCE_DEF) { -+ if (GetSourceFileType(src_file) == SOURCE_DEF) { - optional_def_file = &src_file; - implicit_deps.push_back( - OutputFile(settings_->build_settings(), src_file)); ---- a/tools/gn/tools/gn/source_file.cc -+++ b/tools/gn/tools/gn/source_file.cc -@@ -21,48 +21,18 @@ void AssertValueSourceFileString(const s - DCHECK(!EndsWithSlash(s)) << s; - } - --SourceFile::Type GetSourceFileType(const std::string& file) { -- base::StringPiece extension = FindExtension(&file); -- if (extension == "cc" || extension == "cpp" || extension == "cxx") -- return SourceFile::SOURCE_CPP; -- if (extension == "h" || extension == "hpp" || extension == "hxx" || -- extension == "hh" || extension == "inc") -- return SourceFile::SOURCE_H; -- if (extension == "c") -- return SourceFile::SOURCE_C; -- if (extension == "m") -- return SourceFile::SOURCE_M; -- if (extension == "mm") -- return SourceFile::SOURCE_MM; -- if (extension == "rc") -- return SourceFile::SOURCE_RC; -- if (extension == "S" || extension == "s" || extension == "asm") -- return SourceFile::SOURCE_S; -- if (extension == "o" || extension == "obj") -- return SourceFile::SOURCE_O; -- if (extension == "def") -- return SourceFile::SOURCE_DEF; -- if (extension == "rs") -- return SourceFile::SOURCE_RS; -- if (extension == "go") -- return SourceFile::SOURCE_GO; -- -- return SourceFile::SOURCE_UNKNOWN; --} -- - } // namespace - --SourceFile::SourceFile() : type_(SOURCE_UNKNOWN) {} -+SourceFile::SourceFile() = default; - - SourceFile::SourceFile(const base::StringPiece& p) -- : value_(p.data(), p.size()), type_(GetSourceFileType(value_)) { -+ : value_(p.data(), p.size()) { - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); - } - --SourceFile::SourceFile(SwapIn, std::string* value) -- : type_(GetSourceFileType(*value)) { -+SourceFile::SourceFile(SwapIn, std::string* value) { - value_.swap(*value); - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); ---- a/tools/gn/tools/gn/source_file.h -+++ b/tools/gn/tools/gn/source_file.h -@@ -20,28 +20,6 @@ class SourceDir; - // ends in one. - class SourceFile { - public: -- // This should be sequential integers starting from 0 so they can be used as -- // array indices. -- enum Type { -- SOURCE_UNKNOWN = 0, -- SOURCE_ASM, -- SOURCE_C, -- SOURCE_CPP, -- SOURCE_H, -- SOURCE_M, -- SOURCE_MM, -- SOURCE_S, -- SOURCE_RC, -- SOURCE_O, // Object files can be inputs, too. Also counts .obj. -- SOURCE_DEF, -- -- SOURCE_RS, -- SOURCE_GO, -- -- // Must be last. -- SOURCE_NUMTYPES, -- }; -- - enum SwapIn { SWAP_IN }; - - SourceFile(); -@@ -58,7 +36,6 @@ class SourceFile { - - bool is_null() const { return value_.empty(); } - const std::string& value() const { return value_; } -- Type type() const { return type_; } - - // Returns everything after the last slash. - std::string GetName() const; -@@ -103,7 +80,6 @@ class SourceFile { - friend class SourceDir; - - std::string value_; -- Type type_; - - // Copy & assign supported. - }; ---- /dev/null -+++ b/tools/gn/tools/gn/source_file_type.cc -@@ -0,0 +1,37 @@ -+// Copyright 2014 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. -+ -+#include "tools/gn/source_file_type.h" -+ -+#include "tools/gn/filesystem_utils.h" -+#include "tools/gn/source_file.h" -+ -+SourceFileType GetSourceFileType(const SourceFile& file) { -+ base::StringPiece extension = FindExtension(&file.value()); -+ if (extension == "cc" || extension == "cpp" || extension == "cxx") -+ return SOURCE_CPP; -+ if (extension == "h" || extension == "hpp" || extension == "hxx" || -+ extension == "hh") -+ return SOURCE_H; -+ if (extension == "c") -+ return SOURCE_C; -+ if (extension == "m") -+ return SOURCE_M; -+ if (extension == "mm") -+ return SOURCE_MM; -+ if (extension == "rc") -+ return SOURCE_RC; -+ if (extension == "S" || extension == "s" || extension == "asm") -+ return SOURCE_S; -+ if (extension == "o" || extension == "obj") -+ return SOURCE_O; -+ if (extension == "def") -+ return SOURCE_DEF; -+ if (extension == "rs") -+ return SOURCE_RS; -+ if (extension == "go") -+ return SOURCE_GO; -+ -+ return SOURCE_UNKNOWN; -+} ---- /dev/null -+++ b/tools/gn/tools/gn/source_file_type.h -@@ -0,0 +1,34 @@ -+// Copyright 2014 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. -+ -+#ifndef TOOLS_GN_SOURCE_FILE_TYPE_H_ -+#define TOOLS_GN_SOURCE_FILE_TYPE_H_ -+ -+class SourceFile; -+ -+// This should be sequential integers starting from 0 so they can be used as -+// array indices. -+enum SourceFileType { -+ SOURCE_UNKNOWN = 0, -+ SOURCE_ASM, -+ SOURCE_C, -+ SOURCE_CPP, -+ SOURCE_H, -+ SOURCE_M, -+ SOURCE_MM, -+ SOURCE_S, -+ SOURCE_RC, -+ SOURCE_O, // Object files can be inputs, too. Also counts .obj. -+ SOURCE_DEF, -+ -+ SOURCE_RS, -+ SOURCE_GO, -+ -+ // Must be last. -+ SOURCE_NUMTYPES, -+}; -+ -+SourceFileType GetSourceFileType(const SourceFile& file); -+ -+#endif // TOOLS_GN_SOURCE_FILE_TYPE_H_ ---- a/tools/gn/tools/gn/target.cc -+++ b/tools/gn/tools/gn/target.cc -@@ -16,6 +16,7 @@ - #include "tools/gn/filesystem_utils.h" - #include "tools/gn/functions.h" - #include "tools/gn/scheduler.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/tool.h" - #include "tools/gn/toolchain.h" -@@ -486,10 +487,10 @@ bool Target::GetOutputFilesForSource(con - outputs->clear(); - *computed_tool_type = Tool::kToolNone; - -- SourceFile::Type file_type = source.type(); -- if (file_type == SourceFile::SOURCE_UNKNOWN) -+ SourceFileType file_type = GetSourceFileType(source); -+ if (file_type == SOURCE_UNKNOWN) - return false; -- if (file_type == SourceFile::SOURCE_O) { -+ if (file_type == SOURCE_O) { - // Object files just get passed to the output and not compiled. - outputs->push_back(OutputFile(settings()->build_settings(), source)); - return true; ---- a/tools/gn/tools/gn/tool.cc -+++ b/tools/gn/tools/gn/tool.cc -@@ -261,27 +261,27 @@ std::unique_ptr Tool::CreateTool(c - } - - // static --const char* Tool::GetToolTypeForSourceType(SourceFile::Type type) { -+const char* Tool::GetToolTypeForSourceType(SourceFileType type) { - switch (type) { -- case SourceFile::SOURCE_C: -+ case SOURCE_C: - return CTool::kCToolCc; -- case SourceFile::SOURCE_CPP: -+ case SOURCE_CPP: - return CTool::kCToolCxx; -- case SourceFile::SOURCE_M: -+ case SOURCE_M: - return CTool::kCToolObjC; -- case SourceFile::SOURCE_MM: -+ case SOURCE_MM: - return CTool::kCToolObjCxx; -- case SourceFile::SOURCE_ASM: -- case SourceFile::SOURCE_S: -+ case SOURCE_ASM: -+ case SOURCE_S: - return CTool::kCToolAsm; -- case SourceFile::SOURCE_RC: -+ case SOURCE_RC: - return CTool::kCToolRc; -- case SourceFile::SOURCE_UNKNOWN: -- case SourceFile::SOURCE_H: -- case SourceFile::SOURCE_O: -- case SourceFile::SOURCE_DEF: -- case SourceFile::SOURCE_GO: -- case SourceFile::SOURCE_RS: -+ case SOURCE_UNKNOWN: -+ case SOURCE_H: -+ case SOURCE_O: -+ case SOURCE_DEF: -+ case SOURCE_GO: -+ case SOURCE_RS: - return kToolNone; - default: - NOTREACHED(); ---- a/tools/gn/tools/gn/tool.h -+++ b/tools/gn/tools/gn/tool.h -@@ -12,7 +12,7 @@ - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" --#include "tools/gn/source_file.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - -@@ -171,7 +171,7 @@ class Tool { - Toolchain* toolchain, - Err* err); - -- static const char* GetToolTypeForSourceType(SourceFile::Type type); -+ static const char* GetToolTypeForSourceType(SourceFileType type); - static const char* GetToolTypeForTargetFinalOutput(const Target* target); - - protected: ---- a/tools/gn/tools/gn/toolchain.cc -+++ b/tools/gn/tools/gn/toolchain.cc -@@ -88,16 +88,16 @@ void Toolchain::ToolchainSetupComplete() - setup_complete_ = true; - } - --const Tool* Toolchain::GetToolForSourceType(SourceFile::Type type) const { -+const Tool* Toolchain::GetToolForSourceType(SourceFileType type) const { - return GetTool(Tool::GetToolTypeForSourceType(type)); - } - --const CTool* Toolchain::GetToolForSourceTypeAsC(SourceFile::Type type) const { -+const CTool* Toolchain::GetToolForSourceTypeAsC(SourceFileType type) const { - return GetToolAsC(Tool::GetToolTypeForSourceType(type)); - } - - const GeneralTool* Toolchain::GetToolForSourceTypeAsGeneral( -- SourceFile::Type type) const { -+ SourceFileType type) const { - return GetToolAsGeneral(Tool::GetToolTypeForSourceType(type)); - } - ---- a/tools/gn/tools/gn/toolchain.h -+++ b/tools/gn/tools/gn/toolchain.h -@@ -12,6 +12,7 @@ - #include "tools/gn/item.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_type.h" - #include "tools/gn/tool.h" - #include "tools/gn/value.h" -@@ -87,9 +88,9 @@ class Toolchain : public Item { - } - - // Returns the tool for compiling the given source file type. -- const Tool* GetToolForSourceType(SourceFile::Type type) const; -- const CTool* GetToolForSourceTypeAsC(SourceFile::Type type) const; -- const GeneralTool* GetToolForSourceTypeAsGeneral(SourceFile::Type type) const; -+ const Tool* GetToolForSourceType(SourceFileType type) const; -+ const CTool* GetToolForSourceTypeAsC(SourceFileType type) const; -+ const GeneralTool* GetToolForSourceTypeAsGeneral(SourceFileType type) const; - - // Returns the tool that produces the final output for the given target type. - // This isn't necessarily the tool you would expect. For copy target, this ---- a/tools/gn/tools/gn/visual_studio_writer.cc -+++ b/tools/gn/tools/gn/visual_studio_writer.cc -@@ -24,6 +24,7 @@ - #include "tools/gn/label_pattern.h" - #include "tools/gn/parse_tree.h" - #include "tools/gn/path_output.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/standard_out.h" - #include "tools/gn/target.h" - #include "tools/gn/variables.h" diff --git a/revert-gn-4980.patch b/revert-gn-4980.patch deleted file mode 100644 index fe550e9..0000000 --- a/revert-gn-4980.patch +++ /dev/null @@ -1,134 +0,0 @@ -Description: revert https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92, which breaks the chromium build - ---- a/tools/gn/tools/gn/binary_target_generator.cc -+++ b/tools/gn/tools/gn/binary_target_generator.cc -@@ -68,38 +68,6 @@ void BinaryTargetGenerator::DoRun() { - return; - } - --bool BinaryTargetGenerator::FillSources() { -- bool ret = TargetGenerator::FillSources(); -- for (std::size_t i = 0; i < target_->sources().size(); ++i) { -- const auto& source = target_->sources()[i]; -- switch (source.type()) { -- case SourceFile::SOURCE_CPP: -- case SourceFile::SOURCE_H: -- case SourceFile::SOURCE_C: -- case SourceFile::SOURCE_M: -- case SourceFile::SOURCE_MM: -- case SourceFile::SOURCE_S: -- case SourceFile::SOURCE_ASM: -- case SourceFile::SOURCE_O: -- // These are allowed. -- break; -- case SourceFile::SOURCE_RC: -- case SourceFile::SOURCE_DEF: -- case SourceFile::SOURCE_RS: -- case SourceFile::SOURCE_GO: -- case SourceFile::SOURCE_UNKNOWN: -- case SourceFile::SOURCE_NUMTYPES: -- *err_ = -- Err(scope_->GetValue(variables::kSources, true)->list_value()[i], -- std::string("Only source, header, and object files belong in " -- "the sources of a ") + -- Target::GetStringForOutputType(target_->output_type()) + -- ". " + source.value() + " is not one of the valid types."); -- } -- } -- return ret; --} -- - bool BinaryTargetGenerator::FillCompleteStaticLib() { - if (target_->output_type() == Target::STATIC_LIBRARY) { - const Value* value = scope_->GetValue(variables::kCompleteStaticLib, true); ---- a/tools/gn/tools/gn/binary_target_generator.h -+++ b/tools/gn/tools/gn/binary_target_generator.h -@@ -22,7 +22,6 @@ class BinaryTargetGenerator : public Tar - - protected: - void DoRun() override; -- bool FillSources() override; - - private: - bool FillCompleteStaticLib(); ---- a/tools/gn/tools/gn/source_dir.cc -+++ b/tools/gn/tools/gn/source_dir.cc -@@ -98,10 +98,10 @@ SourceFile SourceDir::ResolveRelativeFil - return ret; - - const std::string& input_string = p.string_value(); -- if (!ValidateResolveInput(true, p, input_string, err)) -+ if (!ValidateResolveInput(true, p, input_string, err)) { - return ret; -- -- ret.SetValue(ResolveRelative(input_string, value_, true, source_root)); -+ } -+ ret.value_ = ResolveRelative(input_string, value_, true, source_root); - return ret; - } - ---- a/tools/gn/tools/gn/source_file.cc -+++ b/tools/gn/tools/gn/source_file.cc -@@ -55,19 +55,18 @@ SourceFile::Type GetSourceFileType(const - SourceFile::SourceFile() : type_(SOURCE_UNKNOWN) {} - - SourceFile::SourceFile(const base::StringPiece& p) -- : value_(p.data(), p.size()) { -+ : value_(p.data(), p.size()), type_(GetSourceFileType(value_)) { - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); -- type_ = GetSourceFileType(value_); - } - --SourceFile::SourceFile(SwapIn, std::string* value) { -+SourceFile::SourceFile(SwapIn, std::string* value) -+ : type_(GetSourceFileType(*value)) { - value_.swap(*value); - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); -- type_ = GetSourceFileType(value_); - } - - SourceFile::~SourceFile() = default; -@@ -93,8 +92,3 @@ SourceDir SourceFile::GetDir() const { - base::FilePath SourceFile::Resolve(const base::FilePath& source_root) const { - return ResolvePath(value_, true, source_root); - } -- --void SourceFile::SetValue(const std::string& value) { -- value_ = value; -- type_ = GetSourceFileType(value_); --} ---- a/tools/gn/tools/gn/source_file.h -+++ b/tools/gn/tools/gn/source_file.h -@@ -97,16 +97,11 @@ class SourceFile { - return value_ < other.value_; - } - -- void swap(SourceFile& other) { -- value_.swap(other.value_); -- std::swap(type_, other.type_); -- } -+ void swap(SourceFile& other) { value_.swap(other.value_); } - - private: - friend class SourceDir; - -- void SetValue(const std::string& value); -- - std::string value_; - Type type_; - ---- a/tools/gn/tools/gn/target_generator.h -+++ b/tools/gn/tools/gn/target_generator.h -@@ -47,7 +47,7 @@ class TargetGenerator { - - const BuildSettings* GetBuildSettings() const; - -- virtual bool FillSources(); -+ bool FillSources(); - bool FillPublic(); - bool FillConfigs(); - bool FillOutputs(bool allow_substitutions); From 83f2dc294a42d11a4d7c38e5137a018a670f1cad Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 13 Aug 2019 07:05:33 +0200 Subject: [PATCH 016/171] Update to 76.0.3809.100 --- .gitignore | 1 + ...4.116-libusb_interrupt_event_handler.patch | 15 - chromium-55.0.2883.75-cups22.patch | 29 -- chromium-66.0.3359.117-missing-files.patch | 272 ------------------ ...um-73.0.3683.75-pipewire-cstring-fix.patch | 11 - ...9.100-libusb_interrupt_event_handler.patch | 15 + chromium.spec | 32 +-- sources | 2 +- 8 files changed, 24 insertions(+), 353 deletions(-) delete mode 100644 chromium-48.0.2564.116-libusb_interrupt_event_handler.patch delete mode 100644 chromium-55.0.2883.75-cups22.patch delete mode 100644 chromium-66.0.3359.117-missing-files.patch delete mode 100644 chromium-73.0.3683.75-pipewire-cstring-fix.patch create mode 100644 chromium-76.0.3809.100-libusb_interrupt_event_handler.patch diff --git a/.gitignore b/.gitignore index 61d44ef..2bfdc54 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ /chromium-75.0.3770.80-clean.tar.xz /chromium-75.0.3770.90-clean.tar.xz /chromium-75.0.3770.100-clean.tar.xz +/chromium-76.0.3809.100-clean.tar.xz diff --git a/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch b/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch deleted file mode 100644 index d0b2484..0000000 --- a/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc ---- chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500 -+++ chromium-48.0.2564.116/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) { diff --git a/chromium-55.0.2883.75-cups22.patch b/chromium-55.0.2883.75-cups22.patch deleted file mode 100644 index d1a2bf8..0000000 --- a/chromium-55.0.2883.75-cups22.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-52.0.2743.82/printing/backend/print_backend_cups.cc.cups22 chromium-52.0.2743.82/printing/backend/print_backend_cups.cc ---- chromium-52.0.2743.82/printing/backend/print_backend_cups.cc.cups22 2016-07-22 09:20:15.794340886 -0400 -+++ chromium-52.0.2743.82/printing/backend/print_backend_cups.cc 2016-07-22 09:20:26.338261197 -0400 -@@ -16,6 +16,7 @@ - #include "base/synchronization/lock.h" - #include "base/values.h" - #include "printing/backend/cups_helper.h" -+#include - #include "printing/backend/print_backend_consts.h" - #include "url/gurl.h" - -diff -up chromium-52.0.2743.82/printing/BUILD.gn.cups22 chromium-52.0.2743.82/printing/BUILD.gn ---- chromium-52.0.2743.82/printing/BUILD.gn.cups22 2016-07-21 11:27:05.597507544 -0400 -+++ chromium-52.0.2743.82/printing/BUILD.gn 2016-07-21 14:36:45.574137758 -0400 -@@ -147,12 +147,13 @@ component("printing") { - ], - "trim string") - -- if (cups_version == "1.6" || cups_version == "1.7") { -+ if (cups_version == "1.6" || cups_version == "1.7" || cups_version == "2.2") { - cflags += [ - # CUPS 1.6 deprecated the PPD APIs, but we will stay with this - # API for now as supported Linux and Mac OS'es are still using - # older versions of CUPS. More info: crbug.com/226176 - "-Wno-deprecated-declarations", -+ "-D_PPD_DEPRECATED=", - # CUPS 1.7 deprecates httpConnectEncrypt(), see the mac section - # below. - ] diff --git a/chromium-66.0.3359.117-missing-files.patch b/chromium-66.0.3359.117-missing-files.patch deleted file mode 100644 index 746d56e..0000000 --- a/chromium-66.0.3359.117-missing-files.patch +++ /dev/null @@ -1,272 +0,0 @@ -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing 2018-04-19 09:51:46.165723235 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py 2018-04-19 09:51:46.171723115 -0400 -@@ -0,0 +1,3 @@ -+# Copyright 2017 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. -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing 2018-04-19 09:51:46.171723115 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py 2018-04-19 09:51:46.172723095 -0400 -@@ -0,0 +1,110 @@ -+# Copyright 2017 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. -+# pylint: disable=import-error,print-statement,relative-import -+import re -+SPECIAL_TOKENS = [ -+ # This list should be sorted by length. -+ 'CString', -+ 'Float32', -+ 'Float64', -+ 'Base64', -+ 'IFrame', -+ 'Latin1', -+ 'PlugIn', -+ 'SQLite', -+ 'Uint16', -+ 'Uint32', -+ 'WebGL2', -+ 'ASCII', -+ 'CType', -+ 'DList', -+ 'Int16', -+ 'Int32', -+ 'MPath', -+ 'OList', -+ 'TSpan', -+ 'UList', -+ 'UTF16', -+ 'Uint8', -+ 'WebGL', -+ 'XPath', -+ 'ETC1', -+ 'HTML', -+ 'Int8', -+ 'S3TC', -+ 'SPv2', -+ 'UTF8', -+ 'API', -+ 'CSS', -+ 'DOM', -+ 'EXT', -+ 'RTC', -+ 'SVG', -+ '2D', -+ 'AX', -+ 'V0', -+ 'V8', -+] -+MATCHING_EXPRESSION = '((?:[A-Z][a-z]+)|[0-9]D?$)' -+class SmartTokenizer(object): -+ """Detects special cases that are not easily discernible without additional -+ knowledge, such as recognizing that in SVGSVGElement, the first two SVGs -+ are separate tokens, but WebGL is one token.""" -+ def __init__(self, name): -+ self.remaining = name -+ def tokenize(self): -+ name = self.remaining -+ tokens = [] -+ while len(name) > 0: -+ matched_token = None -+ for token in SPECIAL_TOKENS: -+ if name.startswith(token): -+ matched_token = token -+ break -+ if not matched_token: -+ match = re.search(MATCHING_EXPRESSION, name) -+ if not match: -+ matched_token = name -+ elif match.start(0) != 0: -+ matched_token = name[:match.start(0)] -+ else: -+ matched_token = match.group(0) -+ tokens.append(name[:len(matched_token)]) -+ name = name[len(matched_token):] -+ return tokens -+class NameStyleConverter(object): -+ """Converts names from camelCase to various other styles. -+ """ -+ def __init__(self, name): -+ self.tokens = self.tokenize(name) -+ def tokenize(self, name): -+ tokenizer = SmartTokenizer(name) -+ return tokenizer.tokenize() -+ def to_snake_case(self): -+ """Snake case is the file and variable name style per Google C++ Style -+ Guide: -+ https://google.github.io/styleguide/cppguide.html#Variable_Names -+ Also known as the hacker case. -+ https://en.wikipedia.org/wiki/Snake_case -+ """ -+ return '_'.join([token.lower() for token in self.tokens]) -+ def to_upper_camel_case(self): -+ """Upper-camel case is the class and function name style per -+ Google C++ Style Guide: -+ https://google.github.io/styleguide/cppguide.html#Function_Names -+ Also known as the PascalCase. -+ https://en.wikipedia.org/wiki/Camel_case. -+ """ -+ return ''.join([token[0].upper() + token[1:] for token in self.tokens]) -+ def to_macro_case(self): -+ """Macro case is the macro name style per Google C++ Style Guide: -+ https://google.github.io/styleguide/cppguide.html#Macro_Names -+ """ -+ return '_'.join([token.upper() for token in self.tokens]) -+ def to_all_cases(self): -+ return { -+ 'snake_case': self.to_snake_case(), -+ 'upper_camel_case': self.to_upper_camel_case(), -+ 'macro_case': self.to_macro_case(), -+ } -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing 2018-04-19 09:51:46.172723095 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py 2018-04-19 09:51:46.173723075 -0400 -@@ -0,0 +1,140 @@ -+# Copyright 2017 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. -+# pylint: disable=import-error,print-statement,relative-import,protected-access -+"""Unit tests for name_style_converter.py.""" -+import unittest -+from name_style_converter import NameStyleConverter -+from name_style_converter import SmartTokenizer -+class SmartTokenizerTest(unittest.TestCase): -+ def test_simple_cases(self): -+ tokenizer = SmartTokenizer('foo') -+ self.assertEqual(tokenizer.tokenize(), ['foo']) -+ tokenizer = SmartTokenizer('fooBar') -+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar']) -+ tokenizer = SmartTokenizer('fooBarBaz') -+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar', 'Baz']) -+ tokenizer = SmartTokenizer('Baz') -+ self.assertEqual(tokenizer.tokenize(), ['Baz']) -+ tokenizer = SmartTokenizer('') -+ self.assertEqual(tokenizer.tokenize(), []) -+ tokenizer = SmartTokenizer('FOO') -+ self.assertEqual(tokenizer.tokenize(), ['FOO']) -+ tokenizer = SmartTokenizer('foo2') -+ self.assertEqual(tokenizer.tokenize(), ['foo', '2']) -+ def test_tricky_cases(self): -+ tokenizer = SmartTokenizer('XMLHttpRequest') -+ self.assertEqual(tokenizer.tokenize(), ['XML', 'Http', 'Request']) -+ tokenizer = SmartTokenizer('HTMLElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Element']) -+ tokenizer = SmartTokenizer('WebGLRenderingContext') -+ self.assertEqual(tokenizer.tokenize(), -+ ['WebGL', 'Rendering', 'Context']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2D') -+ self.assertEqual(tokenizer.tokenize(), -+ ['Canvas', 'Rendering', 'Context', '2D']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2DAPITest') -+ self.assertEqual(tokenizer.tokenize(), -+ ['Canvas', 'Rendering', 'Context', '2D', 'API', 'Test']) -+ tokenizer = SmartTokenizer('SVGSVGElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2D') -+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D']) -+ tokenizer = SmartTokenizer('CSSURLImageValue') -+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'URL', 'Image', 'Value']) -+ tokenizer = SmartTokenizer('CSSPropertyAPID') -+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'Property', 'API', 'D']) -+ tokenizer = SmartTokenizer('AXARIAGridCell') -+ self.assertEqual(tokenizer.tokenize(), ['AX', 'ARIA', 'Grid', 'Cell']) -+ tokenizer = SmartTokenizer('CDATASection') -+ self.assertEqual(tokenizer.tokenize(), ['CDATA', 'Section']) -+ tokenizer = SmartTokenizer('ASCIICType') -+ self.assertEqual(tokenizer.tokenize(), ['ASCII', 'CType']) -+ tokenizer = SmartTokenizer('CString') -+ self.assertEqual(tokenizer.tokenize(), ['CString']) -+ tokenizer = SmartTokenizer('HTMLDListElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'DList', 'Element']) -+ tokenizer = SmartTokenizer('HTMLOListElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'OList', 'Element']) -+ tokenizer = SmartTokenizer('HTMLIFrameElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'IFrame', 'Element']) -+ tokenizer = SmartTokenizer('HTMLPlugInElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'PlugIn', 'Element']) -+ # No special handling for OptGroup, FieldSet, and TextArea. -+ tokenizer = SmartTokenizer('HTMLOptGroupElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Opt', 'Group', 'Element']) -+ tokenizer = SmartTokenizer('HTMLFieldSetElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Field', 'Set', 'Element']) -+ tokenizer = SmartTokenizer('HTMLTextAreaElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Text', 'Area', 'Element']) -+ tokenizer = SmartTokenizer('Path2D') -+ self.assertEqual(tokenizer.tokenize(), ['Path', '2D']) -+ tokenizer = SmartTokenizer('Point2D') -+ self.assertEqual(tokenizer.tokenize(), ['Point', '2D']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2DState') -+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D', 'State']) -+ tokenizer = SmartTokenizer('RTCDTMFSender') -+ self.assertEqual(tokenizer.tokenize(), ['RTC', 'DTMF', 'Sender']) -+ tokenizer = SmartTokenizer('WebGLCompressedTextureS3TCsRGB') -+ self.assertEqual(tokenizer.tokenize(), ['WebGL', 'Compressed', 'Texture', 'S3TC', 'sRGB']) -+ tokenizer = SmartTokenizer('WebGL2CompressedTextureETC1') -+ self.assertEqual(tokenizer.tokenize(), ['WebGL2', 'Compressed', 'Texture', 'ETC1']) -+ tokenizer = SmartTokenizer('EXTsRGB') -+ self.assertEqual(tokenizer.tokenize(), ['EXT', 'sRGB']) -+ tokenizer = SmartTokenizer('SVGFEBlendElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'FE', 'Blend', 'Element']) -+ tokenizer = SmartTokenizer('SVGMPathElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'MPath', 'Element']) -+ tokenizer = SmartTokenizer('SVGTSpanElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'TSpan', 'Element']) -+ tokenizer = SmartTokenizer('SVGURIReference') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'URI', 'Reference']) -+ tokenizer = SmartTokenizer('UTF16TextIterator') -+ self.assertEqual(tokenizer.tokenize(), ['UTF16', 'Text', 'Iterator']) -+ tokenizer = SmartTokenizer('UTF8Decoder') -+ self.assertEqual(tokenizer.tokenize(), ['UTF8', 'Decoder']) -+ tokenizer = SmartTokenizer('Uint8Array') -+ self.assertEqual(tokenizer.tokenize(), ['Uint8', 'Array']) -+ tokenizer = SmartTokenizer('DOMWindowBase64') -+ self.assertEqual(tokenizer.tokenize(), ['DOM', 'Window', 'Base64']) -+ tokenizer = SmartTokenizer('TextCodecLatin1') -+ self.assertEqual(tokenizer.tokenize(), ['Text', 'Codec', 'Latin1']) -+ tokenizer = SmartTokenizer('V8BindingForCore') -+ self.assertEqual(tokenizer.tokenize(), ['V8', 'Binding', 'For', 'Core']) -+ tokenizer = SmartTokenizer('V8DOMRect') -+ self.assertEqual(tokenizer.tokenize(), ['V8', 'DOM', 'Rect']) -+ tokenizer = SmartTokenizer('V0InsertionPoint') -+ self.assertEqual(tokenizer.tokenize(), ['V0', 'Insertion', 'Point']) -+ tokenizer = SmartTokenizer('ShadowDOMV0Test') -+ self.assertEqual(tokenizer.tokenize(), ['Shadow', 'DOM', 'V0', 'Test']) -+ tokenizer = SmartTokenizer('ElementShadowV0') -+ self.assertEqual(tokenizer.tokenize(), ['Element', 'Shadow', 'V0']) -+ tokenizer = SmartTokenizer('StubChromeClientForSPv2') -+ self.assertEqual(tokenizer.tokenize(), ['Stub', 'Chrome', 'Client', 'For', 'SPv2']) -+ tokenizer = SmartTokenizer('SQLiteAuthorizer') -+ self.assertEqual(tokenizer.tokenize(), ['SQLite', 'Authorizer']) -+ tokenizer = SmartTokenizer('XPathEvaluator') -+ self.assertEqual(tokenizer.tokenize(), ['XPath', 'Evaluator']) -+ tokenizer = SmartTokenizer('IsXHTMLDocument') -+ self.assertEqual(tokenizer.tokenize(), ['Is', 'XHTML', 'Document']) -+ tokenizer = SmartTokenizer('Animation.idl') -+ self.assertEqual(tokenizer.tokenize(), ['Animation', '.idl']) -+class NameStyleConverterTest(unittest.TestCase): -+ def test_snake_case(self): -+ converter = NameStyleConverter('HTMLElement') -+ self.assertEqual(converter.to_snake_case(), 'html_element') -+ def test_upper_camel_case(self): -+ converter = NameStyleConverter('someSuperThing') -+ self.assertEqual(converter.to_upper_camel_case(), 'SomeSuperThing') -+ converter = NameStyleConverter('SVGElement') -+ self.assertEqual(converter.to_upper_camel_case(), 'SVGElement') -+ def test_macro_case(self): -+ converter = NameStyleConverter('WebGLBaz2D') -+ self.assertEqual(converter.to_macro_case(), 'WEBGL_BAZ_2D') -+ def test_all_cases(self): -+ converter = NameStyleConverter('SVGScriptElement') -+ self.assertEqual(converter.to_all_cases(), { -+ 'snake_case': 'svg_script_element', -+ 'upper_camel_case': 'SVGScriptElement', -+ 'macro_case': 'SVG_SCRIPT_ELEMENT', -+ }) -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing 2018-04-19 11:34:40.621293007 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py 2018-04-19 11:34:34.440413163 -0400 -@@ -0,0 +1,3 @@ -+# Copyright 2017 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. diff --git a/chromium-73.0.3683.75-pipewire-cstring-fix.patch b/chromium-73.0.3683.75-pipewire-cstring-fix.patch deleted file mode 100644 index ce8b70b..0000000 --- a/chromium-73.0.3683.75-pipewire-cstring-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc ---- chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix 2019-03-13 13:04:25.290842447 -0400 -+++ chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2019-03-13 13:05:13.234897441 -0400 -@@ -18,6 +18,7 @@ - #include - #include - -+#include - #include - #include - diff --git a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch new file mode 100644 index 0000000..690f0f9 --- /dev/null +++ b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch @@ -0,0 +1,15 @@ +diff -up chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx chromium-76.0.3809.100/services/device/usb/usb_context.cc +--- chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx 2019-08-12 15:40:49.034170484 +0200 ++++ chromium-76.0.3809.100/services/device/usb/usb_context.cc 2019-08-12 15:41:23.775558867 +0200 +@@ -58,7 +58,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) { diff --git a/chromium.spec b/chromium.spec index 0f9d7f8..88d3818 100644 --- a/chromium.spec +++ b/chromium.spec @@ -157,15 +157,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 75 +%global majorversion 76 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3770.100 -Release: 3%{?dist} +Version: %{majorversion}.0.3809.100 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -176,10 +176,7 @@ Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch Patch3: chromium-72.0.3626.121-notest.patch # Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch4: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch -# Ignore deprecations in cups 2.2 -# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 -Patch5: chromium-55.0.2883.75-cups22.patch +Patch4: chromium-76.0.3809.100-libusb_interrupt_event_handler.patch # Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) Patch6: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for master_prefs @@ -223,8 +220,6 @@ Patch23: chromium-65.0.3325.146-memcpy-fix.patch Patch24: chromium-68.0.3440.106-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch -# Missing files in tarball -Patch26: chromium-66.0.3359.117-missing-files.patch # Do not use unrar code, it is non-free Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes @@ -253,14 +248,8 @@ Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch Patch37: chromium-widevine-other-locations.patch # Disable -fno-delete-null-pointer-checks Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Add #include to get pipewire code to build -Patch39: chromium-73.0.3683.75-pipewire-cstring-fix.patch -# gcc does not have __assume -Patch40: chromium-75.0.3770.80-gcc-no-assume.patch # Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch -# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 -Patch42: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch @@ -272,8 +261,6 @@ Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 -Patch47: chromium-75.0.3770.100-git00281713.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -794,7 +781,6 @@ udev. %patch2 -p1 -b .addrfix %patch3 -p1 -b .notest %patch4 -p1 -b .modern-libusbx -%patch5 -p1 -b .cups22 %patch6 -p1 -b .sandboxpie %patch7 -p1 -b .etc %patch8 -p1 -b .gnsystem @@ -815,7 +801,6 @@ udev. %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix %patch25 -p1 -b .aarch64fix -%patch26 -p1 -b .missing-files %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -828,15 +813,11 @@ udev. %patch36 -p1 -b .gcc9 %patch37 -p1 -b .widevine-other-locations %patch38 -p1 -b .disable-ndnpc -%patch39 -p1 -b .cstring-fix -%patch40 -p1 -b .gcc-assume %patch41 -p1 -b .SIOCGSTAMP -%patch42 -p1 -b .gcc-dcheck_ne-fix %patch43 -p1 -b .revert-daff6b %patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .git00281713 # EPEL specific patches %if 0%{?rhel} == 7 @@ -1217,7 +1198,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ %if %{freeworld} 'third_party/openh264' \ %endif - 'third_party/openmax_dl' \ 'third_party/opus' \ 'third_party/ots' \ 'third_party/pdfium' \ @@ -1260,7 +1240,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/sqlite' \ 'third_party/swiftshader' \ 'third_party/swiftshader/third_party/subzero' \ - 'third_party/swiftshader/third_party/LLVM' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ 'third_party/tcmalloc' \ @@ -1857,6 +1836,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 +- Update to 76.0.3809.100 + * Tue Jul 2 2019 Tom Callaway - 75.0.3770.100-3 - apply upstream fix to resolve issue where it is dangerous to post a task with a RenderProcessHost pointer because the RenderProcessHost diff --git a/sources b/sources index 5ba7f4f..778c103 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-75.0.3770.100-clean.tar.xz) = ee2fad215cf39edc572b4ecd040f1130e857e19a34e64fffb14a995ca325adc0b01d6e8bfae4f91c2fecd13ed018049e64fe2c2cc755502b8e3291698698512e +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ad250b8cd0a01297fdff85c12a4dca85477cf027a68c0a9f7a3bc93b825772d17ddd062a89020ae954def781f19fe44beedb33ec8a86f3c12af290edb43d6ee9 From a44f11deb4e03471eabd35c11058e682a182e1e0 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 13 Aug 2019 15:39:15 +0200 Subject: [PATCH 017/171] Add more fixes --- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 ++++++++++++++++ chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ++++++++++ chromium-76.0.3809.100-gcc-vulkan.patch | 115 ++++++++++++++++++ chromium.spec | 14 +++ get_free_ffmpeg_source_files.py | 8 +- sources | 2 +- 6 files changed, 302 insertions(+), 5 deletions(-) create mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch create mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch create mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch new file mode 100644 index 0000000..e4d754a --- /dev/null +++ b/chromium-76.0.3809.100-gcc-cc-no-except.patch @@ -0,0 +1,105 @@ +From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 07 Jun 2019 09:50:11 +0000 +Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept + +As LayerTreeHostImpl::UIResourceData move constructor is declared +noexcept with default implementation, the move constructor of its +members should also be noexcept. GCC will fail to build otherwise +for mismatching noexcept declaration. + +We also set the move assignment operator. + +Bug: 819294 +Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 +Commit-Queue: José Dapena Paz +Reviewed-by: Daniel Cheng +Cr-Commit-Position: refs/heads/master@{#667064} +--- + +diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc +index 2be2570..8426fa8 100644 +--- a/base/memory/shared_memory_mapping.cc ++++ b/base/memory/shared_memory_mapping.cc +@@ -33,7 +33,7 @@ + + SharedMemoryMapping::SharedMemoryMapping() = default; + +-SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) ++SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept + : memory_(mapping.memory_), + size_(mapping.size_), + mapped_size_(mapping.mapped_size_), +@@ -42,7 +42,7 @@ + } + + SharedMemoryMapping& SharedMemoryMapping::operator=( +- SharedMemoryMapping&& mapping) { ++ SharedMemoryMapping&& mapping) noexcept { + Unmap(); + memory_ = mapping.memory_; + size_ = mapping.size_; +@@ -90,9 +90,9 @@ + + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( +- ReadOnlySharedMemoryMapping&&) = default; ++ ReadOnlySharedMemoryMapping&&) noexcept = default; + ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( +- ReadOnlySharedMemoryMapping&&) = default; ++ ReadOnlySharedMemoryMapping&&) noexcept = default; + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( + void* address, + size_t size, +@@ -102,9 +102,9 @@ + + WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; + WritableSharedMemoryMapping::WritableSharedMemoryMapping( +- WritableSharedMemoryMapping&&) = default; ++ WritableSharedMemoryMapping&&) noexcept = default; + WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( +- WritableSharedMemoryMapping&&) = default; ++ WritableSharedMemoryMapping&&) noexcept = default; + WritableSharedMemoryMapping::WritableSharedMemoryMapping( + void* address, + size_t size, +diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h +index d9569af..2b8858e 100644 +--- a/base/memory/shared_memory_mapping.h ++++ b/base/memory/shared_memory_mapping.h +@@ -32,8 +32,8 @@ + SharedMemoryMapping(); + + // Move operations are allowed. +- SharedMemoryMapping(SharedMemoryMapping&& mapping); +- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); ++ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; ++ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; + + // Unmaps the region if the mapping is valid. + virtual ~SharedMemoryMapping(); +@@ -93,8 +93,9 @@ + ReadOnlySharedMemoryMapping(); + + // Move operations are allowed. +- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); +- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); ++ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; ++ ReadOnlySharedMemoryMapping& operator=( ++ ReadOnlySharedMemoryMapping&&) noexcept; + + // Returns the base address of the mapping. This is read-only memory. This is + // page-aligned. This is nullptr for invalid instances. +@@ -171,8 +172,9 @@ + WritableSharedMemoryMapping(); + + // Move operations are allowed. +- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); +- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); ++ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; ++ WritableSharedMemoryMapping& operator=( ++ WritableSharedMemoryMapping&&) noexcept; + + // Returns the base address of the mapping. This is writable memory. This is + // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch new file mode 100644 index 0000000..bc0ed98 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-net-fetcher.patch @@ -0,0 +1,63 @@ +From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 16:56:27 +0000 +Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace + +GCC does not allow friendship declaration to anonymous namespace as done with Job +object in the CertNetFetcherImpl. This fix removes the friend declaration, and just +makes RemoveJob method public, that was the only reason to make Job a friend. + +Error was: +./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: +../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context + delete_this = parent_->RemoveJob(this); + ^ +../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here + std::unique_ptr RemoveJob(Job* job); + ^~~~~~~~~ +../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: +../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context + std::unique_ptr delete_this = parent_->RemoveJob(this); + ^ +../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here + std::unique_ptr RemoveJob(Job* job); + ^~~~~~~~~ + +Bug: 819294 +Change-Id: I3609f4558e570741395366de6a4cd40577d91450 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 +Commit-Queue: Eric Roman +Reviewed-by: Eric Roman +Cr-Commit-Position: refs/heads/master@{#668015} +--- + +diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc +index 11a1166..349c656 100644 +--- a/net/cert_net/cert_net_fetcher_impl.cc ++++ b/net/cert_net/cert_net_fetcher_impl.cc +@@ -135,21 +135,19 @@ + void Fetch(std::unique_ptr request_params, + scoped_refptr request); + ++ // Removes |job| from the in progress jobs and transfers ownership to the ++ // caller. ++ std::unique_ptr RemoveJob(Job* job); ++ + // Cancels outstanding jobs, which stops network requests and signals the + // corresponding RequestCores that the requests have completed. + void Shutdown(); + + private: +- friend class Job; +- + // Finds a job with a matching RequestPararms or returns nullptr if there was + // no match. + Job* FindJob(const RequestParams& params); + +- // Removes |job| from the in progress jobs and transfers ownership to the +- // caller. +- std::unique_ptr RemoveJob(Job* job); +- + // The in-progress jobs. This set does not contain the job which is actively + // invoking callbacks (OnJobCompleted). + JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch new file mode 100644 index 0000000..cf93bce --- /dev/null +++ b/chromium-76.0.3809.100-gcc-vulkan.patch @@ -0,0 +1,115 @@ +From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 17:39:38 +0000 +Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. + +The notation for initialization of structs referring to its properties +is invalid in C++. This is not accepted in GCC. It was making build +fail in VulkanCommandBuffer. + +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token + .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token + .subresourceRange.baseMipLevel = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token + .subresourceRange.levelCount = 1, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token + .subresourceRange.baseArrayLayer = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token + .subresourceRange.layerCount = 1, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token + .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token + .imageSubresource.mipLevel = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token + .imageSubresource.baseArrayLayer = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token + .imageSubresource.layerCount = 1, + ^ +Bug: 819294 + +Change-Id: I999abece0c727e77964789183642ba62009c2c22 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 +Commit-Queue: José Dapena Paz +Reviewed-by: Antoine Labour +Cr-Commit-Position: refs/heads/master@{#668033} +--- + +diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc +index ba776e4..4f14c85 100644 +--- a/gpu/vulkan/vulkan_command_buffer.cc ++++ b/gpu/vulkan/vulkan_command_buffer.cc +@@ -207,21 +207,20 @@ + void VulkanCommandBuffer::TransitionImageLayout(VkImage image, + VkImageLayout old_layout, + VkImageLayout new_layout) { +- VkImageMemoryBarrier barrier = { +- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, +- .srcAccessMask = GetAccessMask(old_layout), +- .dstAccessMask = GetAccessMask(new_layout), +- .oldLayout = old_layout, +- .newLayout = new_layout, +- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, +- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, +- .image = image, +- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, +- .subresourceRange.baseMipLevel = 0, +- .subresourceRange.levelCount = 1, +- .subresourceRange.baseArrayLayer = 0, +- .subresourceRange.layerCount = 1, +- }; ++ VkImageMemoryBarrier barrier = {}; ++ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; ++ barrier.srcAccessMask = GetAccessMask(old_layout); ++ barrier.dstAccessMask = GetAccessMask(new_layout); ++ barrier.oldLayout = old_layout; ++ barrier.newLayout = new_layout; ++ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; ++ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; ++ barrier.image = image; ++ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; ++ barrier.subresourceRange.baseMipLevel = 0; ++ barrier.subresourceRange.levelCount = 1; ++ barrier.subresourceRange.baseArrayLayer = 0; ++ barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), + GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, + nullptr, 1, &barrier); +@@ -233,17 +232,16 @@ + uint32_t buffer_height, + uint32_t width, + uint32_t height) { +- VkBufferImageCopy region = { +- .bufferOffset = 0, +- .bufferRowLength = buffer_width, +- .bufferImageHeight = buffer_height, +- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, +- .imageSubresource.mipLevel = 0, +- .imageSubresource.baseArrayLayer = 0, +- .imageSubresource.layerCount = 1, +- .imageOffset = {0, 0, 0}, +- .imageExtent = {width, height, 1}, +- }; ++ VkBufferImageCopy region = {}; ++ region.bufferOffset = 0; ++ region.bufferRowLength = buffer_width; ++ region.bufferImageHeight = buffer_height; ++ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; ++ region.imageSubresource.mipLevel = 0; ++ region.imageSubresource.baseArrayLayer = 0; ++ region.imageSubresource.layerCount = 1; ++ region.imageOffset = {0, 0, 0}; ++ region.imageExtent = {width, height, 1}; + vkCmdCopyBufferToImage(command_buffer_, buffer, image, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); + } diff --git a/chromium.spec b/chromium.spec index 88d3818..00c07ea 100644 --- a/chromium.spec +++ b/chromium.spec @@ -261,6 +261,13 @@ Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch +# Fix Vulkan compilation with gcc +# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 +Patch47: chromium-76.0.3809.100-gcc-vulkan.patch +# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 +Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch +# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b +Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -818,6 +825,9 @@ udev. %patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc +%patch47 -p1 -b .gcc-vulkan +%patch48 -p1 -b .gcc-cc-no-except +%patch49 -p1 -b .gcc-net-fetcher # EPEL specific patches %if 0%{?rhel} == 7 @@ -1064,6 +1074,7 @@ ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node # Remove most of the bundled libraries. Libraries specified below (taken from # Gentoo's Chromium ebuild) are the libraries that needs to be preserved. build/linux/unbundle/remove_bundled_libraries.py \ + 'base/third_party/cityhash' \ 'base/third_party/dmg_fp' \ 'base/third_party/dynamic_annotations' \ 'base/third_party/icu' \ @@ -1104,6 +1115,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/blink' \ 'third_party/boringssl' \ 'third_party/boringssl/src/third_party/fiat' \ + 'third_party/boringssl/src/third_party/sike' \ + 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ @@ -1229,6 +1242,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/sinonjs' \ 'third_party/skia' \ 'third_party/skia/include/third_party/vulkan' \ + 'third_party/skia/include/third_party/skcms' \ 'third_party/skia/third_party/gif' \ 'third_party/skia/third_party/skcms' \ 'third_party/skia/third_party/vulkan' \ diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index 76c73ae..f2225ea 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -41,9 +41,9 @@ def parse_sources(input_sources, output_sources, arch_not_arm): append_sources (block[1], output_sources) -def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): +def parse_ffmpeg_gni_file(gni_path, arch_not_arm): - with open(gyni_path, "r") as input_file: + with open(gni_path, "r") as input_file: content = input_file.read().replace('\n', '') output_sources = [] @@ -62,7 +62,7 @@ def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): limitations = ['ffmpeg_branding == "Chrome"', 'ffmpeg_branding == "ChromeOS"'] if ('use_linux_config' in condition) and not any(limitation in condition for limitation in limitations): if (arch_not_arm): - if ('x64' in condition) or ('x86' in condition): + if ('x64' in condition) or ('x86' in condition) or ('use_linux_config' in condition): parse_sources (block[1], output_sources, arch_not_arm) inserted = True else: @@ -79,4 +79,4 @@ def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): if __name__ == "__main__": path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1] - parse_ffmpeg_gyni_file (path, False if sys.argv[2] == "0" else True) + parse_ffmpeg_gni_file (path, False if sys.argv[2] == "0" else True) diff --git a/sources b/sources index 778c103..4e53fd1 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ad250b8cd0a01297fdff85c12a4dca85477cf027a68c0a9f7a3bc93b825772d17ddd062a89020ae954def781f19fe44beedb33ec8a86f3c12af290edb43d6ee9 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5 From 8e2b9c82f9a63754c927dd73d65564b46cb0bb23 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 14:38:51 +0200 Subject: [PATCH 018/171] Backport more build fixes from upstream --- ....3809.100-gcc-ambigous-instantiation.patch | 39 +++ ...0.3809.100-gcc-feature-policy-parser.patch | 76 ++++++ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 +++ ...100-gcc-move-explicit-initialization.patch | 97 ++++++++ ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ++++++++++++++++++ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 +++ ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 +++++ chromium.spec | 21 ++ 8 files changed, 586 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch create mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch create mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch create mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch create mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch create mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch create mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..587abf3 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch @@ -0,0 +1,39 @@ +From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 19:46:55 +0000 +Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. + +Use brace-list notation to wrap the already existing brace-list for +initializing the flat-set. This resolves an ambiguous instantiation +in GCC. + +Bug: 819294 +Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 +Reviewed-by: Matt Menke +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666401} +--- + +diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc +index 30999c0..60a03f6 100644 +--- a/services/network/cross_origin_read_blocking.cc ++++ b/services/network/cross_origin_read_blocking.cc +@@ -211,7 +211,7 @@ + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -224,7 +224,7 @@ + "application/x-www-form-urlencoded", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch new file mode 100644 index 0000000..0dbffd5 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch @@ -0,0 +1,76 @@ +From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 19:44:58 +0200 +Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace + +Compilation fails because we are declaring ParseValueForFuzzer as friend method, +but we are declaring it is in anonymous namespace. Moving to global namespace +still fails (in this case in Clang). + +So final solution is making it a public static method of FeaturePolicyParser. + +Bug: 819294 +Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 +--- + +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +index 3b7f4a9..eaee409 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +@@ -317,6 +317,13 @@ + return value; + } + ++void FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType feature_type, ++ const WTF::String& value_string) { ++ bool ok; ++ ParseValueForType(feature_type, value_string, &ok); ++} ++ + bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, + const ParsedFeaturePolicy& policy) { + return std::any_of(policy.begin(), policy.end(), +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +index fd25d90..36af405 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +@@ -16,9 +16,6 @@ + #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" + #include "third_party/blink/renderer/platform/wtf/vector.h" + +-// Forward declare for friendship. +-void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); +- + namespace blink { + + class Document; +@@ -79,8 +76,9 @@ + const FeatureNameMap& feature_names, + ExecutionContext* execution_context = nullptr); + ++ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); ++ + private: +- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); + static PolicyValue GetFallbackValueForFeature( + mojom::FeaturePolicyFeature feature); + static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +index 7f8e6aa..53350e43 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +@@ -23,9 +23,9 @@ + extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + static blink::BlinkFuzzerTestSupport test_support = + blink::BlinkFuzzerTestSupport(); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, +- WTF::String(data, size)); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, +- WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); + return 0; + } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch new file mode 100644 index 0000000..26bba05 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch @@ -0,0 +1,32 @@ +From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 17:18:40 +0000 +Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr + +Other HasFraction methods as in PhysicalUnit are declared already +constexpr and using it. It breaks GCC build. + +Bug: 819294. +Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 +Reviewed-by: vmpstr +Reviewed-by: Xianzhu Wang +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666336} +--- + +diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h +index f073986..b6dbc76 100644 +--- a/third_party/blink/renderer/platform/geometry/layout_unit.h ++++ b/third_party/blink/renderer/platform/geometry/layout_unit.h +@@ -202,7 +202,9 @@ + return value_ > 0 ? LayoutUnit() : *this; + } + +- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } ++ constexpr bool HasFraction() const { ++ return RawValue() % kFixedPointDenominator; ++ } + + LayoutUnit Fraction() const { + // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch new file mode 100644 index 0000000..1d4b90f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch @@ -0,0 +1,97 @@ +From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 08:00:13 +0000 +Subject: [PATCH] GCC: move explicit specialization out of RunInfo + +Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks +build because of that. Move the template specializations out of RunInfo declaration +in shape_result_inline_headeres.h to fix the GCC build issue. + +Bug: 819294 +Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#667901} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +index 76ee6091..c14d3a0 100644 +--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h ++++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +@@ -251,37 +251,6 @@ + template + struct iterator final {}; + +- // For non-zero glyph offset array +- template <> +- struct iterator final { +- // The constructor for ShapeResult +- explicit iterator(const GlyphOffsetArray& array) +- : pointer(array.storage_.get()) { +- DCHECK(pointer); +- } +- +- // The constructor for ShapeResultView +- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { +- DCHECK(pointer); +- } +- +- GlyphOffset operator*() const { return *pointer; } +- void operator++() { ++pointer; } +- +- const GlyphOffset* pointer; +- }; +- +- // For zero glyph offset array +- template <> +- struct iterator final { +- explicit iterator(const GlyphOffsetArray& array) { +- DCHECK(!array.HasStorage()); +- } +- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } +- GlyphOffset operator*() const { return GlyphOffset(); } +- void operator++() {} +- }; +- + template + iterator GetIterator() const { + return iterator(*this); +@@ -495,6 +464,37 @@ + float width_; + }; + ++// For non-zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ // The constructor for ShapeResult ++ explicit iterator(const GlyphOffsetArray& array) ++ : pointer(array.storage_.get()) { ++ DCHECK(pointer); ++ } ++ ++ // The constructor for ShapeResultView ++ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { ++ DCHECK(pointer); ++ } ++ ++ GlyphOffset operator*() const { return *pointer; } ++ void operator++() { ++pointer; } ++ ++ const GlyphOffset* pointer; ++}; ++ ++// For zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ explicit iterator(const GlyphOffsetArray& array) { ++ DCHECK(!array.HasStorage()); ++ } ++ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } ++ GlyphOffset operator*() const { return GlyphOffset(); } ++ void operator++() {} ++}; ++ + // Find the range of HarfBuzzRunGlyphData for the specified character index + // range. This function uses binary search twice, hence O(2 log n). + inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch new file mode 100644 index 0000000..98789d9 --- /dev/null +++ b/chromium-76.0.3809.100-quiche-compile-fix.patch @@ -0,0 +1,225 @@ +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 +@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength + std::string TransportParameterIdToString( + TransportParameters::TransportParameterId param_id) { + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + return "original_connection_id"; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + return "idle_timeout"; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + return "stateless_reset_token"; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + return "max_packet_size"; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + return "initial_max_data"; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + return "initial_max_stream_data_bidi_local"; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + return "initial_max_stream_data_bidi_remote"; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + return "initial_max_stream_data_uni"; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + return "initial_max_streams_bidi"; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + return "initial_max_streams_uni"; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + return "ack_delay_exponent"; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + return "max_ack_delay"; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + return "disable_migration"; +- case kPreferredAddress: ++ case TransportParameters::kPreferredAddress: + return "preferred_address"; +- case kGoogleQuicParam: ++ case TransportParameters::kGoogleQuicParam: + return "google"; +- case kGoogleQuicVersion: ++ case TransportParameters::kGoogleQuicVersion: + return "google-version"; + } + return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; +@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const + CBB original_connection_id_param; + if (!in.original_connection_id.IsEmpty()) { + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || + !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || + !CBB_add_bytes( + &original_connection_id_param, +@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const + if (!in.stateless_reset_token.empty()) { + DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kStatelessResetToken) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || + !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || + !CBB_add_bytes(&stateless_reset_token_param, + in.stateless_reset_token.data(), +@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const + + // disable_migration + if (in.disable_migration) { +- if (!CBB_add_u16(¶ms, kDisableMigration) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || + !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. + QUIC_BUG << "Failed to write disable_migration for " << in; + return false; +@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const + QUIC_BUG << "Bad lengths " << *in.preferred_address; + return false; + } +- if (!CBB_add_u16(¶ms, kPreferredAddress) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || + !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || + !CBB_add_bytes( + &preferred_address_params, +@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const + if (in.google_quic_params) { + const QuicData& serialized_google_quic_params = + in.google_quic_params->GetSerialized(); +- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || + !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || + !CBB_add_bytes(&google_quic_params, + reinterpret_cast( +@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const + + // Google-specific version extension. + CBB google_version_params; +- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || + !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || + !CBB_add_u32(&google_version_params, in.version)) { + QUIC_BUG << "Failed to write Google version extension for " << in; +@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint + } + bool parse_success = true; + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + if (!out->original_connection_id.IsEmpty()) { + QUIC_DLOG(ERROR) << "Received a second original connection ID"; + return false; +@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint + CBS_len(&value)); + } + break; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); + break; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + if (!out->stateless_reset_token.empty()) { + QUIC_DLOG(ERROR) << "Received a second stateless reset token"; + return false; +@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint + out->stateless_reset_token.assign(CBS_data(&value), + CBS_data(&value) + CBS_len(&value)); + break; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + parse_success = out->max_packet_size.ReadFromCbs(&value); + break; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + parse_success = out->initial_max_data.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + parse_success = + out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + parse_success = + out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); + break; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + parse_success = out->ack_delay_exponent.ReadFromCbs(&value); + break; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + parse_success = out->max_ack_delay.ReadFromCbs(&value); + break; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + if (out->disable_migration) { + QUIC_DLOG(ERROR) << "Received a second disable migration"; + return false; +@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint + } + out->disable_migration = true; + break; +- case kPreferredAddress: { ++ case TransportParameters::kPreferredAddress: { + uint16_t ipv4_port, ipv6_port; + in_addr ipv4_address; + in6_addr ipv6_address; +@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint + QuicMakeUnique( + preferred_address); + } break; +- case kGoogleQuicParam: { ++ case TransportParameters::kGoogleQuicParam: { + if (out->google_quic_params) { + QUIC_DLOG(ERROR) << "Received a second Google parameter"; + return false; +@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint + reinterpret_cast(CBS_data(&value)), CBS_len(&value)); + out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); + } break; +- case kGoogleQuicVersion: { ++ case TransportParameters::kGoogleQuicVersion: { + if (!CBS_get_u32(&value, &out->version)) { + QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; + return false; +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 +@@ -2,10 +2,12 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-#include +- + #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" + ++#include ++#include ++#include ++ + namespace quic { + + namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch new file mode 100644 index 0000000..5e392e6 --- /dev/null +++ b/chromium-76.0.3809.100-throttling-dead-beef.patch @@ -0,0 +1,30 @@ +From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 06 Jun 2019 07:54:05 +0000 +Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t + +We are setting kAlive and kDead values assigning values that +are bigger than the maximum signed int32. It is better to use +uint32_t in this case. + +Bug: 819294 +Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666619} +--- + +diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h +index 43751c4..3c6f87b 100644 +--- a/services/network/throttling/throttling_controller.h ++++ b/services/network/throttling/throttling_controller.h +@@ -38,7 +38,7 @@ + + // TODO(https://crbug.com/960874): Debugging code to try and shed some light + // on why the owned maps are invalid. +- enum class Liveness : int32_t { ++ enum class Liveness : uint32_t { + kAlive = 0xCA11AB13, + kDead = 0xDEADBEEF, + }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch new file mode 100644 index 0000000..a392971 --- /dev/null +++ b/chromium-76.0.3809.100-weak-ptr-no-except.patch @@ -0,0 +1,66 @@ +From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 18 Jul 2019 14:26:11 +0200 +Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression + +A GCC build regression has happened on DisjointRangeLockManager, as its move +operator and constructor were declared noexcept. This was failing because the +default implementation depended on base::WeakPtr, that did not provide +noexcept declaration for them. + +So make base::WeakPtr noexcept. + +Bug: 819294 +Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 +--- + +diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc +index 64fd499..0efcc44 100644 +--- a/base/memory/weak_ptr.cc ++++ b/base/memory/weak_ptr.cc +@@ -46,7 +46,7 @@ + + WeakReference::~WeakReference() = default; + +-WeakReference::WeakReference(WeakReference&& other) = default; ++WeakReference::WeakReference(WeakReference&& other) noexcept = default; + + WeakReference::WeakReference(const WeakReference& other) = default; + +diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h +index 72b5f1f..ccd22fd13 100644 +--- a/base/memory/weak_ptr.h ++++ b/base/memory/weak_ptr.h +@@ -116,9 +116,9 @@ + explicit WeakReference(const scoped_refptr& flag); + ~WeakReference(); + +- WeakReference(WeakReference&& other); ++ WeakReference(WeakReference&& other) noexcept; + WeakReference(const WeakReference& other); +- WeakReference& operator=(WeakReference&& other) = default; ++ WeakReference& operator=(WeakReference&& other) noexcept = default; + WeakReference& operator=(const WeakReference& other) = default; + + bool IsValid() const; +@@ -153,9 +153,9 @@ + ~WeakPtrBase(); + + WeakPtrBase(const WeakPtrBase& other) = default; +- WeakPtrBase(WeakPtrBase&& other) = default; ++ WeakPtrBase(WeakPtrBase&& other) noexcept = default; + WeakPtrBase& operator=(const WeakPtrBase& other) = default; +- WeakPtrBase& operator=(WeakPtrBase&& other) = default; ++ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; + + void reset() { + ref_ = internal::WeakReference(); +@@ -236,7 +236,7 @@ + ptr_ = reinterpret_cast(t); + } + template +- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { ++ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { + // Need to cast from U* to T* to do pointer adjustment in case of multiple + // inheritance. This also enforces the "U is a T" rule. + T* t = reinterpret_cast(other.ptr_); diff --git a/chromium.spec b/chromium.spec index 00c07ea..bac2263 100644 --- a/chromium.spec +++ b/chromium.spec @@ -268,6 +268,20 @@ Patch47: chromium-76.0.3809.100-gcc-vulkan.patch Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch +# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 +Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch +# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c +Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch +# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e +Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e +Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch +# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc +Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch +# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb +Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 +Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -828,6 +842,13 @@ udev. %patch47 -p1 -b .gcc-vulkan %patch48 -p1 -b .gcc-cc-no-except %patch49 -p1 -b .gcc-net-fetcher +%patch50 -p1 -b .quiche-compile-fix +%patch51 -p1 -b .throttling-dead-beef +%patch52 -p1 -b .gcc-ambigous-instantiation +%patch53 -p1 -b .weak-ptr-no-except +%patch54 -p1 -b .gcc-feature-policy-parser +%patch55 -p1 -b .gcc-hasfraction-constexpr +%patch56 -p1 -b .gcc-move-explicit-initialization # EPEL specific patches %if 0%{?rhel} == 7 From 4f64c0f273cb6f601efc1b9b2869460db1b052cb Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:38:35 +0200 Subject: [PATCH 019/171] third_party/openscreen need to be preserved --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index bac2263..511cef0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1232,6 +1232,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %if %{freeworld} 'third_party/openh264' \ %endif + 'third_party/openscreen' \ 'third_party/opus' \ 'third_party/ots' \ 'third_party/pdfium' \ From e0d11a7855c311fd1fa4eb849f3eb63281fdc1ba Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:41:23 +0200 Subject: [PATCH 020/171] third_party/boringssl/linux-x86_64/crypto/third_party/sike needs to be preserved --- chromium.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 511cef0..337c708 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1137,7 +1137,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/boringssl' \ 'third_party/boringssl/src/third_party/fiat' \ 'third_party/boringssl/src/third_party/sike' \ - 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \ + 'third_party/boringssl/linux-x86_64/crypto/third_party/sike' \ + 'third_party/boringssl/linux-aarch64/crypto/third_party/sike' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ From a67d161f16e22a2192cdeefeadb1e7936d2982ce Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 14 Aug 2019 09:52:16 -0400 Subject: [PATCH 021/171] loosen dependency on chromium-libs in freeworld build --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 337c708..98d92e0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -730,7 +730,7 @@ Shared libraries used by chromium (and chrome-remote-desktop). Summary: Chromium media libraries built with all possible codecs Provides: chromium-libs-media = %{version}-%{release} Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version}-%{release} +Requires: chromium-libs%{_isa} = %{version} Requires(post): %{_sbindir}/update-alternatives Requires(preun): %{_sbindir}/update-alternatives From e95a7043a9ce73cb54aa380a672d26cc21818477 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 16:52:41 +0200 Subject: [PATCH 022/171] Pulseaudio changed the API in 12.99 and we need to adapt the signatures --- chromium-76.0.3809.100-pulse-api-change.patch | 42 +++++++++++++++++++ chromium.spec | 13 +++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.100-pulse-api-change.patch diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch new file mode 100644 index 0000000..37d3dfa --- /dev/null +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -0,0 +1,42 @@ +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 +@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info + pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); + pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); + pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); +-pa_context_state_t pa_context_get_state(pa_context* c); ++pa_context_state_t pa_context_get_state(const pa_context* c); + pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); + pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); + void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* + int pa_stream_disconnect(pa_stream* s); + int pa_stream_drop(pa_stream *p); + pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); +-uint32_t pa_stream_get_device_index(pa_stream* s); ++uint32_t pa_stream_get_device_index(const pa_stream* s); + int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); +-pa_stream_state_t pa_stream_get_state(pa_stream* p); ++pa_stream_state_t pa_stream_get_state(const pa_stream* p); + pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); + pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); + pa_proplist* pa_proplist_new(void); +-int pa_proplist_contains(pa_proplist* p, const char* key); ++int pa_proplist_contains(const pa_proplist* p, const char* key); + void pa_proplist_free(pa_proplist* p); +-const char* pa_proplist_gets(pa_proplist* p, const char* key); ++const char* pa_proplist_gets(const pa_proplist* p, const char* key); + int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); +-size_t pa_stream_readable_size(pa_stream *p); ++size_t pa_stream_readable_size(const pa_stream *p); + int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); + void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); + void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); + int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); + void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); + void pa_stream_unref(pa_stream* s); +-int pa_context_errno(pa_context *c); ++int pa_context_errno(const pa_context *c); + const char* pa_strerror(int error); + pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); diff --git a/chromium.spec b/chromium.spec index 98d92e0..efce624 100644 --- a/chromium.spec +++ b/chromium.spec @@ -141,6 +141,13 @@ BuildRequires: libicu-devel >= 5.4 %global bundleharfbuzz 0 %endif +# Pulseaudio changed the API a little in 12.99.1 +%if 0%{?fedora} > 30 +%global pulseaudioapichange 1 +%else +%global pulseaudioapichange 0 +%endif + ### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) ### Note: These are for Fedora use ONLY. ### For your own distribution, please get your own set of keys. @@ -306,6 +313,8 @@ Patch202: enable-vaapi.patch Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch +# Pulseaudio changed the API a little in 12.99.1 +Patch205: chromium-76.0.3809.100-pulse-api-change.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -491,7 +500,6 @@ BuildRequires: pkgconfig(gtk+-3.0) %else BuildRequires: pkgconfig(gtk+-2.0) %endif -BuildRequires: pulseaudio-libs-devel BuildRequires: python2-devel %if 0%{?fedora} > 27 BuildRequires: python2-beautifulsoup4 @@ -871,6 +879,9 @@ udev. %endif %endif +%if 0%{?pulseaudioapichange} +%patch205 -p1 -b .pulseaudioapichange +%endif # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works From c84fdddcb15e83ab4116a7137c437323bd4f822e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:17:42 +0200 Subject: [PATCH 023/171] Add missing ffmpeg file on aarch64 --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..e190296 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,6 +216,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ + libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index 4e53fd1..d6d53e4 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 From 6548a82813c753103c059bbd64aa83851b9f2f0b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:22:37 +0200 Subject: [PATCH 024/171] Update the Pulseaudio's pa_operation_get_state() signature Missed it while updating the Pulseaudio signatures. --- chromium-76.0.3809.100-pulse-api-change.patch | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch index 37d3dfa..d4e2b46 100644 --- a/chromium-76.0.3809.100-pulse-api-change.patch +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -1,7 +1,7 @@ -diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs ---- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 -+++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 -@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change 2019-08-14 23:18:59.624627870 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 23:19:41.258104998 +0200 +@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); @@ -10,6 +10,11 @@ diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change ch pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +-pa_operation_state_t pa_operation_get_state(pa_operation* o); ++pa_operation_state_t pa_operation_get_state(const pa_operation* o); + void pa_context_unref(pa_context* c); + void pa_operation_unref(pa_operation* o); + int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); @@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* int pa_stream_disconnect(pa_stream* s); int pa_stream_drop(pa_stream *p); From fd12ce20b254a75130a2c56ef8453150ef6e3e53 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:03:49 +0200 Subject: [PATCH 025/171] Backport another upstream build fix --- ....0.3809.100-gcc-initialization-order.patch | 33 +++++++++++++++++++ chromium.spec | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch new file mode 100644 index 0000000..3bf394f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-initialization-order.patch @@ -0,0 +1,33 @@ +From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 21:09:01 +0000 +Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration + +XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the +same order of the declaration. GCC fails because of that. + +Bug: 819294 +Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 +Reviewed-by: Zhenyao Mo +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666436} +--- + +diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc +index f649dd4..0aa6892 100644 +--- a/ui/gl/gl_surface_glx.cc ++++ b/ui/gl/gl_surface_glx.cc +@@ -583,10 +583,10 @@ + + XSetWindowAttributes swa = { + .background_pixmap = 0, +- .bit_gravity = NorthWestGravity, +- .colormap = g_colormap, + .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM + .border_pixel = 0, ++ .bit_gravity = NorthWestGravity, ++ .colormap = g_colormap, + }; + auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; + if (ui::IsCompositingManagerPresent() && diff --git a/chromium.spec b/chromium.spec index efce624..7da707a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -289,6 +289,8 @@ Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch # https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc +Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -857,6 +859,7 @@ udev. %patch54 -p1 -b .gcc-feature-policy-parser %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization +%patch57 -p1 -b .gcc-initialization-order # EPEL specific patches %if 0%{?rhel} == 7 From b93cafeb92d195e0a8dd4b7f40760527bc9b2d3e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:10:04 +0200 Subject: [PATCH 026/171] Upload the new cleaned tarball with aarch64 sources Previously I forgot to pass the --ffmpegarm while generating the tarball. --- clean_ffmpeg.sh | 1 - sources | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index e190296..2f27435 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,7 +216,6 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ - libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index d6d53e4..b7a420d 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 From 73516eb866ec7916d876e276c45b0ee739244e2f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 21:14:35 +0200 Subject: [PATCH 027/171] Backport and create more of the GCC fixes --- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 +++++++++++++++++++ ...0.3809.100-gcc-history-move-noexcept.patch | 42 +++++++++++++++ ...0.3809.100-gcc-no-alignas-and-export.patch | 14 +++++ ...0.3809.100-gcc-themeservice-includes.patch | 36 +++++++++++++ chromium.spec | 14 +++++ 5 files changed, 159 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-no-alignas-and-export.patch create mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..5f45a8f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,53 @@ +From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 18:38:12 +0200 +Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo + +AccountInfo declares them as noexcept and uses default implementation, +so all its members (including AccountId) should be noexcept. But AccountId +is not noexcept. To fix it we just need to make CoreAccountId move +operator/assign operator noexcept. + +Bug: 819294 +Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 +--- + +diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc +index d808082..12eefe3 100644 +--- a/google_apis/gaia/core_account_id.cc ++++ b/google_apis/gaia/core_account_id.cc +@@ -6,8 +6,16 @@ + + CoreAccountId::CoreAccountId() = default; + ++CoreAccountId::CoreAccountId(const CoreAccountId&) = default; ++ ++CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::~CoreAccountId() = default; + ++CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; ++ ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h +index 5ea602a..c2d1911 100644 +--- a/google_apis/gaia/core_account_id.h ++++ b/google_apis/gaia/core_account_id.h +@@ -14,8 +14,13 @@ + // for design and tracking). + struct CoreAccountId { + CoreAccountId(); ++ CoreAccountId(const CoreAccountId&); ++ CoreAccountId(CoreAccountId&&) noexcept; + ~CoreAccountId(); + ++ CoreAccountId& operator=(const CoreAccountId&); ++ CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing + // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch new file mode 100644 index 0000000..2876de4 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch @@ -0,0 +1,42 @@ +From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 10:27:19 +0200 +Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow + +In GCC, build is failing because history::QueryURLResult declares its move +assignment operator as noexcept using default implementation. That requires +its members to provide a move assignment operator that is noexcept too. + +But URLRow was missing noexcept declaration in move assignment operator (even +though it was providing noexcept to its move constructor). + +Bug: 819294 +Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f +--- + +diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc +index 44c22fd..aec0101 100644 +--- a/components/history/core/browser/url_row.cc ++++ b/components/history/core/browser/url_row.cc +@@ -26,7 +26,7 @@ + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) = default; ++URLRow& URLRow::operator=(URLRow&& other) noexcept = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); +diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h +index 8f6f9cf..31a1ef8 100644 +--- a/components/history/core/browser/url_row.h ++++ b/components/history/core/browser/url_row.h +@@ -35,7 +35,7 @@ + + virtual ~URLRow(); + URLRow& operator=(const URLRow& other); +- URLRow& operator=(URLRow&& other); ++ URLRow& operator=(URLRow&& other) noexcept; + + URLID id() const { return id_; } + diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch new file mode 100644 index 0000000..cc91d1e --- /dev/null +++ b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -0,0 +1,14 @@ +diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h +--- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 ++++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 +@@ -176,8 +176,8 @@ class CSSLazyPropertyParser + DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); + }; + +-class CORE_EXPORT alignas(Member) alignas( +- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet ++class CORE_EXPORT ALIGNAS(alignof(Member)) ++ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet + : public CSSPropertyValueSet { + public: + ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch new file mode 100644 index 0000000..ad40bb9 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-themeservice-includes.patch @@ -0,0 +1,36 @@ +From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 22:01:03 +0200 +Subject: [PATCH] IWYU: ThemeService requires NativeTheme + +As ThemeService referes to NativeTheme through a ScopedObserver, +the full declaration is required. + +Bug: 819294 +Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 +--- + +diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc +index d65388e2..23dc86d 100644 +--- a/chrome/browser/themes/theme_service.cc ++++ b/chrome/browser/themes/theme_service.cc +@@ -54,7 +54,6 @@ + #include "ui/gfx/color_palette.h" + #include "ui/gfx/image/image_skia.h" + #include "ui/native_theme/common_theme.h" +-#include "ui/native_theme/native_theme.h" + + #if BUILDFLAG(ENABLE_EXTENSIONS) + #include "base/scoped_observer.h" +diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h +index 6c79c72..f93dc0d 100644 +--- a/chrome/browser/themes/theme_service.h ++++ b/chrome/browser/themes/theme_service.h +@@ -25,6 +25,7 @@ + #include "extensions/buildflags/buildflags.h" + #include "extensions/common/extension_id.h" + #include "ui/base/theme_provider.h" ++#include "ui/native_theme/native_theme.h" + #include "ui/native_theme/native_theme_observer.h" + + class BrowserThemePack; diff --git a/chromium.spec b/chromium.spec index 7da707a..e068d83 100644 --- a/chromium.spec +++ b/chromium.spec @@ -291,6 +291,16 @@ Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch +# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 +Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c +Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 +Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +# TBD - need to submit it +# In GCC one can't use alignas() for exported classes (as described in +# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -860,6 +870,10 @@ udev. %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization %patch57 -p1 -b .gcc-initialization-order +%patch58 -p1 -b .gcc-history-move-noexcept +%patch59 -p1 -b .gcc-accountinfo-move-noexcept +%patch60 -p1 -b .gcc-themeservice-includes +%patch61 -p1 -b .gcc-no-alignas-and-export # EPEL specific patches %if 0%{?rhel} == 7 From 1ad065436b19d4abed6692b84f1a51aed2ce2c9f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 16 Aug 2019 13:58:53 +0200 Subject: [PATCH 028/171] //third_party dependency missing for remoting --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index e068d83..e264a9d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1207,6 +1207,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/google_input_tools' \ 'third_party/google_input_tools/third_party/closure_library' \ 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ + 'third_party/google_trust_services' \ 'third_party/googletest' \ 'third_party/glslang' \ 'third_party/grpc' \ From 766aab49a12a06a966125c33fd9d0cd979194ed7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 21:36:06 +0200 Subject: [PATCH 029/171] Fix the build of remoting_all target --- ...76.0.3809.100-gcc-remoting-constexpr.patch | 27 +++++++++++++++++++ ...6.0.3809.100-vtable-symbol-undefined.patch | 11 ++++++++ chromium.spec | 11 +++++--- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 chromium-76.0.3809.100-gcc-remoting-constexpr.patch create mode 100644 chromium-76.0.3809.100-vtable-symbol-undefined.patch diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch new file mode 100644 index 0000000..c59702f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -0,0 +1,27 @@ +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 +@@ -9,8 +9,7 @@ + namespace remoting { + + // static +-const base::TimeDelta MessageTracker::kCleanupInterval = +- base::TimeDelta::FromMinutes(2); ++constexpr base::TimeDelta MessageTracker::kCleanupInterval; + + MessageTracker::MessageTracker() = default; + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 +@@ -36,7 +36,8 @@ class MessageTracker final { + + // All IDs older than now - kCleanupInterval will be eventually removed, but + // they are not guaranteed to be immediately removed after the interval. +- static constexpr base::TimeDelta kCleanupInterval; ++ static constexpr base::TimeDelta kCleanupInterval = ++ base::TimeDelta::FromMinutes(2); + + void RemoveExpiredIds(); + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch new file mode 100644 index 0000000..64532df --- /dev/null +++ b/chromium-76.0.3809.100-vtable-symbol-undefined.patch @@ -0,0 +1,11 @@ +diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc +--- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 ++++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 +@@ -18,6 +18,7 @@ + #include "net/quic/crypto/proof_verifier_chromium.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" ++#include "net/quic/platform/impl/quic_flags_impl.cc" + + DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, + certificate_file, diff --git a/chromium.spec b/chromium.spec index e264a9d..1d3141c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -297,10 +297,13 @@ Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch # https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch -# TBD - need to submit it -# In GCC one can't use alignas() for exported classes (as described in -# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +# In GCC one can't use alignas() for exported classes +# https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +# Needs to be submitted.. +Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +# Needs to be submitted.. (ugly hack, needs to be added properly to GN files) +Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -874,6 +877,8 @@ udev. %patch59 -p1 -b .gcc-accountinfo-move-noexcept %patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export +%patch62 -p1 -b .gcc-remoting-constexpr +%patch63 -p1 -b .vtable-symbol-undefined # EPEL specific patches %if 0%{?rhel} == 7 From 6799d9e0eab28883f324e5034786b92d68b91854 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 22:07:44 +0200 Subject: [PATCH 030/171] Fix the previously uploaded patch --- chromium-76.0.3809.100-gcc-remoting-constexpr.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch index c59702f..aec3107 100644 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -12,13 +12,13 @@ diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-conste MessageTracker::MessageTracker() = default; diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 +++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 @@ -36,7 +36,8 @@ class MessageTracker final { // All IDs older than now - kCleanupInterval will be eventually removed, but // they are not guaranteed to be immediately removed after the interval. -- static constexpr base::TimeDelta kCleanupInterval; +- static const base::TimeDelta kCleanupInterval; + static constexpr base::TimeDelta kCleanupInterval = + base::TimeDelta::FromMinutes(2); From 2b21300e3f50fcb426d0f1f1ba0c688e8f87362f Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 21 Aug 2019 13:51:11 +0200 Subject: [PATCH 031/171] Update the list of private libraries and remove a pak file that was removed --- chromium.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 1d3141c..59883f4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -54,9 +54,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg|libfontconfig +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig %else -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia %endif %global __requires_exclude ^(%{privlibs})\\.so* @@ -1753,7 +1753,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/chrome_*.pak %{chromium_path}/resources.pak %{chromium_path}/icudtl.dat -%{chromium_path}/views_mus_resources.pak %{chromium_path}/%{chromium_browser_channel} %{chromium_path}/%{chromium_browser_channel}.sh %{chromium_path}/MEIPreload/ From 2de703ec6f3bb40644cee172fcfe6352707aa79e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 20:14:22 +0000 Subject: [PATCH 032/171] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index a741cda..de018ef 100644 --- a/chromium.spec +++ b/chromium.spec @@ -165,7 +165,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3770.100 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1926,6 +1926,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 75.0.3770.100-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Tue Jul 2 2019 Tom Callaway - 75.0.3770.100-3 - apply upstream fix to resolve issue where it is dangerous to post a task with a RenderProcessHost pointer because the RenderProcessHost From 9ac69a56eb4308d81c40a035fd7ad4d6ad4dcc00 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 12 Aug 2019 17:09:21 +0200 Subject: [PATCH 033/171] Cleanup the patches --- ...res_2d_i16_neon-Make-s2-a-uint64x1_t.patch | 54 -- chromium-46.0.2490.71-notest.patch | 11 - chromium-52.0.2743.116-unset-madv_free.patch | 15 - chromium-52.0.2743.82-arm-webrtc.patch | 51 -- chromium-52.0.2743.82-master-prefs-path.patch | 15 - chromium-55.0.2883.75-sandbox-pie.patch | 30 - chromium-56.0.2924.87-fpermissive.patch | 13 - chromium-56.0.2924.87-gcc5.patch | 354 ---------- chromium-59.0.3071.115-ucontext-fix.patch | 214 ------ chromium-59.0.3071.86-ffmpeg-stdatomic.patch | 17 - chromium-59.0.3071.86-nullfix.patch | 43 -- chromium-59.0.3071.86-system-clang.patch | 10 - chromium-60.0.3112.78-gn-system.patch | 221 ------ ...um-60.0.3112.78-last-commit-position.patch | 28 - chromium-60.0.3112.78-no-zlib-mangle.patch | 13 - chromium-60.0.3112.90-vulkan-force-c99.patch | 11 - ...m-61.0.3163.79-aarch64-glibc-2.26.90.patch | 12 - ...mium-61.0.3163.79-fix-ffmpeg-aarch64.patch | 12 - chromium-61.0.3163.79-setopaque.patch | 12 - ...62.0.3202.62-correct-cplusplus-check.patch | 20 - chromium-62.0.3202.62-dde535-gcc-fix.patch | 13 - chromium-62.0.3202.62-enable-mp3.patch | 484 ------------- ...7-no-nullptr-assignment-on-StructPtr.patch | 12 - chromium-62.0.3202.62-gcc-nc.patch | 11 - chromium-62.0.3202.62-gcc7.patch | 11 - chromium-62.0.3202.62-rvalue-fix.patch | 45 -- ...m-63.0.3289.84-aarch64-glibc-2.26.90.patch | 12 - chromium-63.0.3289.84-enable-mp3.patch | 485 ------------- ...mium-63.0.3289.84-fix-ffmpeg-aarch64.patch | 12 - ...mium-63.0.3289.84-fix-ft-hb-unbundle.patch | 36 - chromium-63.0.3289.84-gcc-round-fix.patch | 11 - chromium-63.0.3289.84-gcc5-r3.patch | 104 --- chromium-63.0.3289.84-nolibc++.patch | 15 - chromium-63.0.3289.84-setopaque.patch | 12 - chromium-64.0.3282.119-enable-mp3.patch | 54 -- ...mium-64.0.3282.119-gcc-constexpr-fix.patch | 70 -- chromium-64.0.3282.119-gcc-round-fix.patch | 12 - chromium-64.0.3282.119-gcc5-r3.patch | 75 -- chromium-64.0.3282.119-gcc5.patch | 57 -- chromium-64.0.3282.119-gcc7.patch | 11 - chromium-64.0.3282.119-memcpy-fix.patch | 11 - chromium-64.0.3282.167-gcc8-fabi11.patch | 15 - ...x-non-copyable-class-s-optional-move.patch | 41 -- ...-methods-String-renamed-to-GetString.patch | 108 --- ...eProvider-Settings-do-not-provide-co.patch | 22 - ...se-Optional-T-requires-the-full-decl.patch | 33 - ...std-move-to-base-Optional-instead-of.patch | 24 - ...-declare-ConfigurationPolicyProvider.patch | 18 - ...ional-copy-move-ctors-assign-operato.patch | 91 --- ...verting-constructors-from-Optional-U.patch | 116 ---- ...-Implement-value-forward-constructor.patch | 72 -- ...e-non-copy-non-move-assign-operators.patch | 144 ---- ...irmative-expression-in-base-Optional.patch | 265 ------- chromium-65.0.3325.146-gcc5-r3.patch | 74 -- chromium-65.0.3325.146-gcc7.patch | 11 - ...trivially_copy_constructable-failure.patch | 55 -- ...Remove-GC-checks-from-WTF-Optional-T.patch | 61 -- chromium-65.0.3325.146-wtf-vector-fix.patch | 54 -- chromium-65.0.3325.162-boolfix.patch | 36 - chromium-65.0.3325.162-epel7-stdc++.patch | 12 - ...-65.0.3325.162-skia-aarch64-buildfix.patch | 21 - ...se-Optional-T-requires-the-full-decl.patch | 33 - ...nitializer-list-for-NoDestructor-of-.patch | 12 - ....0.3359.117-gcc-copy-constructor-fix.patch | 49 -- ...6.0.3359.117-gcc-optional-move-fixes.patch | 45 -- ....117-gcc-vector-copy-constructor-fix.patch | 53 -- chromium-66.0.3359.117-gcc5-r3.patch | 38 - chromium-66.0.3359.117-nounrar.patch | 16 - chromium-66.0.3359.139-arm-init-fix.patch | 12 - chromium-66.0.3359.170-gcc8-alignof.patch | 18 - chromium-67.0.3396.62-boolfix.patch | 36 - ....0.3396.62-crashpad-aarch64-buildfix.patch | 13 - ....62-epel7-use-old-python-exec-syntax.patch | 12 - ...m-67.0.3396.62-skia-aarch64-buildfix.patch | 21 - chromium-67.0.3396.87-fedora-user-agent.patch | 12 - chromium-67.0.3396.99-py2-bootstrap.patch | 42 -- ...mium-68.0.3440.106-fedora-user-agent.patch | 12 - ...440.106-fix-build-networking_private.patch | 12 - chromium-68.0.3440.106-notest.patch | 11 - chromium-68.0.3440.84-cors-string.patch | 51 -- chromium-68.0.3440.84-libjpeg.patch | 62 -- chromium-68.0.3440.84-libwebp-shim.patch | 43 -- chromium-68.0.3440.84-move-unique-ptr.patch | 65 -- chromium-69.0.3497.81-gcc8-alignof.patch | 18 - chromium-69.0.3497.81-norar.patch | 79 --- chromium-69.0.3497.81-py2-bootstrap.patch | 33 - chromium-69.0.3497.81-widevine-r2.patch | 23 - ...70.0.3538.110-remove-sysroot-options.patch | 23 - chromium-70.0.3538.77-harfbuzz2-fix.patch | 80 --- chromium-71-gcc-0.patch | 57 -- chromium-71.0.3578.98-el7-fix-noexcept.patch | 48 -- chromium-71.0.3578.98-norar.patch | 79 --- ...-71.0.3578.98-remove-sysroot-options.patch | 23 - ...0.3578.98-vaapi-libva1-compatibility.patch | 14 - chromium-72.0.3626.121-fix-va-check.patch | 29 - chromium-72.0.3626.121-norar.patch | 79 --- chromium-73-gcc-0.patch | 108 --- chromium-73-gcc-1.patch | 99 --- chromium-73-gcc-2.patch | 51 -- chromium-73-gcc-3.patch | 69 -- chromium-73-gcc-4.patch | 59 -- chromium-73-gcc-5.patch | 65 -- chromium-73-gcc-6.patch | 88 --- ...73.0.3683.103-glibc-2.29-clone-vfork.patch | 29 - ...73.0.3683.75-aarch64-crashpad-limits.patch | 11 - chromium-73.0.3683.75-el7-fix-noexcept.patch | 54 -- chromium-73.0.3683.75-no-header-hygiene.patch | 17 - chromium-gcc5-r3.patch | 98 --- chromium-gcc8-r588316.patch | 98 --- chromium-gcc8-r588547.patch | 30 - chromium-gcc8-r589614.patch | 37 - chromium-gcc8-r591015.patch | 70 -- chromium-gn-bootstrap-r17.patch | 68 -- chromium-math.h-r0.patch | 29 - chromium-stdint.patch | 21 - chromium.spec | 417 +++++------ relax-libva-version.patch | 56 -- revert-gn-4960.patch | 655 ------------------ revert-gn-4980.patch | 134 ---- 119 files changed, 174 insertions(+), 7424 deletions(-) delete mode 100644 0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch delete mode 100644 chromium-46.0.2490.71-notest.patch delete mode 100644 chromium-52.0.2743.116-unset-madv_free.patch delete mode 100644 chromium-52.0.2743.82-arm-webrtc.patch delete mode 100644 chromium-52.0.2743.82-master-prefs-path.patch delete mode 100644 chromium-55.0.2883.75-sandbox-pie.patch delete mode 100644 chromium-56.0.2924.87-fpermissive.patch delete mode 100644 chromium-56.0.2924.87-gcc5.patch delete mode 100644 chromium-59.0.3071.115-ucontext-fix.patch delete mode 100644 chromium-59.0.3071.86-ffmpeg-stdatomic.patch delete mode 100644 chromium-59.0.3071.86-nullfix.patch delete mode 100644 chromium-59.0.3071.86-system-clang.patch delete mode 100644 chromium-60.0.3112.78-gn-system.patch delete mode 100644 chromium-60.0.3112.78-last-commit-position.patch delete mode 100644 chromium-60.0.3112.78-no-zlib-mangle.patch delete mode 100644 chromium-60.0.3112.90-vulkan-force-c99.patch delete mode 100644 chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch delete mode 100644 chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch delete mode 100644 chromium-61.0.3163.79-setopaque.patch delete mode 100644 chromium-62.0.3202.62-correct-cplusplus-check.patch delete mode 100644 chromium-62.0.3202.62-dde535-gcc-fix.patch delete mode 100644 chromium-62.0.3202.62-enable-mp3.patch delete mode 100644 chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch delete mode 100644 chromium-62.0.3202.62-gcc-nc.patch delete mode 100644 chromium-62.0.3202.62-gcc7.patch delete mode 100644 chromium-62.0.3202.62-rvalue-fix.patch delete mode 100644 chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch delete mode 100644 chromium-63.0.3289.84-enable-mp3.patch delete mode 100644 chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch delete mode 100644 chromium-63.0.3289.84-fix-ft-hb-unbundle.patch delete mode 100644 chromium-63.0.3289.84-gcc-round-fix.patch delete mode 100644 chromium-63.0.3289.84-gcc5-r3.patch delete mode 100644 chromium-63.0.3289.84-nolibc++.patch delete mode 100644 chromium-63.0.3289.84-setopaque.patch delete mode 100644 chromium-64.0.3282.119-enable-mp3.patch delete mode 100644 chromium-64.0.3282.119-gcc-constexpr-fix.patch delete mode 100644 chromium-64.0.3282.119-gcc-round-fix.patch delete mode 100644 chromium-64.0.3282.119-gcc5-r3.patch delete mode 100644 chromium-64.0.3282.119-gcc5.patch delete mode 100644 chromium-64.0.3282.119-gcc7.patch delete mode 100644 chromium-64.0.3282.119-memcpy-fix.patch delete mode 100644 chromium-64.0.3282.167-gcc8-fabi11.patch delete mode 100644 chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch delete mode 100644 chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch delete mode 100644 chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch delete mode 100644 chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch delete mode 100644 chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch delete mode 100644 chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch delete mode 100644 chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch delete mode 100644 chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch delete mode 100644 chromium-65.0.3325.146-Implement-value-forward-constructor.patch delete mode 100644 chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch delete mode 100644 chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch delete mode 100644 chromium-65.0.3325.146-gcc5-r3.patch delete mode 100644 chromium-65.0.3325.146-gcc7.patch delete mode 100644 chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch delete mode 100644 chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch delete mode 100644 chromium-65.0.3325.146-wtf-vector-fix.patch delete mode 100644 chromium-65.0.3325.162-boolfix.patch delete mode 100644 chromium-65.0.3325.162-epel7-stdc++.patch delete mode 100644 chromium-65.0.3325.162-skia-aarch64-buildfix.patch delete mode 100644 chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch delete mode 100644 chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch delete mode 100644 chromium-66.0.3359.117-gcc-copy-constructor-fix.patch delete mode 100644 chromium-66.0.3359.117-gcc-optional-move-fixes.patch delete mode 100644 chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch delete mode 100644 chromium-66.0.3359.117-gcc5-r3.patch delete mode 100644 chromium-66.0.3359.117-nounrar.patch delete mode 100644 chromium-66.0.3359.139-arm-init-fix.patch delete mode 100644 chromium-66.0.3359.170-gcc8-alignof.patch delete mode 100644 chromium-67.0.3396.62-boolfix.patch delete mode 100644 chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch delete mode 100644 chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch delete mode 100644 chromium-67.0.3396.62-skia-aarch64-buildfix.patch delete mode 100644 chromium-67.0.3396.87-fedora-user-agent.patch delete mode 100644 chromium-67.0.3396.99-py2-bootstrap.patch delete mode 100644 chromium-68.0.3440.106-fedora-user-agent.patch delete mode 100644 chromium-68.0.3440.106-fix-build-networking_private.patch delete mode 100644 chromium-68.0.3440.106-notest.patch delete mode 100644 chromium-68.0.3440.84-cors-string.patch delete mode 100644 chromium-68.0.3440.84-libjpeg.patch delete mode 100644 chromium-68.0.3440.84-libwebp-shim.patch delete mode 100644 chromium-68.0.3440.84-move-unique-ptr.patch delete mode 100644 chromium-69.0.3497.81-gcc8-alignof.patch delete mode 100644 chromium-69.0.3497.81-norar.patch delete mode 100644 chromium-69.0.3497.81-py2-bootstrap.patch delete mode 100644 chromium-69.0.3497.81-widevine-r2.patch delete mode 100644 chromium-70.0.3538.110-remove-sysroot-options.patch delete mode 100644 chromium-70.0.3538.77-harfbuzz2-fix.patch delete mode 100644 chromium-71-gcc-0.patch delete mode 100644 chromium-71.0.3578.98-el7-fix-noexcept.patch delete mode 100644 chromium-71.0.3578.98-norar.patch delete mode 100644 chromium-71.0.3578.98-remove-sysroot-options.patch delete mode 100644 chromium-71.0.3578.98-vaapi-libva1-compatibility.patch delete mode 100644 chromium-72.0.3626.121-fix-va-check.patch delete mode 100644 chromium-72.0.3626.121-norar.patch delete mode 100644 chromium-73-gcc-0.patch delete mode 100644 chromium-73-gcc-1.patch delete mode 100644 chromium-73-gcc-2.patch delete mode 100644 chromium-73-gcc-3.patch delete mode 100644 chromium-73-gcc-4.patch delete mode 100644 chromium-73-gcc-5.patch delete mode 100644 chromium-73-gcc-6.patch delete mode 100644 chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch delete mode 100644 chromium-73.0.3683.75-aarch64-crashpad-limits.patch delete mode 100644 chromium-73.0.3683.75-el7-fix-noexcept.patch delete mode 100644 chromium-73.0.3683.75-no-header-hygiene.patch delete mode 100644 chromium-gcc5-r3.patch delete mode 100644 chromium-gcc8-r588316.patch delete mode 100644 chromium-gcc8-r588547.patch delete mode 100644 chromium-gcc8-r589614.patch delete mode 100644 chromium-gcc8-r591015.patch delete mode 100644 chromium-gn-bootstrap-r17.patch delete mode 100644 chromium-math.h-r0.patch delete mode 100644 chromium-stdint.patch delete mode 100644 relax-libva-version.patch delete mode 100644 revert-gn-4960.patch delete mode 100644 revert-gn-4980.patch diff --git a/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch b/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch deleted file mode 100644 index f73ded3..0000000 --- a/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch +++ /dev/null @@ -1,54 +0,0 @@ -Upstream-Status: Submitted - -GCC aarch64 build fix [this is actually a libvpx patch, not a Chromium one] - -Sent to: https://chromium-review.googlesource.com/c/webm/libvpx/+/1136449 - -Signed-off-by: Raphael Kubo da Costa ---- -From c20bd394f18c47bf133b51d6a40399273c3f24e0 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 13 Jul 2018 14:29:09 +0200 -Subject: [PATCH] vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t. - -This fixes the build with at least GCC 7.3, where it was previously failing -with: - -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon': -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:5: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts - s2 = vpaddl_u32(s1); - ^~ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:34:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' - s2 = vpaddl_u32(s1); - ^ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:81:8: error: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' - s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1)); - ^ -../../third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c:84:24: error: incompatible type for argument 1 of 'vget_lane_u64' - return vget_lane_u64(s2, 0); - ^~ - -The generated assembly was verified to remain identical with both GCC and -LLVM. - -Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac ---- - vpx_dsp/arm/sum_squares_neon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vpx_dsp/arm/sum_squares_neon.c b/vpx_dsp/arm/sum_squares_neon.c -index 8942ba83b..cfefad993 100644 ---- a/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c -+++ b/third_party/libvpx/source/libvpx/vpx_dsp/arm/sum_squares_neon.c -@@ -14,7 +14,7 @@ - #include "./vpx_dsp_rtcd.h" - - uint64_t vpx_sum_squares_2d_i16_neon(const int16_t *src, int stride, int size) { -- int64x1_t s2; -+ uint64x1_t s2; - - if (size == 4) { - int16x4_t s[4]; --- -2.14.4 - diff --git a/chromium-46.0.2490.71-notest.patch b/chromium-46.0.2490.71-notest.patch deleted file mode 100644 index e4e3448..0000000 --- a/chromium-46.0.2490.71-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd ---- chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest 2015-10-16 02:01:56.644149741 -0400 -+++ chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd 2015-10-16 02:02:36.217285227 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-52.0.2743.116-unset-madv_free.patch b/chromium-52.0.2743.116-unset-madv_free.patch deleted file mode 100644 index 2867c79..0000000 --- a/chromium-52.0.2743.116-unset-madv_free.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp ---- chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free 2016-08-15 13:07:29.279655676 -0400 -+++ chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-15 13:08:38.447317416 -0400 -@@ -41,6 +41,11 @@ - #include - #include - -+#if OS(LINUX) && defined(MADV_FREE) -+// Added in Linux 4.5, but it breaks the sandbox. -+#undef MADV_FREE -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif diff --git a/chromium-52.0.2743.82-arm-webrtc.patch b/chromium-52.0.2743.82-arm-webrtc.patch deleted file mode 100644 index f1a6629..0000000 --- a/chromium-52.0.2743.82-arm-webrtc.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -up chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc ---- chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc 2016-08-03 09:30:53.922861020 +0200 -+++ chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc 2016-08-03 09:32:00.337498174 +0200 -@@ -18,6 +18,47 @@ - - #include "webrtc/typedefs.h" - -+#include -+#ifdef __arm__ -+#include -+#include -+#include -+#include -+#endif -+ -+#ifdef __arm__ -+uint64_t WebRtc_GetCPUFeaturesARM() { -+ static bool detected = false; -+ static uint64_t have_neon = 0; -+ -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ if (!detected) { -+ int fd; -+ Elf32_auxv_t auxv; -+ unsigned int hwcaps; -+ -+ fd = open("/proc/self/auxv", O_RDONLY); -+ if (fd >= 0) { -+ while (read(fd, &auxv, sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) { -+ if (auxv.a_type == AT_HWCAP) { -+ have_neon = (auxv.a_un.a_val & HWCAP_NEON) ? kCPUFeatureNEON : 0; -+ break; -+ } -+ } -+ close (fd); -+ } else { -+ have_neon = 0; -+ } -+ detected = true; -+ } -+ -+ return 0 | have_neon; // others here as we need them -+} -+#endif -+ - // No CPU feature is available => straight C path. - int GetCPUInfoNoASM(CPUFeature feature) { - (void)feature; diff --git a/chromium-52.0.2743.82-master-prefs-path.patch b/chromium-52.0.2743.82-master-prefs-path.patch deleted file mode 100644 index 6ddd26f..0000000 --- a/chromium-52.0.2743.82-master-prefs-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc 2016-08-03 10:15:57.980692109 +0200 -+++ chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc 2016-08-03 10:16:44.553325229 +0200 -@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { - - base::FilePath MasterPrefsPath() { - // The standard location of the master prefs is next to the chrome binary. -+ // ...but we patch it to use /etc/chromium - base::FilePath master_prefs; -- if (!PathService::Get(base::DIR_EXE, &master_prefs)) -- return base::FilePath(); -+ master_prefs = base::FilePath("/etc/chromium"); - return master_prefs.AppendASCII(installer::kDefaultMasterPrefs); - } - diff --git a/chromium-55.0.2883.75-sandbox-pie.patch b/chromium-55.0.2883.75-sandbox-pie.patch deleted file mode 100644 index 6aae0b0..0000000 --- a/chromium-55.0.2883.75-sandbox-pie.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie chromium-55.0.2883.75/sandbox/linux/BUILD.gn ---- chromium-55.0.2883.75/sandbox/linux/BUILD.gn.sandboxpie 2016-12-01 18:02:17.000000000 -0500 -+++ chromium-55.0.2883.75/sandbox/linux/BUILD.gn 2016-12-12 16:26:06.863426221 -0500 -@@ -279,11 +279,17 @@ if (is_linux) { - # For ULLONG_MAX - "-std=gnu99", - -+ "-fPIE", -+ - # These files have a suspicious comparison. - # TODO fix this and re-enable this warning. - "-Wno-sign-compare", - ] - -+ ldflags = [ -+ "-pie", -+ ] -+ - import("//build/config/compiler/compiler.gni") - import("//build/config/sanitizers/sanitizers.gni") - if (is_component_build || using_sanitizer) { -@@ -293,7 +299,7 @@ if (is_linux) { - # other flags that executable_config might have. - configs -= [ "//build/config:executable_config" ] - if (!use_gold) { -- ldflags = [ "-Wl,--disable-new-dtags" ] -+ ldflags += [ "-Wl,--disable-new-dtags" ] - } - } - diff --git a/chromium-56.0.2924.87-fpermissive.patch b/chromium-56.0.2924.87-fpermissive.patch deleted file mode 100644 index be68cf9..0000000 --- a/chromium-56.0.2924.87-fpermissive.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn ---- chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn.permissive 2017-02-13 12:32:23.419665971 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/BUILD.gn 2017-02-13 12:33:16.146629190 -0500 -@@ -54,6 +54,9 @@ config("config") { - cflags = [] - defines = [] - -+ # error: there are no arguments to 'swapAnchor' that depend on a template parameter, so a declaration of 'swapAnchor' must be available [-fpermissive] -+ cflags += [ "-fpermissive" ] -+ - if (is_win) { - cflags += [ - "/wd4305", # Truncation from 'type1' to 'type2'. diff --git a/chromium-56.0.2924.87-gcc5.patch b/chromium-56.0.2924.87-gcc5.patch deleted file mode 100644 index 902f92b..0000000 --- a/chromium-56.0.2924.87-gcc5.patch +++ /dev/null @@ -1,354 +0,0 @@ -diff -up chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc ---- chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 2017-02-01 21:03:47.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2017-02-09 10:38:38.319790897 -0500 -@@ -165,8 +165,8 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - // state[16 + 2] 0x000000 Byte 2 of 3 (relative offsets) - X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, - X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, ---14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14, ---14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14, -+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, -+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, - - // state[17 + 2] 0x0031c0 Byte 3 of 3 (property) - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -@@ -259,10 +259,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,229,229, 3,208, 0,229, 5, 233, 0,229,229,229,208,229,229, - - // state[32 + 2] 0x002000 Byte 2 of 3 (relative offsets) ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, ---30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, -+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, - - // state[33 + 2] 0x003780 Byte 3 of 3 (property) - 229,208,229,229,208,229,229,229, 208,208,208,208,208, 4, 6,208, -@@ -355,10 +355,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 228,229,229,229,229,233,233, 6, 208,229, 3,229,233, 6, 6, 0, - - // state[48 + 2] 0x001000 Byte 2 of 3 (relative offsets) ---46,-46,-46,-46,-42,-41,-40,-39, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, ---46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, -+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, - - // state[49 + 2] 0x003b40 Byte 3 of 3 (property) - 6,227,208,233,208, 3, 3,208, 208,229, 0,229,233,219, 0, 6, -@@ -451,10 +451,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,208,208,208,217,208,229,229, 229,229,208,217,208,229,229,229, - - // state[64 + 2] 0x003000 Byte 2 of 3 (relative offsets) ---54,-53,-52,-51,-50,-58,-49,-47, -62,-62,-62,-62,-62,-62,-62,-62, ---46,-45,-44,-43,-42,-41,-40,-39, -38,-37,-36,-35,-34,-33,-31,-30, ---29,-28,-27,-26,-25,-24,-23,-22, -21,-20,-19,-18,-17,-15,-14,-13, ---12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, -+(uint8)-54,(uint8)-53,(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-58,(uint8)-49,(uint8)-47, (uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62, -+(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-38,(uint8)-37,(uint8)-36,(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30, -+(uint8)-29,(uint8)-28,(uint8)-27,(uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22, (uint8)-21,(uint8)-20,(uint8)-19,(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13, -+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, - - // state[65 + 2] 0x003f00 Byte 3 of 3 (property) - 217,217,208, 3,208,217,208,208, 6,229,208,228,229,229,208,229, -@@ -547,10 +547,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,208,229,229,208,229,233, 0, 208,208,229,208,227,229,229,229, - - // state[80 + 2] 0x004000 Byte 2 of 3 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, -- 38, 39, 40, 41, 42, 43, 44,-78, 45, 46, 47, 48, 49, 50, 51, 52, -+ 38, 39, 40, 41, 42, 43, 44,(uint8)-78, 45, 46, 47, 48, 49, 50, 51, 52, - - // state[81 + 2] 0x0042c0 Byte 3 of 3 (property) - 229, 0,229,229,229, 3, 4, 4, 229,229,229,229,208,229, 0,208, -@@ -931,7 +931,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0,142, 98, 28,117,206,212,212, 220, 15, 0,231,199,231,111, 28, - - // state[144 + 2] 0x005000 Byte 2 of 3 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -@@ -1315,7 +1315,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 16, 15,211,118, 0,231, 68,231, 0, 99,161, 0,115,221,144,140, - - // state[208 + 2] 0x006000 Byte 2 of 3 (relative offsets) ---10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, -+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -@@ -1699,7 +1699,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 119, 16, 51, 0, 0, 68,136, 72, 144,118, 87,201,191,136, 78,233, - - // state[272 + 2] 0x007000 Byte 2 of 3 (relative offsets) -- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, -+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -@@ -2083,7 +2083,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 212,212, 0,126,140,220,220, 0, 0, 0,127,118,106, 0,199, 0, - - // state[336 + 2] 0x008000 Byte 2 of 3 (relative offsets) -- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -@@ -2467,7 +2467,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0,122, 0,231,100,232, 0, 0, 117, 0,206,231, 0, 0,231, 0, - - // state[400 + 2] 0x009000 Byte 2 of 3 (relative offsets) -- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -@@ -2851,10 +2851,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - // state[464 + 2] 0x00a000 Byte 2 of 3 (relative offsets) -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -- -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, -+ (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, - - // state[465 + 2] 0x000080 Byte 2 of 2 (property) - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -@@ -2947,10 +2947,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208,208,208, 5, 6,208, 2, 0, 6, 6, 5,208,208,208, 6, - - // state[480 + 2] 0x00b000 Byte 2 of 3 (relative offsets) ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, ---20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, -+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, - - // state[481 + 2] 0x020100 Byte 4 of 4 (property) - 2, 6, 5, 6, 5,229, 5,208, 208,208,208,208,208,208,208,229, -@@ -3043,10 +3043,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 5,208,208, 2, 229, 5, 5, 5, 5, 5, 6,208, - - // state[496 + 2] 0x00d000 Byte 2 of 3 (relative offsets) ---35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-35,-35, ---35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-34,-33, ---33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33, ---33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33, -+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, -+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-34,(uint8)-33, -+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, -+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, - - // state[497 + 2] 0x0204c0 Byte 4 of 4 (property) - 2, 2, 5, 5, 5, 2,208, 2, 5, 5, 6,208,208, 5, 5, 5, -@@ -3139,10 +3139,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 5, 5, 6, 6, 208,208, 2,208,208,208,208,208, - - // state[512 + 2] 0x00f000 Byte 2 of 3 (relative offsets) ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47, ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47, ---47,-47,-47,-47,-46,-45,-44,-43, -42,-41,-44,-40,-47,-47,-47,-47, ---47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-39,-38,-37, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43, (uint8)-42,(uint8)-41,(uint8)-44,(uint8)-40,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, -+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-39,(uint8)-38,(uint8)-37, - - // state[513 + 2] 0x020880 Byte 4 of 4 (property) - 5, 5, 5, 6,208,208,208,208, 208,208, 5, 5, 6, 6,208,208, -@@ -3235,10 +3235,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 6,208,218,208,208,208,218, 208, 6,227,229, 6, 6, 6,208, - - // state[528 + 2] 0x020000 Byte 3 of 4 (relative offsets) ---52,-51,-50,-49,-47,-46,-45,-44, -43,-42,-41,-40,-39,-38,-37,-36, ---35,-34,-33,-31,-30,-29,-28,-27, -26,-25,-24,-23,-22,-21,-20,-19, ---18,-17,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -- -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -+(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-49,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44, (uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39,(uint8)-38,(uint8)-37,(uint8)-36, -+(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,(uint8)-29,(uint8)-28,(uint8)-27, (uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22,(uint8)-21,(uint8)-20,(uint8)-19, -+(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, -+ (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - - // state[529 + 2] 0x020c40 Byte 4 of 4 (property) - 227, 5, 5, 5, 2, 2, 2, 2, 213, 2, 2, 2, 2, 2,208, 6, -@@ -3427,7 +3427,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208,208,208,208,208,208,208, 208, 6, 6, 6, 6, 2, 5, 5, - - // state[560 + 2] 0x021000 Byte 3 of 4 (relative offsets) ---16,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, -+(uint8)-16,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -@@ -3811,7 +3811,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 6, 6, 6, 5,208, 208,229,208,208, 5, 5, 5, 5, - - // state[624 + 2] 0x022000 Byte 3 of 4 (relative offsets) ---15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, -+(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -@@ -4195,7 +4195,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 6, 6, 4, 5,208,208,208,208, 208,208,229, 6, 5, 6, 6, 6, - - // state[688 + 2] 0x023000 Byte 3 of 4 (relative offsets) ---14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, -+(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, -@@ -4579,7 +4579,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 5, 5, 5, 5, 6, 208,208,208,208,208,208, 6, 6, - - // state[752 + 2] 0x024000 Byte 3 of 4 (relative offsets) ---13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, -+(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -@@ -4963,7 +4963,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 6,229, - - // state[816 + 2] 0x025000 Byte 3 of 4 (relative offsets) ---12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, -+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -@@ -5347,7 +5347,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 3, 6,229,208,208,229, - - // state[880 + 2] 0x026000 Byte 3 of 4 (relative offsets) ---11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, -+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, -@@ -5731,7 +5731,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208, 6, 6,208,208,208,208,208, 6, 6, 6,216, 5, 5, 5, 5, - - // state[944 + 2] 0x027000 Byte 3 of 4 (relative offsets) ---10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, -+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -@@ -6115,7 +6115,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 6,208,208, 6, 6, 208,229,208,208,208, 5, 5, 5, - - // state[1008 + 2] 0x028000 Byte 3 of 4 (relative offsets) -- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, -+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -@@ -6499,7 +6499,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 208,208, 5, 5, 6,208,208, 5, 208,208,208, 6,208, 6,208,208, - - // state[1072 + 2] 0x029000 Byte 3 of 4 (relative offsets) -- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -@@ -6883,7 +6883,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 229,229,229,229,208,208,208,229, 208,208,208,229, 0,229,208,208, - - // state[1136 + 2] 0x02a000 Byte 3 of 4 (relative offsets) -- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, -@@ -7075,10 +7075,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - - // state[1168 + 2] 0x02f000 Byte 3 of 4 (relative offsets) -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -- -8, -7, -6, -5, -4, -3, -2, -1, 1, -9, -9, -9, -9, -9, -9, -9, -- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, -+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, - - // state[1169 + 2] 0x02fa00 Byte 4 of 4 (property) - 217, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,217, 5, 5, -diff -up chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2017-02-01 21:03:57.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2017-02-09 10:38:38.380789675 -0500 -@@ -265,7 +265,7 @@ interface WebGL2RenderingContextBase - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h ---- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.h 2017-02-09 10:38:38.387789535 -0500 -@@ -49,7 +49,7 @@ class NodeFilter final : public GarbageC - * to the value of NodeType for the equivalent node type. - */ - enum { -- kShowAll = 0xFFFFFFFF, -+ kShowAll = 256 /* 0xFFFFFFFF */, - kShowElement = 0x00000001, - kShowAttribute = 0x00000002, - kShowText = 0x00000004, -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl ---- chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/core/dom/NodeFilter.idl 2017-02-09 10:38:38.394789395 -0500 -@@ -30,7 +30,7 @@ - const unsigned short FILTER_SKIP = 3; - - // Constants for whatToShow -- const unsigned long SHOW_ALL = 0xFFFFFFFF; -+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF - const unsigned long SHOW_ELEMENT = 0x1; - const unsigned long SHOW_ATTRIBUTE = 0x2; // historical - const unsigned long SHOW_TEXT = 0x4; -diff -up chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl ---- chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2017-02-01 21:03:09.000000000 -0500 -+++ chromium-56.0.2924.87/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2017-02-09 11:07:32.828682863 -0500 -@@ -239,7 +239,7 @@ typedef unsigned long long GLuint64; - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -@@ -269,7 +269,7 @@ typedef unsigned long long GLuint64; - const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; - const GLenum MAX_ELEMENT_INDEX = 0x8D6B; - const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; -- const GLint TIMEOUT_IGNORED = -1; -+ const GLint TIMEOUT_IGNORED = 256; - - /* WebGL-specific enums */ - const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247; diff --git a/chromium-59.0.3071.115-ucontext-fix.patch b/chromium-59.0.3071.115-ucontext-fix.patch deleted file mode 100644 index 96bfadb..0000000 --- a/chromium-59.0.3071.115-ucontext-fix.patch +++ /dev/null @@ -1,214 +0,0 @@ -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc.ucontextfix 2017-07-12 15:23:33.019591380 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc 2017-07-12 15:32:52.069197546 -0400 -@@ -36,19 +36,19 @@ namespace google_breakpad { - - // Minidump defines register structures which are different from the raw - // structures which we get from the kernel. These are platform specific --// functions to juggle the ucontext and user structures into minidump format. -+// functions to juggle the ucontext_t and user structures into minidump format. - - #if defined(__i386__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_ESP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_EIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__x86_64) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RSP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[REG_RIP]; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - -@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__ARM_EABI__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.arm_pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - out->context_flags = MD_CONTEXT_ARM_FULL; - - out->iregs[0] = uc->uc_mcontext.arm_r0; -@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__aarch64__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.sp; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs) { - out->context_flags = MD_CONTEXT_ARM64_FULL; - -@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawC - - #elif defined(__mips__) - --uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { - return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; - } - --uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { -+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - return uc->uc_mcontext.pc; - } - --void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { -+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { - #if _MIPS_SIM == _ABI64 - out->context_flags = MD_CONTEXT_MIPS64_FULL; - #elif _MIPS_SIM == _ABIO32 -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ---- chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.ucontextfix 2017-07-12 15:33:08.486806743 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h 2017-07-12 15:33:57.299644808 -0400 -@@ -39,23 +39,23 @@ - - namespace google_breakpad { - --// Wraps platform-dependent implementations of accessors to ucontext structs. -+// Wraps platform-dependent implementations of accessors to ucontext_t structs. - struct UContextReader { -- static uintptr_t GetStackPointer(const struct ucontext* uc); -+ static uintptr_t GetStackPointer(const ucontext_t* uc); - -- static uintptr_t GetInstructionPointer(const struct ucontext* uc); -+ static uintptr_t GetInstructionPointer(const ucontext_t* uc); - -- // Juggle a arch-specific ucontext into a minidump format -+ // Juggle a arch-specific ucontext_t into a minidump format - // out: the minidump structure - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct _libc_fpstate* fp); - #elif defined(__aarch64__) -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc, -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); - #else -- static void FillCPUContext(RawContextCPU *out, const ucontext *uc); -+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); - #endif - }; - -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc.ucontextfix 2017-07-12 15:34:09.094364048 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.cc 2017-07-12 15:35:36.483283853 -0400 -@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int - // Fill in all the holes in the struct to make Valgrind happy. - memset(&g_crash_context_, 0, sizeof(g_crash_context_)); - memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); -- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); -+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); - #if defined(__aarch64__) -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = - (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { -@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int - } - #elif !defined(__ARM_EABI__) && !defined(__mips__) - // FP state is not part of user ABI on ARM Linux. -- // In case of MIPS Linux FP state is already part of struct ucontext -+ // In case of MIPS Linux FP state is already part of ucontext_t - // and 'float_state' is not a member of CrashContext. -- struct ucontext* uc_ptr = (struct ucontext*)uc; -+ ucontext_t* uc_ptr = (ucontext_t*)uc; - if (uc_ptr->uc_mcontext.fpregs) { - memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, - sizeof(g_crash_context_.float_state)); -@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDel - // ExceptionHandler::HandleSignal(). - siginfo.si_code = SI_USER; - siginfo.si_pid = getpid(); -- struct ucontext context; -+ ucontext_t context; - getcontext(&context); - return HandleSignal(sig, &siginfo, &context); - } -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h ---- chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h.ucontextfix 2017-07-12 15:35:48.559996380 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/handler/exception_handler.h 2017-07-12 15:36:32.615948562 -0400 -@@ -191,11 +191,11 @@ class ExceptionHandler { - struct CrashContext { - siginfo_t siginfo; - pid_t tid; // the crashing thread. -- struct ucontext context; -+ ucontext_t context; - #if !defined(__ARM_EABI__) && !defined(__mips__) - // #ifdef this out because FP state is not part of user ABI for Linux ARM. - // In case of MIPS Linux FP state is already part of struct -- // ucontext so 'float_state' is not required. -+ // ucontext_t so 'float_state' is not required. - fpstate_t float_state; - #endif - }; -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc.ucontextfix 2017-07-12 15:37:26.232674196 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/microdump_writer/microdump_writer.cc 2017-07-12 15:37:39.032369973 -0400 -@@ -579,7 +579,7 @@ class MicrodumpWriter { - - void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } - -- const struct ucontext* const ucontext_; -+ const ucontext_t* const ucontext_; - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; - #endif -diff -up chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ---- chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc.ucontextfix 2017-07-12 15:37:54.041013246 -0400 -+++ chromium-59.0.3071.115/breakpad/src/client/linux/minidump_writer/minidump_writer.cc 2017-07-12 15:38:19.600405748 -0400 -@@ -1323,7 +1323,7 @@ class MinidumpWriter { - const int fd_; // File descriptor where the minidum should be written. - const char* path_; // Path to the file where the minidum should be written. - -- const struct ucontext* const ucontext_; // also from the signal handler -+ const ucontext_t* const ucontext_; // also from the signal handler - #if !defined(__ARM_EABI__) && !defined(__mips__) - const google_breakpad::fpstate_t* const float_state_; // ditto - #endif diff --git a/chromium-59.0.3071.86-ffmpeg-stdatomic.patch b/chromium-59.0.3071.86-ffmpeg-stdatomic.patch deleted file mode 100644 index a512513..0000000 --- a/chromium-59.0.3071.86-ffmpeg-stdatomic.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c ---- chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2017-06-07 17:15:24.993945430 -0400 -+++ chromium-59.0.3071.86/third_party/ffmpeg/libavutil/cpu.c 2017-06-07 17:18:41.625997601 -0400 -@@ -17,7 +17,13 @@ - */ - - #include -+// GCC 4.8 didn't have stdatomic, but was advertising it. -+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 -+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) -+#include -+#else - #include -+#endif - - #include "cpu.h" - #include "cpu_internal.h" diff --git a/chromium-59.0.3071.86-nullfix.patch b/chromium-59.0.3071.86-nullfix.patch deleted file mode 100644 index 20e9d18..0000000 --- a/chromium-59.0.3071.86-nullfix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn ---- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.nullfix 2017-06-05 15:03:01.000000000 -0400 -+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:32:43.531911624 -0400 -@@ -31,6 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm64" -@@ -49,6 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm" -@@ -91,6 +93,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -136,6 +139,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -161,6 +165,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "mipsel-linux-gnu-readelf" - nm = "mipsel-linux-gnu-nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-59.0.3071.86-system-clang.patch b/chromium-59.0.3071.86-system-clang.patch deleted file mode 100644 index 458834b..0000000 --- a/chromium-59.0.3071.86-system-clang.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang chromium-59.0.3071.86/build/config/clang/clang.gni ---- chromium-59.0.3071.86/build/config/clang/clang.gni.system-clang 2017-06-11 20:57:07.327949687 -0400 -+++ chromium-59.0.3071.86/build/config/clang/clang.gni 2017-06-11 20:57:24.085620826 -0400 -@@ -9,5 +9,5 @@ declare_args() { - # coding guidelines, etc. Only used when compiling with Clang. - clang_use_chrome_plugins = is_clang && !is_nacl && !use_xcode_clang - -- clang_base_path = "//third_party/llvm-build/Release+Asserts" -+ clang_base_path = "/usr" - } diff --git a/chromium-60.0.3112.78-gn-system.patch b/chromium-60.0.3112.78-gn-system.patch deleted file mode 100644 index 60489bb..0000000 --- a/chromium-60.0.3112.78-gn-system.patch +++ /dev/null @@ -1,221 +0,0 @@ -diff -up chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn ---- chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn 2017-07-31 10:38:25.879951641 -0400 -@@ -16,6 +16,10 @@ source_set("libjpeg") { - libs = [ "jpeg" ] - } - -+config("system_libjpeg") { -+ defines = [ "USE_SYSTEM_LIBJPEG=1" ] -+} -+ - source_set("simd") { - } - -diff -up chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libusb.gn ---- chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem 2017-07-31 10:38:25.880951622 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/libusb.gn 2017-07-31 10:38:25.879951641 -0400 -@@ -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" ] -+} -diff -up chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/opus.gn ---- chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/opus.gn 2017-07-31 10:38:25.880951622 -0400 -@@ -1,3 +1,164 @@ -+# 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") -+import("//testing/test.gni") -+ -+pkg_config("system_opus") { -+ packages = [ "opus" ] -+} -+ -+shim_headers("opus_shim") { -+ root_path = "src/include" -+ headers = [ -+ "opus_custom.h", -+ "opus_defines.h", -+ "opus_multistream.h", -+ "opus_types.h", -+ "opus.h", -+ ] -+} -+ -+source_set("opus") { -+ deps = [ -+ ":opus_shim", -+ ] -+ public_configs = [ ":system_opus" ] -+} -+ -+config("opus_test_config") { -+ include_dirs = [ -+ "src/celt", -+ "src/silk", -+ ] -+ -+ if (is_win) { -+ defines = [ "inline=__inline" ] -+ } -+ if (is_android) { -+ libs = [ "log" ] -+ } -+ if (is_clang) { -+ cflags = [ "-Wno-absolute-value" ] -+ } -+} -+ -+executable("opus_compare") { -+ sources = [ -+ "src/src/opus_compare.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+executable("opus_demo") { -+ sources = [ -+ "src/src/opus_demo.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+test("test_opus_api") { -+ sources = [ -+ "src/tests/test_opus_api.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_encode") { -+ sources = [ -+ "src/tests/test_opus_encode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+# GN orders flags on a target before flags from configs. The default config -+# adds -Wall, and this flag have to be after -Wall -- so they need to -+# come from a config and can't be on the target directly. -+config("test_opus_decode_config") { -+ # test_opus_decode passes a null pointer to opus_decode() for an argument -+ # marked as requiring a non-null value by the nonnull function attribute, -+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid -+ # a compilation error if -Werror is specified. -+ if (is_posix) { -+ cflags = [ "-Wno-nonnull" ] -+ } -+} -+ -+test("test_opus_decode") { -+ sources = [ -+ "src/tests/test_opus_decode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ":test_opus_decode_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_padding") { -+ sources = [ -+ "src/tests/test_opus_padding.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ - # Copyright 2017 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. -diff -up chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py ---- chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem 2017-07-31 10:38:25.880951622 -0400 -+++ chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py 2017-07-31 10:39:58.067159914 -0400 -@@ -26,6 +26,7 @@ REPLACEMENTS = { - 'libevent': 'base/third_party/libevent/BUILD.gn', - 'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn', - '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', diff --git a/chromium-60.0.3112.78-last-commit-position.patch b/chromium-60.0.3112.78-last-commit-position.patch deleted file mode 100644 index 7c26d9f..0000000 --- a/chromium-60.0.3112.78-last-commit-position.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit chromium-60.0.3112.78/tools/gn/BUILD.gn ---- chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit 2017-07-31 10:42:38.568041044 -0400 -+++ chromium-60.0.3112.78/tools/gn/BUILD.gn 2017-07-31 10:47:50.760974587 -0400 -@@ -268,7 +268,6 @@ executable("gn") { - - deps = [ - ":gn_lib", -- ":last_commit_position", - "//base", - "//build/config:exe_and_shlib_deps", - "//build/win:default_exe_manifest", -diff -up chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit chromium-60.0.3112.78/tools/gn/gn_main.cc ---- chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit 2017-07-25 15:05:19.000000000 -0400 -+++ chromium-60.0.3112.78/tools/gn/gn_main.cc 2017-07-31 10:42:38.568041044 -0400 -@@ -12,13 +12,7 @@ - #include "tools/gn/standard_out.h" - #include "tools/gn/switches.h" - --// Only the GN-generated build makes this header for now. --// TODO(brettw) consider adding this if we need it in GYP. --#if defined(GN_BUILD) --#include "tools/gn/last_commit_position.h" --#else - #define LAST_COMMIT_POSITION "UNKNOWN" --#endif - - namespace { - diff --git a/chromium-60.0.3112.78-no-zlib-mangle.patch b/chromium-60.0.3112.78-no-zlib-mangle.patch deleted file mode 100644 index 4b90360..0000000 --- a/chromium-60.0.3112.78-no-zlib-mangle.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle chromium-60.0.3112.78/third_party/zlib/zconf.h ---- chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle 2017-08-04 10:45:17.509152089 -0400 -+++ chromium-60.0.3112.78/third_party/zlib/zconf.h 2017-08-04 10:45:30.451902380 -0400 -@@ -8,9 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names */ --#include "names.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-60.0.3112.90-vulkan-force-c99.patch b/chromium-60.0.3112.90-vulkan-force-c99.patch deleted file mode 100644 index 881aa91..0000000 --- a/chromium-60.0.3112.90-vulkan-force-c99.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn ---- chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn.c99 2017-08-14 10:40:48.028799820 -0400 -+++ chromium-60.0.3112.90/third_party/angle/src/vulkan_support/BUILD.gn 2017-08-14 10:41:43.054734910 -0400 -@@ -180,6 +180,7 @@ config("vulkan_internal_config") { - cflags += [ "-Wno-ignored-attributes" ] - } - if (is_linux) { -+ cflags += [ "-std=c99" ] - defines += [ - "SYSCONFDIR=\"/etc\"", - "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"", diff --git a/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch b/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch deleted file mode 100644 index 12e88d2..0000000 --- a/chromium-61.0.3163.79-aarch64-glibc-2.26.90.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-09-12 10:12:25.375736650 -0400 -+++ chromium-61.0.3163.79/breakpad/src/client/linux/handler/exception_handler.cc 2017-09-12 10:14:42.339638321 -0400 -@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int - #if defined(__aarch64__) - ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = -- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; -+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { - memcpy(&g_crash_context_.float_state, fp_ptr, - sizeof(g_crash_context_.float_state)); diff --git a/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch b/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch deleted file mode 100644 index a8c7260..0000000 --- a/chromium-61.0.3163.79-fix-ffmpeg-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-09-06 14:34:36.247232957 -0400 -+++ chromium-61.0.3163.79/third_party/ffmpeg/ffmpeg_generated.gni 2017-09-06 14:36:37.632892363 -0400 -@@ -537,7 +537,7 @@ if (use_linux_config && current_cpu == " - ] - } - --if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) { -+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chromium")) { - ffmpeg_c_sources += [ - "libavcodec/aarch64/mpegaudiodsp_init.c", - ] diff --git a/chromium-61.0.3163.79-setopaque.patch b/chromium-61.0.3163.79-setopaque.patch deleted file mode 100644 index b797d10..0000000 --- a/chromium-61.0.3163.79-setopaque.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque chromium-61.0.3163.79/cc/blink/web_layer_impl.h ---- chromium-61.0.3163.79/cc/blink/web_layer_impl.h.setopaque 2017-09-06 13:55:45.454175023 -0400 -+++ chromium-61.0.3163.79/cc/blink/web_layer_impl.h 2017-09-06 13:58:02.395533936 -0400 -@@ -71,7 +71,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub - bool IsRootForIsolatedGroup() override; - void SetShouldHitTest(bool should_hit_test) override; - bool ShouldHitTest() override; -- void SetOpaque(bool opaque) override; -+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override; - bool Opaque() const override; - void SetPosition(const blink::WebFloatPoint& position) override; - blink::WebFloatPoint GetPosition() const override; diff --git a/chromium-62.0.3202.62-correct-cplusplus-check.patch b/chromium-62.0.3202.62-correct-cplusplus-check.patch deleted file mode 100644 index 39f8580..0000000 --- a/chromium-62.0.3202.62-correct-cplusplus-check.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h ---- chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.fix-cplusplus-conditional 2017-10-17 15:12:35.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h 2017-10-19 11:41:45.860279576 -0400 -@@ -38,6 +38,8 @@ inline uint32_t Crc32c(const std::string - // Visual Studio provides a header even in C++11 mode. When - // included, the header issues an #error. (C1189) - #if !defined(_MSC_VER) || __cplusplus >= 201703L -+// GCC issues an #error if __cplusplus <= 201402L -+#if defined(__GNUC__) && __cplusplus > 201402L - #include - - // Comptues the CRC32C of the bytes in the string_view. -@@ -46,6 +48,7 @@ inline uint32_t Crc32c(const std::string - string_view.size()); - } - -+#endif // defined(__GNUC__) && __cplusplus > 201402L - #endif // !defined(_MSC_VER) || __cplusplus >= 201703L - #endif // __has_include() - #endif // defined(__has_include) diff --git a/chromium-62.0.3202.62-dde535-gcc-fix.patch b/chromium-62.0.3202.62-dde535-gcc-fix.patch deleted file mode 100644 index 378403a..0000000 --- a/chromium-62.0.3202.62-dde535-gcc-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc ---- chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc.dde535 2017-10-18 10:04:33.237966223 -0400 -+++ chromium-62.0.3202.62/services/resource_coordinator/resource_coordinator_service.cc 2017-10-18 10:05:00.442438694 -0400 -@@ -18,7 +18,8 @@ std::unique_ptr(); - -- return resource_coordinator_service; -+ return std::unique_ptr( -+ resource_coordinator_service.release()); - } - - ResourceCoordinatorService::ResourceCoordinatorService() diff --git a/chromium-62.0.3202.62-enable-mp3.patch b/chromium-62.0.3202.62-enable-mp3.patch deleted file mode 100644 index 3ed9dbf..0000000 --- a/chromium-62.0.3202.62-enable-mp3.patch +++ /dev/null @@ -1,484 +0,0 @@ -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/button-press.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/button-press -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/hit.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/hit -diff -up chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached.mp3 chromium-62.0.3202.62/components/neterror/resources/sounds/score-reached -diff -up chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 chromium-62.0.3202.62/media/base/mime_util_internal.cc ---- chromium-62.0.3202.62/media/base/mime_util_internal.cc.mp3 2017-10-17 15:10:44.000000000 -0400 -+++ chromium-62.0.3202.62/media/base/mime_util_internal.cc 2017-10-18 09:32:16.957562156 -0400 -@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -920,7 +924,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -928,6 +931,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: -diff -up chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 chromium-62.0.3202.62/media/formats/BUILD.gn ---- chromium-62.0.3202.62/media/formats/BUILD.gn.mp3 2017-10-17 15:10:45.000000000 -0400 -+++ chromium-62.0.3202.62/media/formats/BUILD.gn 2017-10-18 09:25:18.353676481 -0400 -@@ -17,6 +17,14 @@ source_set("formats") { - "ac3/ac3_util.h", - "common/offset_byte_queue.cc", - "common/offset_byte_queue.h", -+ "mpeg/adts_constants.cc", -+ "mpeg/adts_constants.h", -+ "mpeg/adts_stream_parser.cc", -+ "mpeg/adts_stream_parser.h", -+ "mpeg/mpeg1_audio_stream_parser.cc", -+ "mpeg/mpeg1_audio_stream_parser.h", -+ "mpeg/mpeg_audio_stream_parser_base.cc", -+ "mpeg/mpeg_audio_stream_parser_base.h", - "webm/webm_audio_client.cc", - "webm/webm_audio_client.h", - "webm/webm_cluster_parser.cc", -@@ -78,14 +86,6 @@ source_set("formats") { - "mp4/sample_to_group_iterator.h", - "mp4/track_run_iterator.cc", - "mp4/track_run_iterator.h", -- "mpeg/adts_constants.cc", -- "mpeg/adts_constants.h", -- "mpeg/adts_stream_parser.cc", -- "mpeg/adts_stream_parser.h", -- "mpeg/mpeg1_audio_stream_parser.cc", -- "mpeg/mpeg1_audio_stream_parser.h", -- "mpeg/mpeg_audio_stream_parser_base.cc", -- "mpeg/mpeg_audio_stream_parser_base.h", - ] - } - -diff -up chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-62.0.3202.62/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-10-18 09:25:18.354676462 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-10-18 09:25:18.355676443 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-10-18 09:25:18.360676348 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/jrummell/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-10-18 09:25:18.360676348 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h ---- chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-10-18 09:05:31.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-10-18 09:25:18.361676329 -0400 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/chrome/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -542,7 +542,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -620,9 +620,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -968,7 +968,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1275,7 +1275,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2217,7 +2217,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-10-18 09:05:28.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/ffmpeg_generated.gni 2017-10-18 09:25:18.362676310 -0400 -@@ -182,17 +182,9 @@ if ((is_mac) || (is_win) || (use_linux_c - ] - } - --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ -- "libavcodec/aac_ac3_parser.c", -- "libavcodec/aac_parser.c", -- "libavcodec/aacadtsdec.c", -- "libavcodec/aacps_float.c", -- "libavcodec/aacpsdsp_float.c", -- "libavcodec/aacsbr.c", -- "libavcodec/aactab.c", - "libavcodec/ac3tab.c", -- "libavcodec/autorename_libavcodec_aacdec.c", - "libavcodec/autorename_libavcodec_mpegaudiodsp.c", - "libavcodec/autorename_libavcodec_sbrdsp.c", - "libavcodec/cbrt_data.c", -@@ -210,7 +202,6 @@ if ((current_cpu == "x64" && ffmpeg_bran - "libavcodec/mpegaudiodsp_float.c", - "libavcodec/sinewin.c", - "libavcodec/sinewin_fixed.c", -- "libavformat/aacdec.c", - "libavformat/apetag.c", - "libavformat/img2.c", - "libavformat/mov.c", -@@ -219,6 +210,20 @@ if ((current_cpu == "x64" && ffmpeg_bran - ] - } - -+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+ ffmpeg_c_sources += [ -+ "libavcodec/aac_ac3_parser.c", -+ "libavcodec/aac_parser.c", -+ "libavcodec/aacadtsdec.c", -+ "libavcodec/aacps_float.c", -+ "libavcodec/aacpsdsp_float.c", -+ "libavcodec/aacsbr.c", -+ "libavcodec/aactab.c", -+ "libavcodec/autorename_libavcodec_aacdec.c", -+ "libavformat/aacdec.c", -+ ] -+} -+ - if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ - "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c", -@@ -322,15 +327,19 @@ if ((is_mac) || (is_win) || (use_linux_c - if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_c_sources += [ - "libavcodec/x86/aacpsdsp_init.c", -+ ] -+ ffmpeg_yasm_sources += [ -+ "libavcodec/x86/aacpsdsp.asm", -+ ] -+} -+ -+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) { -+ ffmpeg_c_sources += [ - "libavcodec/x86/dct_init.c", - "libavcodec/x86/mpegaudiodsp.c", - "libavcodec/x86/sbrdsp_init.c", - ] --} -- --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_yasm_sources += [ -- "libavcodec/x86/aacpsdsp.asm", - "libavcodec/x86/dct32.asm", - "libavcodec/x86/imdct36.asm", - "libavcodec/x86/sbrdsp.asm", -diff -up chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c ---- chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-10-18 09:05:30.000000000 -0400 -+++ chromium-62.0.3202.62/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-10-18 09:25:18.362676310 -0400 -@@ -23,6 +23,7 @@ - #define USE_FIXED 0 - - #include "aac.h" -+#include "aacsbrdata.h" - #include "config.h" - #include "libavutil/attributes.h" - #include "libavutil/intfloat.h" -diff -up chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-62.0.3202.62/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart -diff -up chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-62.0.3202.62/tools/android/audio_focus_grabber/java/res/raw/ping diff --git a/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch b/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch deleted file mode 100644 index 7af702a..0000000 --- a/chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp ---- chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp.nonullptr 2017-10-18 10:10:14.216353575 -0400 -+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/blob/BlobData.cpp 2017-10-18 10:10:23.657170980 -0400 -@@ -295,7 +295,7 @@ BlobDataHandle::BlobDataHandle(std::uniq - - size_t current_memory_population = 0; - Vector elements; -- const DataElementPtr null_element = nullptr; -+ const DataElementPtr null_element; - BlobBytesProvider* last_bytes_provider = nullptr; - RefPtr file_runner = Platform::Current()->FileTaskRunner(); - diff --git a/chromium-62.0.3202.62-gcc-nc.patch b/chromium-62.0.3202.62-gcc-nc.patch deleted file mode 100644 index 0a74d25..0000000 --- a/chromium-62.0.3202.62-gcc-nc.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc chromium-62.0.3202.62/content/network/network_service_impl.cc ---- chromium-62.0.3202.62/content/network/network_service_impl.cc.gcc-nc 2017-10-18 10:07:04.045041261 -0400 -+++ chromium-62.0.3202.62/content/network/network_service_impl.cc 2017-10-18 10:07:53.175088528 -0400 -@@ -90,6 +90,7 @@ NetworkServiceImpl::CreateNetworkContext - base::MakeUnique(this, std::move(request), - std::move(params), std::move(builder)); - *url_request_context = network_context->url_request_context(); -+ return std::unique_ptr(network_context.release()); - return network_context; - } - diff --git a/chromium-62.0.3202.62-gcc7.patch b/chromium-62.0.3202.62-gcc7.patch deleted file mode 100644 index 90d177d..0000000 --- a/chromium-62.0.3202.62-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2017-10-18 09:20:04.072765163 -0400 -+++ chromium-62.0.3202.62/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-10-18 09:21:40.156905187 -0400 -@@ -9,6 +9,7 @@ - #include "platform/graphics/WebGraphicsContext3DProviderWrapper.h" - #include "platform/wtf/ThreadSpecific.h" - -+#include - #include - - namespace blink { diff --git a/chromium-62.0.3202.62-rvalue-fix.patch b/chromium-62.0.3202.62-rvalue-fix.patch deleted file mode 100644 index 89197cd..0000000 --- a/chromium-62.0.3202.62-rvalue-fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc ---- chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc.another-rvalue-fix 2017-10-18 10:15:58.855675480 -0400 -+++ chromium-62.0.3202.62/chrome/browser/ui/webui/settings/on_startup_handler.cc 2017-10-18 10:16:28.925093301 -0400 -@@ -77,7 +77,7 @@ std::unique_ptr OnStartupHa - !extensions::ExtensionSystem::Get(profile_) - ->management_policy() - ->MustRemainEnabled(ntp_extension, nullptr)); -- return dict; -+ return std::move(dict); - } - - void OnStartupHandler::HandleGetNtpExtension(const base::ListValue* args) { -diff -up chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc ---- chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc.another-rvalue-fix 2017-10-18 10:15:16.408497853 -0400 -+++ chromium-62.0.3202.62/ui/views/animation/ink_drop_host_view.cc 2017-10-18 10:15:43.793967075 -0400 -@@ -305,7 +305,7 @@ std::unique_ptr InkDropHost - base::MakeUnique(this, size()); - ink_drop->SetAutoHighlightMode( - views::InkDropImpl::AutoHighlightMode::HIDE_ON_RIPPLE); -- return ink_drop; -+ return std:move(ink_drop); - } - - std::unique_ptr -@@ -314,7 +314,7 @@ InkDropHostView::CreateDefaultFloodFillI - InkDropHostView::CreateDefaultInkDropImpl(); - ink_drop->SetAutoHighlightMode( - views::InkDropImpl::AutoHighlightMode::SHOW_ON_RIPPLE); -- return ink_drop; -+ return std:move(ink_drop); - } - - } // namespace views -diff -up chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc ---- chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc.another-rvalue-fix 2017-10-18 10:14:18.054627919 -0400 -+++ chromium-62.0.3202.62/ui/views/controls/button/checkbox.cc 2017-10-18 10:14:42.265159378 -0400 -@@ -198,7 +198,7 @@ std::unique_ptr Checkbox::Creat - std::unique_ptr ink_drop = CreateDefaultInkDropImpl(); - ink_drop->SetShowHighlightOnHover(false); - ink_drop->SetAutoHighlightMode(InkDropImpl::AutoHighlightMode::NONE); -- return ink_drop; -+ return std::move(ink_drop); - } - - std::unique_ptr Checkbox::CreateInkDropRipple() const { diff --git a/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch b/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch deleted file mode 100644 index 469d680..0000000 --- a/chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ---- chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.aarch64glibc 2017-12-12 09:56:24.469343868 -0500 -+++ chromium-63.0.3239.84/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2017-12-12 09:56:38.468071095 -0500 -@@ -461,7 +461,7 @@ bool ExceptionHandler::HandleSignal(int - #if defined(__aarch64__) - ucontext_t* uc_ptr = (ucontext_t*)uc; - struct fpsimd_context* fp_ptr = -- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; -+ (struct fpsimd_context*)&uc_ptr->uc_mcontext.__glibc_reserved1; - if (fp_ptr->head.magic == FPSIMD_MAGIC) { - memcpy(&g_crash_context_.float_state, fp_ptr, - sizeof(g_crash_context_.float_state)); diff --git a/chromium-63.0.3289.84-enable-mp3.patch b/chromium-63.0.3289.84-enable-mp3.patch deleted file mode 100644 index 91a331a..0000000 --- a/chromium-63.0.3289.84-enable-mp3.patch +++ /dev/null @@ -1,485 +0,0 @@ -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/button-press.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/button-press -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/hit.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/hit -diff -up chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached.mp3 chromium-63.0.3239.84/components/neterror/resources/sounds/score-reached -diff -up chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 chromium-63.0.3239.84/media/base/mime_util_internal.cc ---- chromium-63.0.3239.84/media/base/mime_util_internal.cc.mp3 2017-12-06 15:05:29.000000000 -0500 -+++ chromium-63.0.3239.84/media/base/mime_util_internal.cc 2017-12-07 10:52:02.472510232 -0500 -@@ -266,15 +266,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -311,10 +315,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -935,7 +939,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -943,6 +946,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: -diff -up chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 chromium-63.0.3239.84/media/formats/BUILD.gn ---- chromium-63.0.3239.84/media/formats/BUILD.gn.mp3 2017-12-06 15:05:29.000000000 -0500 -+++ chromium-63.0.3239.84/media/formats/BUILD.gn 2017-12-07 10:52:02.473510212 -0500 -@@ -20,6 +20,14 @@ source_set("formats") { - "ac3/ac3_util.h", - "common/offset_byte_queue.cc", - "common/offset_byte_queue.h", -+ "mpeg/adts_constants.cc", -+ "mpeg/adts_constants.h", -+ "mpeg/adts_stream_parser.cc", -+ "mpeg/adts_stream_parser.h", -+ "mpeg/mpeg1_audio_stream_parser.cc", -+ "mpeg/mpeg1_audio_stream_parser.h", -+ "mpeg/mpeg_audio_stream_parser_base.cc", -+ "mpeg/mpeg_audio_stream_parser_base.h", - "webm/webm_audio_client.cc", - "webm/webm_audio_client.h", - "webm/webm_cluster_parser.cc", -@@ -81,14 +89,6 @@ source_set("formats") { - "mp4/sample_to_group_iterator.h", - "mp4/track_run_iterator.cc", - "mp4/track_run_iterator.h", -- "mpeg/adts_constants.cc", -- "mpeg/adts_constants.h", -- "mpeg/adts_stream_parser.cc", -- "mpeg/adts_stream_parser.h", -- "mpeg/mpeg1_audio_stream_parser.cc", -- "mpeg/mpeg1_audio_stream_parser.h", -- "mpeg/mpeg_audio_stream_parser_base.cc", -- "mpeg/mpeg_audio_stream_parser_base.h", - ] - } - -diff -up chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-63.0.3239.84/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-12-07 11:08:41.116117073 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-12-07 11:09:23.602291820 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-12-07 11:09:49.945779754 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/chcunningham/chrome_root/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-12-07 11:10:25.513089579 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h ---- chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-12-07 11:10:50.721599547 -0500 -@@ -1,7 +1,7 @@ - /* Automatically generated by configure - do not modify! */ - #ifndef FFMPEG_CONFIG_H - #define FFMPEG_CONFIG_H --#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic" -+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/ssd/blink3/src/third_party/opus/src/include --disable-linux-perf --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'" - #define FFMPEG_LICENSE "LGPL version 2.1 or later" - #define CONFIG_THIS_YEAR 2017 - #define FFMPEG_DATADIR "/usr/local/share/ffmpeg" -@@ -547,7 +547,7 @@ - #define CONFIG_FFPROBE 0 - #define CONFIG_FFSERVER 0 - #define CONFIG_FFMPEG 0 --#define CONFIG_DCT 0 -+#define CONFIG_DCT 1 - #define CONFIG_DWT 0 - #define CONFIG_ERROR_RESILIENCE 0 - #define CONFIG_FAAN 1 -@@ -626,9 +626,9 @@ - #define CONFIG_LZF 0 - #define CONFIG_ME_CMP 0 - #define CONFIG_MPEG_ER 0 --#define CONFIG_MPEGAUDIO 0 --#define CONFIG_MPEGAUDIODSP 0 --#define CONFIG_MPEGAUDIOHEADER 0 -+#define CONFIG_MPEGAUDIO 1 -+#define CONFIG_MPEGAUDIODSP 1 -+#define CONFIG_MPEGAUDIOHEADER 1 - #define CONFIG_MPEGVIDEO 0 - #define CONFIG_MPEGVIDEOENC 0 - #define CONFIG_MSS34DSP 0 -@@ -979,7 +979,7 @@ - #define CONFIG_MP1FLOAT_DECODER 0 - #define CONFIG_MP2_DECODER 0 - #define CONFIG_MP2FLOAT_DECODER 0 --#define CONFIG_MP3_DECODER 0 -+#define CONFIG_MP3_DECODER 1 - #define CONFIG_MP3FLOAT_DECODER 0 - #define CONFIG_MP3ADU_DECODER 0 - #define CONFIG_MP3ADUFLOAT_DECODER 0 -@@ -1292,7 +1292,7 @@ - #define CONFIG_MM_DEMUXER 0 - #define CONFIG_MMF_DEMUXER 0 - #define CONFIG_MOV_DEMUXER 0 --#define CONFIG_MP3_DEMUXER 0 -+#define CONFIG_MP3_DEMUXER 1 - #define CONFIG_MPC_DEMUXER 0 - #define CONFIG_MPC8_DEMUXER 0 - #define CONFIG_MPEGPS_DEMUXER 0 -@@ -2267,7 +2267,7 @@ - #define CONFIG_MJPEG_PARSER 0 - #define CONFIG_MLP_PARSER 0 - #define CONFIG_MPEG4VIDEO_PARSER 0 --#define CONFIG_MPEGAUDIO_PARSER 0 -+#define CONFIG_MPEGAUDIO_PARSER 1 - #define CONFIG_MPEGVIDEO_PARSER 0 - #define CONFIG_OPUS_PARSER 1 - #define CONFIG_PNG_PARSER 0 -diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-12-07 09:51:36.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:16:58.728447124 -0500 -@@ -183,17 +183,9 @@ if ((is_mac) || (is_win) || (use_linux_c - ] - } - --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ -- "libavcodec/aac_ac3_parser.c", -- "libavcodec/aac_parser.c", -- "libavcodec/aacadtsdec.c", -- "libavcodec/aacps_float.c", -- "libavcodec/aacpsdsp_float.c", -- "libavcodec/aacsbr.c", -- "libavcodec/aactab.c", - "libavcodec/ac3tab.c", -- "libavcodec/autorename_libavcodec_aacdec.c", - "libavcodec/autorename_libavcodec_mdct15.c", - "libavcodec/autorename_libavcodec_mpegaudiodsp.c", - "libavcodec/autorename_libavcodec_sbrdsp.c", -@@ -211,7 +203,6 @@ if ((current_cpu == "x64" && ffmpeg_bran - "libavcodec/mpegaudiodsp_float.c", - "libavcodec/sinewin.c", - "libavcodec/sinewin_fixed.c", -- "libavformat/aacdec.c", - "libavformat/apetag.c", - "libavformat/img2.c", - "libavformat/mov.c", -@@ -220,6 +211,20 @@ if ((current_cpu == "x64" && ffmpeg_bran - ] - } - -+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { -+ ffmpeg_c_sources += [ -+ "libavcodec/aac_ac3_parser.c", -+ "libavcodec/aac_parser.c", -+ "libavcodec/aacadtsdec.c", -+ "libavcodec/aacps_float.c", -+ "libavcodec/aacpsdsp_float.c", -+ "libavcodec/aacsbr.c", -+ "libavcodec/aactab.c", -+ "libavcodec/autorename_libavcodec_aacdec.c", -+ "libavformat/aacdec.c", -+ ] -+} -+ - if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) { - ffmpeg_c_sources += [ - "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c", -@@ -323,16 +328,20 @@ if ((is_mac) || (is_win) || (use_linux_c - if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_c_sources += [ - "libavcodec/x86/aacpsdsp_init.c", -+ ] -+ ffmpeg_yasm_sources += [ -+ "libavcodec/x86/aacpsdsp.asm", -+ ] -+} -+ -+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86") || (is_win)) { -+ ffmpeg_c_sources += [ - "libavcodec/x86/dct_init.c", - "libavcodec/x86/mdct15_init.c", - "libavcodec/x86/mpegaudiodsp.c", - "libavcodec/x86/sbrdsp_init.c", - ] --} -- --if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_yasm_sources += [ -- "libavcodec/x86/aacpsdsp.asm", - "libavcodec/x86/dct32.asm", - "libavcodec/x86/imdct36.asm", - "libavcodec/x86/mdct15.asm", -diff -up chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c ---- chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-12-07 09:51:37.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-12-07 10:52:02.484509992 -0500 -@@ -23,6 +23,7 @@ - #define USE_FIXED 0 - - #include "aac.h" -+#include "aacsbrdata.h" - #include "config.h" - #include "libavutil/attributes.h" - #include "libavutil/intfloat.h" -diff -up chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-63.0.3239.84/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart -diff -up chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-63.0.3239.84/tools/android/audio_focus_grabber/java/res/raw/ping diff --git a/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch b/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch deleted file mode 100644 index 8df206b..0000000 --- a/chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni ---- chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-12-07 11:23:07.077290535 -0500 -+++ chromium-63.0.3239.84/third_party/ffmpeg/ffmpeg_generated.gni 2017-12-07 11:27:30.354175021 -0500 -@@ -541,7 +541,7 @@ if (use_linux_config && current_cpu == " - ] - } - --if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) { -+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64")) { - ffmpeg_c_sources += [ - "libavcodec/aarch64/aacpsdsp_init_aarch64.c", - "libavcodec/aarch64/mpegaudiodsp_init.c", diff --git a/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch b/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch deleted file mode 100644 index 9ca87ad..0000000 --- a/chromium-63.0.3289.84-fix-ft-hb-unbundle.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/freetype.gn ---- chromium-63.0.3239.84/build/linux/unbundle/freetype.gn.fixunbundle 2017-12-07 12:07:48.652161826 -0500 -+++ chromium-63.0.3239.84/build/linux/unbundle/freetype.gn 2017-12-07 12:08:52.514919585 -0500 -@@ -117,6 +117,14 @@ source_set("freetype") { - public_configs = [ ":freetype_config" ] - } - -+source_set("freetype_source") { -+ visibility = [ "//third_party:freetype_harfbuzz" ] -+ deps = [ -+ ":freetype_shim", -+ ] -+ public_configs = [ ":freetype_config" ] -+} -+ - source_set("bootstrap_freetype_for_harfbuzz") { - deps = [ - ":freetype_shim", -diff -up chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn ---- chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn.fixunbundle 2017-12-07 12:09:57.057661738 -0500 -+++ chromium-63.0.3239.84/build/linux/unbundle/harfbuzz-ng.gn 2017-12-07 12:10:03.225541404 -0500 -@@ -24,6 +24,14 @@ group("harfbuzz-ng") { - ] - } - -+source_set("harfbuzz_source") { -+ visibility = [ "//third_party:freetype_harfbuzz" ] -+ deps = [ -+ ":harfbuzz_shim", -+ ] -+ public_configs = [ ":system_harfbuzz" ] -+} -+ - source_set("harfbuzz-ng-ft") { - deps = [ - ":harfbuzz_shim", diff --git a/chromium-63.0.3289.84-gcc-round-fix.patch b/chromium-63.0.3289.84-gcc-round-fix.patch deleted file mode 100644 index 86d0a7e..0000000 --- a/chromium-63.0.3289.84-gcc-round-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc ---- chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2017-12-07 16:20:01.521717091 -0500 -+++ chromium-63.0.3239.84/third_party/webrtc/p2p/base/port.cc 2017-12-07 16:20:13.025491739 -0500 -@@ -11,6 +11,7 @@ - #include "p2p/base/port.h" - - #include -+#include - #include - - #include "p2p/base/common.h" diff --git a/chromium-63.0.3289.84-gcc5-r3.patch b/chromium-63.0.3289.84-gcc5-r3.patch deleted file mode 100644 index 83c6911..0000000 --- a/chromium-63.0.3289.84-gcc5-r3.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff -up chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2017-12-06 15:05:28.000000000 -0500 -+++ chromium-63.0.3239.84/gpu/ipc/common/mailbox_struct_traits.h 2017-12-07 11:32:15.416636125 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2017-12-06 15:05:31.000000000 -0500 -+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2017-12-07 11:32:15.422636011 -0500 -@@ -134,7 +134,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2017-12-07 11:32:15.429635877 -0500 -+++ chromium-63.0.3239.84/services/viz/public/cpp/compositing/quads_struct_traits.h 2017-12-07 11:34:00.081601880 -0500 -@@ -309,7 +309,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp ---- chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 2017-12-06 15:05:46.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/exported/WebCORS.cpp 2017-12-07 11:32:15.430635859 -0500 -@@ -480,7 +480,7 @@ WebString AccessControlErrorString( - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -512,7 +512,7 @@ WebString PreflightErrorString(const Pre - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -533,7 +533,7 @@ WebString RedirectErrorString(const Redi - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -diff -up chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2017-12-06 15:05:46.000000000 -0500 -+++ chromium-63.0.3239.84/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2017-12-07 11:32:15.408636277 -0500 -@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2017-12-07 11:32:15.409636258 -0500 -+++ chromium-63.0.3239.84/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-12-07 11:33:10.714561105 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - diff --git a/chromium-63.0.3289.84-nolibc++.patch b/chromium-63.0.3289.84-nolibc++.patch deleted file mode 100644 index 0d999c8..0000000 --- a/chromium-63.0.3289.84-nolibc++.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn ---- chromium-63.0.3239.84/remoting/host/linux/BUILD.gn.nolibc++ 2017-12-07 11:55:43.173273434 -0500 -+++ chromium-63.0.3239.84/remoting/host/linux/BUILD.gn 2017-12-07 11:55:53.244077772 -0500 -@@ -62,11 +62,9 @@ if (enable_me2me_host) { - if (is_component_build) { - sources += [ - "$root_build_dir/libbase.so", -- "$root_build_dir/libc++.so", - ] - deps += [ - "//base:base", -- "//buildtools/third_party/libc++:libc++", - ] - } - } diff --git a/chromium-63.0.3289.84-setopaque.patch b/chromium-63.0.3289.84-setopaque.patch deleted file mode 100644 index 8fb585a..0000000 --- a/chromium-63.0.3289.84-setopaque.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque chromium-63.0.3239.84/cc/blink/web_layer_impl.h ---- chromium-63.0.3239.84/cc/blink/web_layer_impl.h.setopaque 2017-12-07 10:47:48.262446682 -0500 -+++ chromium-63.0.3239.84/cc/blink/web_layer_impl.h 2017-12-07 10:48:47.437298948 -0500 -@@ -67,7 +67,7 @@ class CC_BLINK_EXPORT WebLayerImpl : pub - void SetIsRootForIsolatedGroup(bool root) override; - bool IsRootForIsolatedGroup() override; - void SetHitTestableWithoutDrawsContent(bool should_hit_test) override; -- void SetOpaque(bool opaque) override; -+ CC_BLINK_EXPORT void SetOpaque(bool opaque) override; - bool Opaque() const override; - void SetPosition(const blink::WebFloatPoint& position) override; - blink::WebFloatPoint GetPosition() const override; diff --git a/chromium-64.0.3282.119-enable-mp3.patch b/chromium-64.0.3282.119-enable-mp3.patch deleted file mode 100644 index 849b5ee..0000000 --- a/chromium-64.0.3282.119-enable-mp3.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 chromium-64.0.3282.119/media/base/mime_util_internal.cc ---- chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 2018-01-24 15:05:48.000000000 -0500 -+++ chromium-64.0.3282.119/media/base/mime_util_internal.cc 2018-01-25 11:18:12.354147726 -0500 -@@ -279,15 +279,19 @@ void MimeUtil::AddSupportedMediaFormats( - CodecSet webm_codecs(webm_audio_codecs); - webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet mp3_codecs{MP3}; -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; -+#else -+ const CodecSet aac{}; -+#endif -+ CodecSet mp4_audio_codecs(aac); -+ mp4_audio_codecs.emplace(MP3); - -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - CodecSet avc_and_aac(aac); - avc_and_aac.emplace(H264); - -- CodecSet mp4_audio_codecs(aac); -- mp4_audio_codecs.emplace(MP3); - mp4_audio_codecs.emplace(FLAC); - #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) - mp4_audio_codecs.emplace(AC3); -@@ -329,10 +333,10 @@ void MimeUtil::AddSupportedMediaFormats( - AddContainerWithCodecs("application/ogg", ogg_codecs, false); - AddContainerWithCodecs("audio/flac", implicit_codec, false); - --#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". - AddContainerWithCodecs("audio/mp3", implicit_codec, true); - AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); -+#if BUILDFLAG(USE_PROPRIETARY_CODECS) - AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. - AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); - DCHECK(!mp4_video_codecs.empty()); -@@ -970,7 +974,6 @@ bool MimeUtil::IsCodecProprietary(Codec - case INVALID_CODEC: - case AC3: - case EAC3: -- case MP3: - case MPEG2_AAC: - case MPEG4_AAC: - case H264: -@@ -978,6 +981,7 @@ bool MimeUtil::IsCodecProprietary(Codec - case DOLBY_VISION: - return true; - -+ case MP3: - case PCM: - case VORBIS: - case OPUS: diff --git a/chromium-64.0.3282.119-gcc-constexpr-fix.patch b/chromium-64.0.3282.119-gcc-constexpr-fix.patch deleted file mode 100644 index 57b63cd..0000000 --- a/chromium-64.0.3282.119-gcc-constexpr-fix.patch +++ /dev/null @@ -1,70 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr 2018-01-25 15:50:16.971171007 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h 2018-01-25 15:51:14.158053914 -0500 -@@ -160,7 +160,7 @@ template --const TType *GetForVecMatHelper(unsigned char primarySize) -+constexpr const TType *GetForVecMatHelper(unsigned char primarySize) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -186,7 +186,7 @@ const TType *GetForVecMatHelper(unsigned - template --const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) -+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -208,7 +208,7 @@ const TType *GetForVecMat(unsigned char - } - - template --const TType *GetForVec(TQualifier qualifier, unsigned char size) -+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) - { - switch (qualifier) - { -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr 2018-01-25 15:51:27.670790008 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp 2018-01-25 15:52:04.117077652 -0500 -@@ -189,7 +189,7 @@ TSymbolTable::~TSymbolTable() - pop(); - } - --bool IsGenType(const TType *type) -+constexpr bool IsGenType(const TType *type) - { - if (type) - { -@@ -201,7 +201,7 @@ bool IsGenType(const TType *type) - return false; - } - --bool IsVecType(const TType *type) -+constexpr bool IsVecType(const TType *type) - { - if (type) - { -diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h ---- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr 2018-01-25 15:52:15.042864767 -0500 -+++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h 2018-01-25 15:52:56.763049389 -0500 -@@ -236,13 +236,13 @@ class TType - { - } - -- TBasicType getBasicType() const { return type; } -+ constexpr TBasicType getBasicType() const { return type; } - void setBasicType(TBasicType t); - - TPrecision getPrecision() const { return precision; } - void setPrecision(TPrecision p) { precision = p; } - -- TQualifier getQualifier() const { return qualifier; } -+ constexpr TQualifier getQualifier() const { return qualifier; } - void setQualifier(TQualifier q) { qualifier = q; } - - bool isInvariant() const { return invariant; } diff --git a/chromium-64.0.3282.119-gcc-round-fix.patch b/chromium-64.0.3282.119-gcc-round-fix.patch deleted file mode 100644 index 465808c..0000000 --- a/chromium-64.0.3282.119-gcc-round-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc ---- chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-01-25 12:03:14.696443814 -0500 -+++ chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc 2018-01-25 12:20:26.446448618 -0500 -@@ -10,7 +10,7 @@ - - #include "p2p/base/port.h" - --#include -+#include - - #include - #include diff --git a/chromium-64.0.3282.119-gcc5-r3.patch b/chromium-64.0.3282.119-gcc5-r3.patch deleted file mode 100644 index 3679ecf..0000000 --- a/chromium-64.0.3282.119-gcc5-r3.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff -up chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-01-24 15:05:47.000000000 -0500 -+++ chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h 2018-01-25 11:58:48.251623423 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 -+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 -@@ -137,7 +137,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 -+++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-01-24 15:06:11.000000000 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-01-25 11:58:48.253623376 -0500 -@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-01-25 11:58:48.253623376 -0500 -+++ chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-01-25 12:01:28.769900550 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-64.0.3282.119-gcc5.patch b/chromium-64.0.3282.119-gcc5.patch deleted file mode 100644 index 0fdc39f..0000000 --- a/chromium-64.0.3282.119-gcc5.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-01-25 11:07:27.179175007 -0500 -+++ chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-01-25 11:07:38.037925336 -0500 -@@ -263,7 +263,7 @@ interface WebGL2RenderingContextBase - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2018-01-25 11:11:08.581962228 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h 2018-01-25 11:11:24.062593478 -0500 -@@ -49,7 +49,7 @@ class NodeFilter final { - * to the value of NodeType for the equivalent node type. - */ - enum { -- kShowAll = 0xFFFFFFFF, -+ kShowAll = 256 /* 0xFFFFFFFF */, - kShowElement = 0x00000001, - kShowAttribute = 0x00000002, - kShowText = 0x00000004, -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl ---- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2018-01-25 11:11:34.816335412 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl 2018-01-25 11:12:23.380171262 -0500 -@@ -27,7 +27,7 @@ callback interface NodeFilter { - const unsigned short FILTER_SKIP = 3; - - // Constants for whatToShow -- const unsigned long SHOW_ALL = 0xFFFFFFFF; -+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF - const unsigned long SHOW_ELEMENT = 0x1; - const unsigned long SHOW_ATTRIBUTE = 0x2; // historical - const unsigned long SHOW_TEXT = 0x4; -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl ---- chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2018-01-25 11:12:57.367363214 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2018-01-25 11:13:29.883590960 -0500 -@@ -241,7 +241,7 @@ typedef unsigned long long GLuint64; - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; -@@ -271,7 +271,7 @@ typedef unsigned long long GLuint64; - const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; - const GLenum MAX_ELEMENT_INDEX = 0x8D6B; - const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; -- const GLint TIMEOUT_IGNORED = -1; -+ const GLint TIMEOUT_IGNORED = 256; - - /* WebGL-specific enums */ - const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247; diff --git a/chromium-64.0.3282.119-gcc7.patch b/chromium-64.0.3282.119-gcc7.patch deleted file mode 100644 index 7fe383e..0000000 --- a/chromium-64.0.3282.119-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-01-25 11:15:00.291466617 -0500 -+++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-01-25 11:16:36.159320291 -0500 -@@ -10,6 +10,7 @@ - #include "platform/wtf/Functional.h" - #include "platform/wtf/ThreadSpecific.h" - -+#include - #include - - namespace blink { diff --git a/chromium-64.0.3282.119-memcpy-fix.patch b/chromium-64.0.3282.119-memcpy-fix.patch deleted file mode 100644 index 39c3c25..0000000 --- a/chromium-64.0.3282.119-memcpy-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc ---- chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-01-26 15:04:44.708100850 -0500 -+++ chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc 2018-01-26 15:04:54.234915081 -0500 -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "cc/paint/raw_memory_transfer_cache_entry.h" -+#include - - namespace cc { - diff --git a/chromium-64.0.3282.167-gcc8-fabi11.patch b/chromium-64.0.3282.167-gcc8-fabi11.patch deleted file mode 100644 index 5f0c527..0000000 --- a/chromium-64.0.3282.167-gcc8-fabi11.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py ---- chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py.fabi11 2018-02-19 11:39:15.807713662 -0500 -+++ chromium-64.0.3282.167/tools/gn/bootstrap/bootstrap.py 2018-02-19 11:39:47.038070341 -0500 -@@ -336,6 +336,11 @@ def write_gn_ninja(path, root_gen_dir, o - cflags = os.environ.get('CFLAGS', '').split() - cflags_cc = os.environ.get('CXXFLAGS', '').split() - ldflags = os.environ.get('LDFLAGS', '').split() -+ -+ # Work around GCC8 bug gcc#84286 -+ cflags.extend(['-fabi-version=11']) -+ cflags_cc.extend(['-fabi-version=11']) -+ - include_dirs = [root_gen_dir, SRC_ROOT] - libs = [] - diff --git a/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch b/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch deleted file mode 100644 index 6cf8ca8..0000000 --- a/chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.noncopyable chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.noncopyable 2018-03-13 16:52:15.953729689 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 16:53:55.365792522 -0400 -@@ -45,6 +45,15 @@ struct OptionalStorageBase { - - // When T is not trivially destructible we must call its - // destructor before deallocating its memory. -+ // Note that this hides the (implicitly declared) move constructor, which -+ // would be used for constexpr move constructor in OptionalStorage. -+ // It is needed iff T is trivially move constructible. However, the current -+ // is_trivially_{copy,move}_constructible implementation requires -+ // is_trivially_destructible (which looks a bug, cf: -+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452 and -+ // http://cplusplus.github.io/LWG/lwg-active.html#2116), so it is not -+ // necessary for this case at the moment. Please see also the destructor -+ // comment in "is_trivially_destructible = true" specialization below. - ~OptionalStorageBase() { - if (!is_null_) - value_.~T(); -@@ -78,9 +87,18 @@ struct OptionalStorageBase(args)...) {} - - // When T is trivially destructible (i.e. its destructor does nothing) there -- // is no need to call it. Explicitly defaulting the destructor means it's not -- // user-provided. Those two together make this destructor trivial. -- ~OptionalStorageBase() = default; -+ // is no need to call it. Implicitly defined destructor is trivial, because -+ // both members (bool and union containing only variants which are trivially -+ // destructible) are trivially destructible. -+ // Explicitly-defaulted destructor is also trivial, but do not use it here, -+ // because it hides the implicit move constructor. It is needed to implement -+ // constexpr move constructor in OptionalStorage iff T is trivially move -+ // constructible. Note that, if T is trivially move constructible, the move -+ // constructor of OptionalStorageBase is also implicitly defined and it is -+ // trivially move constructor. If T is not trivially move constructible, -+ // "not declaring move constructor without destructor declaration" here means -+ // "delete move constructor", which works because any move constructor of -+ // OptionalStorage will not refer to it in that case. - - template - void Init(Args&&... args) { diff --git a/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch b/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch deleted file mode 100644 index dbdf68f..0000000 --- a/chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp.GetString 2018-03-13 22:54:27.262671113 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp 2018-03-13 22:55:47.722113713 -0400 -@@ -68,7 +68,7 @@ v8::Local ToV8(const IDBKeyPa - case IDBKeyPath::kNullType: - return v8::Null(isolate); - case IDBKeyPath::kStringType: -- return V8String(isolate, value.String()); -+ return V8String(isolate, value.GetString()); - case IDBKeyPath::kArrayType: - return ToV8(value.Array(), creation_context, isolate); - } -@@ -97,7 +97,7 @@ v8::Local ToV8(const IDBKey* - case IDBKey::kNumberType: - return v8::Number::New(isolate, key->Number()); - case IDBKey::kStringType: -- return V8String(isolate, key->String()); -+ return V8String(isolate, key->GetString()); - case IDBKey::kBinaryType: - // https://w3c.github.io/IndexedDB/#convert-a-value-to-a-key - return ToV8(DOMArrayBuffer::Create(key->Binary()), creation_context, -@@ -379,7 +379,7 @@ static std::unique_ptr CreateIDB - } - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.String(), -+ return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.GetString(), - exception_state); - } - -@@ -483,7 +483,7 @@ bool InjectV8KeyIntoV8Value(v8::Isolate* - DCHECK(isolate->InContext()); - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - // The conbination of a key generator and an empty key path is forbidden by - // spec. -@@ -569,7 +569,7 @@ bool CanInjectIDBKeyIntoScriptValue(v8:: - const IDBKeyPath& key_path) { - IDB_TRACE("canInjectIDBKeyIntoScriptValue"); - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - if (!key_path_elements.size()) - return false; -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp.GetString 2018-03-13 22:56:04.041798217 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp 2018-03-13 22:56:22.481440993 -0400 -@@ -56,7 +56,7 @@ WebData WebIDBKeyView::Binary() const { - } - - WebString WebIDBKeyView::String() const { -- return private_->String(); -+ return private_->GetString(); - } - - double WebIDBKeyView::Date() const { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp.GetString 2018-03-13 22:56:36.028178758 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp 2018-03-13 22:56:58.846736831 -0400 -@@ -297,7 +297,7 @@ IDBObjectStore* IDBDatabase::createObjec - } - - if (auto_increment && ((key_path.GetType() == IDBKeyPath::kStringType && -- key_path.String().IsEmpty()) || -+ key_path.GetString().IsEmpty()) || - key_path.GetType() == IDBKeyPath::kArrayType)) { - exception_state.ThrowDOMException( - kInvalidAccessError, -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h.GetString 2018-03-13 22:57:13.229458842 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKey.h 2018-03-13 22:57:38.633966776 -0400 -@@ -106,7 +106,7 @@ class MODULES_EXPORT IDBKey { - return binary_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h.GetString 2018-03-13 22:57:51.104725428 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h 2018-03-13 22:58:09.459369906 -0400 -@@ -65,7 +65,7 @@ class MODULES_EXPORT IDBKeyPath { - return array_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp.GetString 2018-03-13 22:58:28.778995834 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp 2018-03-13 22:58:45.044681364 -0400 -@@ -399,7 +399,7 @@ static std::unique_ptr KeyPathF - case IDBKeyPath::kStringType: - key_path = KeyPath::create() - .setType(KeyPath::TypeEnum::String) -- .setString(idb_key_path.String()) -+ .setString(idb_key_path.GetString()) - .build(); - break; - case IDBKeyPath::kArrayType: { diff --git a/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch b/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch deleted file mode 100644 index 8edc424..0000000 --- a/chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.cc ---- chromium-65.0.3325.146/cc/raster/playback_image_provider.cc.pipcc 2018-03-13 22:47:00.271322726 -0400 -+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.cc 2018-03-13 22:47:53.127300060 -0400 -@@ -92,7 +92,6 @@ PlaybackImageProvider::GetDecodedDrawIma - } - - PlaybackImageProvider::Settings::Settings() = default; --PlaybackImageProvider::Settings::Settings(const Settings& other) = default; - PlaybackImageProvider::Settings::~Settings() = default; - - } // namespace cc -diff -up chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc chromium-65.0.3325.146/cc/raster/playback_image_provider.h ---- chromium-65.0.3325.146/cc/raster/playback_image_provider.h.pipcc 2018-03-13 22:48:00.673153629 -0400 -+++ chromium-65.0.3325.146/cc/raster/playback_image_provider.h 2018-03-13 22:48:12.726920597 -0400 -@@ -20,7 +20,6 @@ class CC_EXPORT PlaybackImageProvider : - public: - struct CC_EXPORT Settings { - Settings(); -- Settings(const Settings& other); - ~Settings(); - - // The set of image ids to skip during raster. diff --git a/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch deleted file mode 100644 index 62124be..0000000 --- a/chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h ---- chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h.fulldecl 2018-03-13 16:38:38.870652491 -0400 -+++ chromium-65.0.3325.146/services/preferences/tracked/pref_hash_filter.h 2018-03-13 16:39:02.691186647 -0400 -@@ -21,9 +21,9 @@ - #include "services/preferences/public/interfaces/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/tracked_preference.h" - --class PrefHashStore; - class PrefService; - - namespace base { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.fulldecl 2018-03-13 16:39:13.787970233 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-03-13 16:39:42.614407235 -0400 -@@ -30,6 +30,7 @@ - - #include - #include "modules/webdatabase/DatabaseBasicTypes.h" -+#include "modules/webdatabase/SQLError.h" - #include "modules/webdatabase/SQLStatement.h" - #include "modules/webdatabase/SQLStatementBackend.h" - #include "modules/webdatabase/SQLTransactionStateMachine.h" -@@ -41,7 +42,6 @@ - namespace blink { - - class Database; --class SQLErrorData; - class SQLiteTransaction; - class SQLTransaction; - class SQLTransactionBackend; diff --git a/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch b/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch deleted file mode 100644 index 9c6f315..0000000 --- a/chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc ---- chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc.explicit-std-move 2018-03-13 22:50:41.346043716 -0400 -+++ chromium-65.0.3325.146/content/browser/appcache/appcache_request_handler.cc 2018-03-13 22:51:21.428267583 -0400 -@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre - - SubresourceLoaderParams params; - params.loader_factory_info = factory_ptr.PassInterface(); -- return params; -+ return base::Optional(std::move(params)); - } - - void AppCacheRequestHandler::MaybeCreateSubresourceLoader( -diff -up chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc ---- chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc.explicit-std-move 2018-03-13 22:51:38.133943776 -0400 -+++ chromium-65.0.3325.146/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-03-13 22:51:57.658566347 -0400 -@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M - controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( - provider_host_->controller()); - params.controller_service_worker_info = std::move(controller_info); -- return params; -+ return base::Optional(std::move(params)); - } - - void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( diff --git a/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch deleted file mode 100644 index 809a321..0000000 --- a/chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h ---- chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h.fully-declare 2018-03-13 23:02:13.989635567 -0400 -+++ chromium-65.0.3325.146/components/policy/core/browser/browser_policy_connector_base.h 2018-03-13 23:02:44.318048625 -0400 -@@ -12,13 +12,13 @@ - #include "base/macros.h" - #include "base/optional.h" - #include "components/policy/core/browser/configuration_policy_handler_list.h" -+#include "components/policy/core/common/configuration_policy_provider.h" - #include "components/policy/core/common/schema.h" - #include "components/policy/core/common/schema_registry.h" - #include "components/policy/policy_export.h" - - namespace policy { - --class ConfigurationPolicyProvider; - class PolicyService; - class PolicyServiceImpl; - diff --git a/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch b/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch deleted file mode 100644 index 9b4befe..0000000 --- a/chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.conditional chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.conditional 2018-03-13 22:11:02.328058249 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:12:43.622098296 -0400 -@@ -266,6 +266,58 @@ class OptionalBase { - OptionalStorage storage_; - }; - -+// The following {Copy,Move}{Constructible,Assignable} structs are helpers to -+// implement constructor/assign-operator overloading. Specifically, if T is -+// is not movable but copyable, Optional's move constructor should not -+// participate in overload resolution. This inheritance trick implements that. -+template -+struct CopyConstructible {}; -+ -+template <> -+struct CopyConstructible { -+ constexpr CopyConstructible() = default; -+ constexpr CopyConstructible(const CopyConstructible&) = delete; -+ constexpr CopyConstructible(CopyConstructible&&) = default; -+ CopyConstructible& operator=(const CopyConstructible&) = default; -+ CopyConstructible& operator=(CopyConstructible&&) = default; -+}; -+ -+template -+struct MoveConstructible {}; -+ -+template <> -+struct MoveConstructible { -+ constexpr MoveConstructible() = default; -+ constexpr MoveConstructible(const MoveConstructible&) = default; -+ constexpr MoveConstructible(MoveConstructible&&) = delete; -+ MoveConstructible& operator=(const MoveConstructible&) = default; -+ MoveConstructible& operator=(MoveConstructible&&) = default; -+}; -+ -+template -+struct CopyAssignable {}; -+ -+template <> -+struct CopyAssignable { -+ constexpr CopyAssignable() = default; -+ constexpr CopyAssignable(const CopyAssignable&) = default; -+ constexpr CopyAssignable(CopyAssignable&&) = default; -+ CopyAssignable& operator=(const CopyAssignable&) = delete; -+ CopyAssignable& operator=(CopyAssignable&&) = default; -+}; -+ -+template -+struct MoveAssignable {}; -+ -+template <> -+struct MoveAssignable { -+ constexpr MoveAssignable() = default; -+ constexpr MoveAssignable(const MoveAssignable&) = default; -+ constexpr MoveAssignable(MoveAssignable&&) = default; -+ MoveAssignable& operator=(const MoveAssignable&) = default; -+ MoveAssignable& operator=(MoveAssignable&&) = delete; -+}; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -280,12 +332,18 @@ class OptionalBase { - // - No exceptions are thrown, because they are banned from Chromium. - // - All the non-members are in the 'base' namespace instead of 'std'. - template --class Optional : public internal::OptionalBase { -+class Optional -+ : public internal::OptionalBase, -+ public internal::CopyConstructible::value>, -+ public internal::MoveConstructible::value>, -+ public internal::CopyAssignable::value && -+ std::is_copy_assignable::value>, -+ public internal::MoveAssignable::value && -+ std::is_move_assignable::value> { - public: - using value_type = T; - - // Defer default/copy/move constructor implementation to OptionalBase. -- // TODO(hidehiko): Implement conditional enabling. - constexpr Optional() = default; - constexpr Optional(const Optional& other) = default; - constexpr Optional(Optional&& other) = default; -@@ -316,7 +374,6 @@ class Optional : public internal::Option - ~Optional() = default; - - // Defer copy-/move- assign operator implementation to OptionalBase. -- // TOOD(hidehiko): Implement conditional enabling. - Optional& operator=(const Optional& other) = default; - Optional& operator=(Optional&& other) = default; - diff --git a/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch b/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch deleted file mode 100644 index 3214104..0000000 --- a/chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.converting chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.converting 2018-03-13 22:31:05.248797490 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:33:10.826368771 -0400 -@@ -31,6 +31,10 @@ constexpr in_place_t in_place = {}; - // http://en.cppreference.com/w/cpp/utility/optional/nullopt - constexpr nullopt_t nullopt(0); - -+// Forward declaration, which is refered by following helpers. -+template -+class Optional; -+ - namespace internal { - - template ::value> -@@ -220,6 +224,19 @@ class OptionalBase { - constexpr explicit OptionalBase(in_place_t, Args&&... args) - : storage_(in_place, std::forward(args)...) {} - -+ // Implementation of converting constructors. -+ template -+ explicit OptionalBase(const OptionalBase& other) { -+ if (other.storage_.is_populated_) -+ storage_.Init(other.storage_.value_); -+ } -+ -+ template -+ explicit OptionalBase(OptionalBase&& other) { -+ if (other.storage_.is_populated_) -+ storage_.Init(std::move(other.storage_.value_)); -+ } -+ - ~OptionalBase() = default; - - OptionalBase& operator=(const OptionalBase& other) { -@@ -263,6 +280,11 @@ class OptionalBase { - storage_.is_populated_ = false; - } - -+ // For implementing conversion, allow access to other typed OptionalBase -+ // class. -+ template -+ friend class OptionalBase; -+ - OptionalStorage storage_; - }; - -@@ -318,6 +340,20 @@ struct MoveAssignable { - MoveAssignable& operator=(MoveAssignable&&) = delete; - }; - -+// Helper to conditionally enable converting constructors. -+template -+struct IsConvertibleFromOptional -+ : std::integral_constant< -+ bool, -+ std::is_constructible&>::value || -+ std::is_constructible&>::value || -+ std::is_constructible&&>::value || -+ std::is_constructible&&>::value || -+ std::is_convertible&, T>::value || -+ std::is_convertible&, T>::value || -+ std::is_convertible&&, T>::value || -+ std::is_convertible&&, T>::value> {}; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -348,7 +384,47 @@ class Optional - constexpr Optional(const Optional& other) = default; - constexpr Optional(Optional&& other) = default; - -- constexpr Optional(nullopt_t) {} -+ constexpr Optional(nullopt_t) {} // NOLINT(runtime/explicit) -+ -+ // Converting copy constructor. "explicit" only if -+ // std::is_convertible::value is false. It is implemented by -+ // declaring two almost same constructors, but that condition in enable_if_t -+ // is different, so that either one is chosen, thanks to SFINAE. -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ std::is_convertible::value, -+ bool> = false> -+ Optional(const Optional& other) : internal::OptionalBase(other) {} -+ -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ !std::is_convertible::value, -+ bool> = false> -+ explicit Optional(const Optional& other) -+ : internal::OptionalBase(other) {} -+ -+ // Converting move constructor. Similar to converting copy constructor, -+ // declaring two (explicit and non-explicit) constructors. -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ std::is_convertible::value, -+ bool> = false> -+ Optional(Optional&& other) : internal::OptionalBase(std::move(other)) {} -+ -+ template < -+ typename U, -+ std::enable_if_t::value && -+ !internal::IsConvertibleFromOptional::value && -+ !std::is_convertible::value, -+ bool> = false> -+ explicit Optional(Optional&& other) -+ : internal::OptionalBase(std::move(other)) {} - - constexpr Optional(const T& value) - : internal::OptionalBase(in_place, value) {} diff --git a/chromium-65.0.3325.146-Implement-value-forward-constructor.patch b/chromium-65.0.3325.146-Implement-value-forward-constructor.patch deleted file mode 100644 index db727d8..0000000 --- a/chromium-65.0.3325.146-Implement-value-forward-constructor.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.vforward chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.vforward 2018-03-13 22:35:46.383359966 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:37:48.724992995 -0400 -@@ -354,6 +354,10 @@ struct IsConvertibleFromOptional - std::is_convertible&&, T>::value || - std::is_convertible&&, T>::value> {}; - -+// Forward compatibility for C++20. -+template -+using RemoveCvRefT = std::remove_cv_t>; -+ - } // namespace internal - - // base::Optional is a Chromium version of the C++17 optional class: -@@ -367,6 +371,13 @@ struct IsConvertibleFromOptional - // - 'constexpr' might be missing in some places for reasons specified locally. - // - No exceptions are thrown, because they are banned from Chromium. - // - All the non-members are in the 'base' namespace instead of 'std'. -+// -+// Note that T cannot have a constructor T(Optional) etc. Optional checks -+// T's constructor (specifically via IsConvertibleFromOptional), and in the -+// check whether T can be constructible from Optional, which is recursive -+// so it does not work. As of Feb 2018, std::optional C++17 implementation in -+// both clang and gcc has same limitation. MSVC SFINAE looks to have different -+// behavior, but anyway it reports an error, too. - template - class Optional - : public internal::OptionalBase, -@@ -426,12 +437,6 @@ class Optional - explicit Optional(Optional&& other) - : internal::OptionalBase(std::move(other)) {} - -- constexpr Optional(const T& value) -- : internal::OptionalBase(in_place, value) {} -- -- constexpr Optional(T&& value) -- : internal::OptionalBase(in_place, std::move(value)) {} -- - template - constexpr explicit Optional(in_place_t, Args&&... args) - : internal::OptionalBase(in_place, std::forward(args)...) {} -@@ -447,6 +452,30 @@ class Optional - Args&&... args) - : internal::OptionalBase(in_place, il, std::forward(args)...) {} - -+ // Forward value constructor. Similar to converting constructors, -+ // conditionally explicit. -+ template < -+ typename U = value_type, -+ std::enable_if_t< -+ std::is_constructible::value && -+ !std::is_same, in_place_t>::value && -+ !std::is_same, Optional>::value && -+ std::is_convertible::value, -+ bool> = false> -+ constexpr Optional(U&& value) -+ : internal::OptionalBase(in_place, std::forward(value)) {} -+ -+ template < -+ typename U = value_type, -+ std::enable_if_t< -+ std::is_constructible::value && -+ !std::is_same, in_place_t>::value && -+ !std::is_same, Optional>::value && -+ !std::is_convertible::value, -+ bool> = false> -+ constexpr explicit Optional(U&& value) -+ : internal::OptionalBase(in_place, std::forward(value)) {} -+ - ~Optional() = default; - - // Defer copy-/move- assign operator implementation to OptionalBase. diff --git a/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch b/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch deleted file mode 100644 index f9c4503..0000000 --- a/chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch +++ /dev/null @@ -1,144 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.ncnm chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.ncnm 2018-03-13 22:40:11.743226276 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:44:30.948211358 -0400 -@@ -240,37 +240,37 @@ class OptionalBase { - ~OptionalBase() = default; - - OptionalBase& operator=(const OptionalBase& other) { -- if (!other.storage_.is_populated_) { -- FreeIfNeeded(); -- return *this; -- } -- -- InitOrAssign(other.storage_.value_); -+ CopyAssign(other); - return *this; - } - - OptionalBase& operator=(OptionalBase&& other) { -- if (!other.storage_.is_populated_) { -- FreeIfNeeded(); -- return *this; -- } -- -- InitOrAssign(std::move(other.storage_.value_)); -+ MoveAssign(std::move(other)); - return *this; - } - -- void InitOrAssign(const T& value) { -- if (!storage_.is_populated_) -- storage_.Init(value); -+ template -+ void CopyAssign(const OptionalBase& other) { -+ if (other.storage_.is_populated_) -+ InitOrAssign(other.storage_.value_); - else -- storage_.value_ = value; -+ FreeIfNeeded(); - } - -- void InitOrAssign(T&& value) { -- if (!storage_.is_populated_) -- storage_.Init(std::move(value)); -+ template -+ void MoveAssign(OptionalBase&& other) { -+ if (other.storage_.is_populated_) -+ InitOrAssign(std::move(other.storage_.value_)); -+ else -+ FreeIfNeeded(); -+ } -+ -+ template -+ void InitOrAssign(U&& value) { -+ if (storage_.is_populated_) -+ storage_.value_ = std::forward(value); - else -- storage_.value_ = std::move(value); -+ storage_.Init(std::forward(value)); - } - - void FreeIfNeeded() { -@@ -340,7 +340,7 @@ struct MoveAssignable { - MoveAssignable& operator=(MoveAssignable&&) = delete; - }; - --// Helper to conditionally enable converting constructors. -+// Helper to conditionally enable converting constructors and assign operators. - template - struct IsConvertibleFromOptional - : std::integral_constant< -@@ -354,6 +354,16 @@ struct IsConvertibleFromOptional - std::is_convertible&&, T>::value || - std::is_convertible&&, T>::value> {}; - -+template -+struct IsAssignableFromOptional -+ : std::integral_constant< -+ bool, -+ IsConvertibleFromOptional::value || -+ std::is_assignable&>::value || -+ std::is_assignable&>::value || -+ std::is_assignable&&>::value || -+ std::is_assignable&&>::value> {}; -+ - // Forward compatibility for C++20. - template - using RemoveCvRefT = std::remove_cv_t>; -@@ -487,14 +497,42 @@ class Optional - return *this; - } - -- template -- typename std::enable_if, T>::value, -- Optional&>::type -+ // Perfect-forwarded assignment. -+ template -+ std::enable_if_t< -+ !std::is_same, Optional>::value && -+ std::is_constructible::value && -+ std::is_assignable::value && -+ (!std::is_scalar::value || -+ !std::is_same, T>::value), -+ Optional&> - operator=(U&& value) { - InitOrAssign(std::forward(value)); - return *this; - } - -+// Copy assign the state of other. -+ template -+ std::enable_if_t::value && -+ std::is_constructible::value && -+ std::is_assignable::value, -+ Optional&> -+ operator=(const Optional& other) { -+ CopyAssign(other); -+ return *this; -+ } -+ -+ // Move assign the state of other. -+ template -+ std::enable_if_t::value && -+ std::is_constructible::value && -+ std::is_assignable::value, -+ Optional&> -+ operator=(Optional&& other) { -+ MoveAssign(std::move(other)); -+ return *this; -+ } -+ - constexpr const T* operator->() const { - DCHECK(storage_.is_populated_); - return &value(); -@@ -606,8 +644,10 @@ class Optional - private: - // Accessing template base class's protected member needs explicit - // declaration to do so. -+ using internal::OptionalBase::CopyAssign; - using internal::OptionalBase::FreeIfNeeded; - using internal::OptionalBase::InitOrAssign; -+ using internal::OptionalBase::MoveAssign; - using internal::OptionalBase::storage_; - }; - diff --git a/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch b/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch deleted file mode 100644 index 8aaea85..0000000 --- a/chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.affirmative chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.affirmative 2018-03-13 22:27:29.451969704 -0400 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-13 22:27:57.031436045 -0400 -@@ -41,7 +41,7 @@ struct OptionalStorageBase { - - template - constexpr explicit OptionalStorageBase(in_place_t, Args&&... args) -- : is_null_(false), value_(std::forward(args)...) {} -+ : is_populated_(true), value_(std::forward(args)...) {} - - // When T is not trivially destructible we must call its - // destructor before deallocating its memory. -@@ -55,18 +55,18 @@ struct OptionalStorageBase { - // necessary for this case at the moment. Please see also the destructor - // comment in "is_trivially_destructible = true" specialization below. - ~OptionalStorageBase() { -- if (!is_null_) -+ if (is_populated_) - value_.~T(); - } - - template - void Init(Args&&... args) { -- DCHECK(is_null_); -+ DCHECK(!is_populated_); - ::new (&value_) T(std::forward(args)...); -- is_null_ = false; -+ is_populated_ = true; - } - -- bool is_null_ = true; -+ bool is_populated_ = false; - union { - // |empty_| exists so that the union will always be initialized, even when - // it doesn't contain a value. Union members must be initialized for the -@@ -84,7 +84,7 @@ struct OptionalStorageBase - constexpr explicit OptionalStorageBase(in_place_t, Args&&... args) -- : is_null_(false), value_(std::forward(args)...) {} -+ : is_populated_(true), value_(std::forward(args)...) {} - - // When T is trivially destructible (i.e. its destructor does nothing) there - // is no need to call it. Implicitly defined destructor is trivial, because -@@ -102,12 +102,12 @@ struct OptionalStorageBase - void Init(Args&&... args) { -- DCHECK(is_null_); -+ DCHECK(!is_populated_); - ::new (&value_) T(std::forward(args)...); -- is_null_ = false; -+ is_populated_ = true; - } - -- bool is_null_ = true; -+ bool is_populated_ = false; - union { - // |empty_| exists so that the union will always be initialized, even when - // it doesn't contain a value. Union members must be initialized for the -@@ -133,7 +133,7 @@ struct OptionalStorage : OptionalStorage - - // Accessing the members of template base class requires explicit - // declaration. -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - -@@ -145,12 +145,12 @@ struct OptionalStorage : OptionalStorage - OptionalStorage() = default; - - OptionalStorage(const OptionalStorage& other) { -- if (!other.is_null_) -+ if (other.is_populated_) - Init(other.value_); - } - - OptionalStorage(OptionalStorage&& other) { -- if (!other.is_null_) -+ if (other.is_populated_) - Init(std::move(other.value_)); - } - }; -@@ -160,7 +160,7 @@ struct OptionalStorage - : OptionalStorageBase { -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - using OptionalStorageBase::OptionalStorageBase; -@@ -169,7 +169,7 @@ struct OptionalStorage - : OptionalStorageBase { -- using OptionalStorageBase::is_null_; -+ using OptionalStorageBase::is_populated_; - using OptionalStorageBase::value_; - using OptionalStorageBase::Init; - using OptionalStorageBase::OptionalStorageBase; -@@ -188,7 +188,7 @@ struct OptionalStorage storage_; -@@ -334,12 +334,12 @@ class Optional : public internal::Option - } - - constexpr const T* operator->() const { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return &value(); - } - - constexpr T* operator->() { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return &value(); - } - -@@ -351,27 +351,27 @@ class Optional : public internal::Option - - constexpr T&& operator*() && { return std::move(value()); } - -- constexpr explicit operator bool() const { return !storage_.is_null_; } -+ constexpr explicit operator bool() const { return storage_.is_populated_; } - -- constexpr bool has_value() const { return !storage_.is_null_; } -+ constexpr bool has_value() const { return storage_.is_populated_; } - - constexpr T& value() & { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return storage_.value_; - } - - constexpr const T& value() const & { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return storage_.value_; - } - - constexpr T&& value() && { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return std::move(storage_.value_); - } - - constexpr const T&& value() const && { -- DCHECK(!storage_.is_null_); -+ DCHECK(storage_.is_populated_); - return std::move(storage_.value_); - } - -@@ -382,8 +382,9 @@ class Optional : public internal::Option - // "T must be copy constructible"); - static_assert(std::is_convertible::value, - "U must be convertible to T"); -- return storage_.is_null_ ? static_cast(std::forward(default_value)) -- : value(); -+ return storage_.is_populated_ -+ ? value() -+ : static_cast(std::forward(default_value)); - } - - template -@@ -393,26 +394,27 @@ class Optional : public internal::Option - // "T must be move constructible"); - static_assert(std::is_convertible::value, - "U must be convertible to T"); -- return storage_.is_null_ ? static_cast(std::forward(default_value)) -- : std::move(value()); -+ return storage_.is_populated_ -+ ? std::move(value()) -+ : static_cast(std::forward(default_value)); - } - - void swap(Optional& other) { -- if (storage_.is_null_ && other.storage_.is_null_) -+ if (!storage_.is_populated_ && !other.storage_.is_populated_) - return; - -- if (storage_.is_null_ != other.storage_.is_null_) { -- if (storage_.is_null_) { -- storage_.Init(std::move(other.storage_.value_)); -- other.FreeIfNeeded(); -- } else { -+ if (storage_.is_populated_ != other.storage_.is_populated_) { -+ if (storage_.is_populated_) { - other.storage_.Init(std::move(storage_.value_)); - FreeIfNeeded(); -+ } else { -+ storage_.Init(std::move(other.storage_.value_)); -+ other.FreeIfNeeded(); - } - return; - } - -- DCHECK(!storage_.is_null_ && !other.storage_.is_null_); -+ DCHECK(storage_.is_populated_ && other.storage_.is_populated_); - using std::swap; - swap(**this, *other); - } diff --git a/chromium-65.0.3325.146-gcc5-r3.patch b/chromium-65.0.3325.146-gcc5-r3.patch deleted file mode 100644 index ab74a35..0000000 --- a/chromium-65.0.3325.146-gcc5-r3.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff -up chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-03-06 18:04:32.000000000 -0500 -+++ chromium-65.0.3325.146/gpu/ipc/common/mailbox_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h ---- chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500 -+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -138,7 +138,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( -diff -up chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-03-06 18:04:37.000000000 -0500 -+++ chromium-65.0.3325.146/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-03-07 10:42:07.198179638 -0500 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-03-06 18:05:06.000000000 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-03-07 10:48:53.996093882 -0500 -@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(length), - data_(data), - data_length_(length), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } -diff -up chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-03-06 18:06:09.000000000 -0500 -+++ chromium-65.0.3325.146/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-03-07 10:42:07.199179616 -0500 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-65.0.3325.146-gcc7.patch b/chromium-65.0.3325.146-gcc7.patch deleted file mode 100644 index 4f2b46c..0000000 --- a/chromium-65.0.3325.146-gcc7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-03-07 10:34:48.783900894 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-03-07 10:35:44.885638503 -0500 -@@ -5,6 +5,7 @@ - #ifndef SharedGpuContext_h - #define SharedGpuContext_h - -+#include - #include - #include "base/callback.h" - #include "base/memory/weak_ptr.h" diff --git a/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch b/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch deleted file mode 100644 index 241dfb5..0000000 --- a/chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up chromium-65.0.3325.146/base/optional.h.784732 chromium-65.0.3325.146/base/optional.h ---- chromium-65.0.3325.146/base/optional.h.784732 2018-03-07 13:40:00.103579631 -0500 -+++ chromium-65.0.3325.146/base/optional.h 2018-03-07 13:41:08.950323996 -0500 -@@ -9,6 +9,7 @@ - #include - - #include "base/logging.h" -+#include "base/template_util.h" - - namespace base { - -@@ -106,7 +107,7 @@ struct OptionalStorageBase::value, -+ bool = is_trivially_copy_constructible::value, - bool = std::is_trivially_move_constructible::value> - struct OptionalStorage : OptionalStorageBase { - // This is no trivially {copy,move} constructible case. Other cases are -diff -up chromium-65.0.3325.146/base/template_util.h.784732 chromium-65.0.3325.146/base/template_util.h ---- chromium-65.0.3325.146/base/template_util.h.784732 2018-03-07 13:41:19.479131969 -0500 -+++ chromium-65.0.3325.146/base/template_util.h 2018-03-07 13:42:41.308639551 -0500 -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - - #include "build/build_config.h" - -@@ -127,6 +128,23 @@ template - using is_trivially_copyable = std::is_trivially_copyable; - #endif - -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+template -+struct is_trivially_copy_constructible -+ : std::is_trivially_copy_constructible {}; -+ -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#else -+// Otherwise use std::is_trivially_copy_constructible as is. -+template -+using is_trivially_copy_constructible = std::is_trivially_copy_constructible; -+#endif -+ - } // namespace base - - #undef CR_USE_FALLBACKS_FOR_GCC_WITH_LIBCXX diff --git a/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch b/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch deleted file mode 100644 index 8b5ff7f..0000000 --- a/chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h.oilpan 2018-03-13 16:45:40.613426445 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/heap/TraceTraits.h 2018-03-13 16:45:49.946244905 -0400 -@@ -18,6 +18,7 @@ - #include "platform/wtf/HashTable.h" - #include "platform/wtf/LinkedHashSet.h" - #include "platform/wtf/ListHashSet.h" -+#include "platform/wtf/Optional.h" - #include "platform/wtf/TypeTraits.h" - - namespace blink { -@@ -325,6 +326,23 @@ class TraceTrait> { - } - }; - -+// While using Optional with garbage-collected types is generally disallowed -+// by the OptionalGarbageCollected check in blink_gc_plugin, garbage-collected -+// containers such as HeapVector are allowed and need to be traced. -+template -+class TraceTrait> { -+ STATIC_ONLY(TraceTrait); -+ -+ public: -+ template -+ static void Trace(VisitorDispatcher visitor, WTF::Optional* optional) { -+ if (*optional != WTF::nullopt) { -+ TraceIfEnabled::value>::Trace(visitor, -+ optional->value()); -+ } -+ } -+}; -+ - // If eager tracing leads to excessively deep |trace()| call chains (and - // the system stack usage that this brings), the marker implementation will - // switch to using an explicit mark stack. Recursive and deep object graphs -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.oilpan 2018-03-13 16:46:01.683015951 -0400 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-13 16:46:51.632043375 -0400 -@@ -7,20 +7,15 @@ - - #include "base/optional.h" - #include "platform/wtf/TemplateUtil.h" --#include "platform/wtf/TypeTraits.h" - - namespace WTF { - - // WTF::Optional is base::Optional. See base/optional.h for documentation. - // - // A clang plugin enforces that garbage collected types are not allocated --// outside of the heap, similarly we enforce that one doesn't create garbage --// collected types nested inside an Optional. -+// outside of the heap. GC containers such as HeapVector are allowed though. - template --using Optional = -- typename std::enable_if::value || -- IsPersistentReferenceType::value, -- base::Optional>::type; -+using Optional = base::Optional; - - constexpr base::nullopt_t nullopt = base::nullopt; - constexpr base::in_place_t in_place = base::in_place; diff --git a/chromium-65.0.3325.146-wtf-vector-fix.patch b/chromium-65.0.3325.146-wtf-vector-fix.patch deleted file mode 100644 index e4bfeba..0000000 --- a/chromium-65.0.3325.146-wtf-vector-fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp 2018-03-07 13:54:42.653286576 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS 2018-03-07 13:55:00.973903591 -0500 -@@ -16,6 +16,7 @@ include_rules = [ - "+base/process/process_metrics.h", - "+base/rand_util.h", - "+base/strings", -+ "+base/template_util.h", - "+base/threading/thread_checker.h", - "+base/time/time.h", - "+base/tuple.h", -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp 2018-03-07 13:56:29.053062331 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h 2018-03-07 13:56:36.595904651 -0500 -@@ -6,6 +6,7 @@ - #define Optional_h - - #include "base/optional.h" -+#include "platform/wtf/TemplateUtil.h" - #include "platform/wtf/TypeTraits.h" - - namespace WTF { -diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h ---- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp 2018-03-07 13:56:47.356679702 -0500 -+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-03-07 13:57:41.769542223 -0500 -@@ -0,0 +1,28 @@ -+// Copyright 2018 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. -+ -+#ifndef TemplateUtil_h -+#define TemplateUtil_h -+ -+#include "base/template_util.h" -+#include "platform/wtf/Vector.h" -+ -+namespace base { -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+// -+// It completes the declaration in base/template_util.h that was provided -+// for std::vector -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ -+} // namespace base -+ -+#endif // TemplateUtil_h -+ diff --git a/chromium-65.0.3325.162-boolfix.patch b/chromium-65.0.3325.162-boolfix.patch deleted file mode 100644 index a27f3a8..0000000 --- a/chromium-65.0.3325.162-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-03-15 13:07:54.999428755 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-03-15 13:08:21.270794252 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-03-15 13:07:09.680523296 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h 2018-03-15 13:07:44.429684037 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h ---- chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-03-15 13:08:33.494499025 -0400 -+++ chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h 2018-03-15 13:10:39.218462546 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-65.0.3325.162-epel7-stdc++.patch b/chromium-65.0.3325.162-epel7-stdc++.patch deleted file mode 100644 index ee2066b..0000000 --- a/chromium-65.0.3325.162-epel7-stdc++.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 chromium-65.0.3325.162/build/config/posix/BUILD.gn ---- chromium-65.0.3325.162/build/config/posix/BUILD.gn.epel7 2018-03-20 16:14:42.425926323 -0400 -+++ chromium-65.0.3325.162/build/config/posix/BUILD.gn 2018-03-20 16:15:10.150152245 -0400 -@@ -74,6 +74,8 @@ config("runtime_library") { - "rt", - ] - } -+ } else { -+ libs += [ "stdc++" ] - } - - if (!is_mac && !is_ios && sysroot != "") { diff --git a/chromium-65.0.3325.162-skia-aarch64-buildfix.patch b/chromium-65.0.3325.162-skia-aarch64-buildfix.patch deleted file mode 100644 index e48346c..0000000 --- a/chromium-65.0.3325.162-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp ---- chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp.aarch64fix 2018-03-15 15:27:35.201345844 -0400 -+++ chromium-65.0.3325.162/third_party/skia/src/jumper/SkJumper_stages.cpp 2018-03-15 15:31:30.471777400 -0400 -@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -686,7 +686,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch deleted file mode 100644 index 36ade41..0000000 --- a/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h ---- chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl 2018-04-25 16:29:52.372692179 -0400 -+++ chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h 2018-04-25 16:31:15.698058409 -0400 -@@ -21,9 +21,9 @@ - #include "services/preferences/public/mojom/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/tracked_preference.h" - --class PrefHashStore; - class PrefService; - - namespace base { -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl 2018-04-17 21:05:12.000000000 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-04-25 16:29:52.373692159 -0400 -@@ -30,6 +30,7 @@ - - #include - #include "modules/webdatabase/DatabaseBasicTypes.h" -+#include "modules/webdatabase/SQLError.h" - #include "modules/webdatabase/SQLStatement.h" - #include "modules/webdatabase/SQLStatementBackend.h" - #include "modules/webdatabase/SQLTransactionStateMachine.h" -@@ -41,7 +42,6 @@ - namespace blink { - - class Database; --class SQLErrorData; - class SQLiteTransaction; - class SQLTransaction; - class SQLTransactionBackend; diff --git a/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch b/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch deleted file mode 100644 index cb68934..0000000 --- a/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc ---- chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix 2018-04-30 14:22:23.997461566 -0400 -+++ chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-04-30 14:22:51.867920383 -0400 -@@ -368,7 +368,7 @@ SupervisedUserURLFilter::GetFilteringBeh - - // Allow navigations to whitelisted origins (currently families.google.com). - static const base::NoDestructor> kWhitelistedOrigins( -- {GURL(kFamiliesUrl).GetOrigin()}); -+ base::flat_set({GURL(kFamiliesUrl).GetOrigin()})); - if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin())) - return ALLOW; - diff --git a/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch deleted file mode 100644 index 09c5b82..0000000 --- a/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.cc ---- chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon 2018-04-23 13:22:43.109126071 -0400 -+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.cc 2018-04-23 13:23:55.761704938 -0400 -@@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_ - PlaybackImageProvider::PlaybackImageProvider( - ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings) -+ base::Optional&& settings) - : cache_(cache), - target_color_space_(target_color_space), - settings_(std::move(settings)) { -@@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawIma - } - - PlaybackImageProvider::Settings::Settings() = default; --PlaybackImageProvider::Settings::Settings(const Settings& other) = default; -+PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) = -+ default; - PlaybackImageProvider::Settings::~Settings() = default; -+PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=( -+ PlaybackImageProvider::Settings&&) = default; - - } // namespace cc -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.h ---- chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon 2018-04-23 13:24:07.699471148 -0400 -+++ chromium-66.0.3359.117/cc/raster/playback_image_provider.h 2018-04-23 13:24:57.080506348 -0400 -@@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider : - public: - struct CC_EXPORT Settings { - Settings(); -- Settings(const Settings& other); -+ Settings(const Settings&) = delete; -+ Settings(Settings&&); - ~Settings(); -+ Settings& operator=(Settings&&); - - // The set of image ids to skip during raster. - PaintImageIdFlatSet images_to_skip; -@@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider : - // If no settings are provided, all images are skipped during rasterization. - PlaybackImageProvider(ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings); -+ base::Optional&& settings); - ~PlaybackImageProvider() override; - - PlaybackImageProvider(PlaybackImageProvider&& other); -diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc diff --git a/chromium-66.0.3359.117-gcc-optional-move-fixes.patch b/chromium-66.0.3359.117-gcc-optional-move-fixes.patch deleted file mode 100644 index 80df7d0..0000000 --- a/chromium-66.0.3359.117-gcc-optional-move-fixes.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc ---- chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove 2018-04-23 12:53:32.419477463 -0400 -+++ chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc 2018-04-23 12:54:02.497887258 -0400 -@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre - - SubresourceLoaderParams params; - params.loader_factory_info = factory_ptr.PassInterface(); -- return params; -+ return base::Optional(std::move(params)); - } - - void AppCacheRequestHandler::MaybeCreateSubresourceLoader( -diff -up chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc ---- chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove 2018-04-23 12:54:16.614610083 -0400 -+++ chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-04-23 12:54:38.401182827 -0400 -@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M - controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( - provider_host_->controller()); - params.controller_service_worker_info = std::move(controller_info); -- return params; -+ return base::Optional(std::move(params)); - } - - void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( -diff -up chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove chromium-66.0.3359.117/device/fido/device_response_converter.cc ---- chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove 2018-04-23 12:54:51.452926482 -0400 -+++ chromium-66.0.3359.117/device/fido/device_response_converter.cc 2018-04-23 12:55:24.248283058 -0400 -@@ -121,7 +121,7 @@ base::Optionalsecond.GetUnsigned()); - } - -- return response; -+ return base::Optional(std::move(response)); - } - - base::Optional ReadCTAPGetInfoResponse( -@@ -241,7 +241,7 @@ base::Optional(std::move(response)); - } - - } // namespace device diff --git a/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch deleted file mode 100644 index b86c200..0000000 --- a/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 2018-04-23 14:18:43.702116916 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS 2018-04-23 14:19:05.854680223 -0400 -@@ -16,6 +16,7 @@ include_rules = [ - "+base/process/process_metrics.h", - "+base/rand_util.h", - "+base/strings", -+ "+base/template_util.h", - "+base/threading/thread_checker.h", - "+base/time/time.h", - "+base/tuple.h", -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 2018-04-23 14:20:05.718499685 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h 2018-04-23 14:20:18.165253615 -0400 -@@ -6,6 +6,7 @@ - #define Optional_h - - #include "base/optional.h" -+#include "platform/wtf/TemplateUtil.h" - - namespace WTF { - -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h ---- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 2018-04-23 14:20:31.660987877 -0400 -+++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-04-23 14:21:40.276637297 -0400 -@@ -0,0 +1,27 @@ -+// Copyright 2018 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. -+ -+#ifndef TemplateUtil_h -+#define TemplateUtil_h -+ -+#include "base/template_util.h" -+#include "platform/wtf/Vector.h" -+ -+namespace base { -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+// -+// It completes the declaration in base/template_util.h that was provided -+// for std::vector -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ -+} // namespace base -+ -+#endif // TemplateUtil_h diff --git a/chromium-66.0.3359.117-gcc5-r3.patch b/chromium-66.0.3359.117-gcc5-r3.patch deleted file mode 100644 index 56abcf1..0000000 --- a/chromium-66.0.3359.117-gcc5-r3.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-04-17 21:04:33.000000000 -0400 -+++ chromium-66.0.3359.117/gpu/ipc/common/mailbox_struct_traits.h 2018-04-18 12:12:40.065663210 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -diff -up chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-04-17 21:04:43.000000000 -0400 -+++ chromium-66.0.3359.117/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-04-18 12:12:40.067663160 -0400 -@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -diff -up chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-04-17 21:06:20.000000000 -0400 -+++ chromium-66.0.3359.117/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-04-18 12:12:40.068663134 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium-66.0.3359.117-nounrar.patch b/chromium-66.0.3359.117-nounrar.patch deleted file mode 100644 index 67a517b..0000000 --- a/chromium-66.0.3359.117-nounrar.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn ---- chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar 2018-04-25 12:17:13.858139109 -0400 -+++ chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn 2018-04-25 12:19:53.639532053 -0400 -@@ -27,9 +27,9 @@ source_set("cpp") { - } - - #TODO(crbug/750327): This dependency is here temporarily. -- deps = [ -- "//third_party/unrar:unrar", -- ] -+ # deps = [ -+ # "//third_party/unrar:unrar", -+ # ] - - public_deps += [ "//chrome/common/safe_browsing" ] - } diff --git a/chromium-66.0.3359.139-arm-init-fix.patch b/chromium-66.0.3359.139-arm-init-fix.patch deleted file mode 100644 index 754af5b..0000000 --- a/chromium-66.0.3359.139-arm-init-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix chromium-66.0.3359.139/skia/ext/convolver_neon.cc ---- chromium-66.0.3359.139/skia/ext/convolver_neon.cc.arm-init-fix 2018-05-05 10:07:03.624424987 -0400 -+++ chromium-66.0.3359.139/skia/ext/convolver_neon.cc 2018-05-05 10:07:45.417503001 -0400 -@@ -23,7 +23,7 @@ AccumRemainder(const unsigned char* pixe - remainder[2] += coeff * pixels_left[i * 4 + 2]; - remainder[3] += coeff * pixels_left[i * 4 + 3]; - } -- return {remainder[0], remainder[1], remainder[2], remainder[3]}; -+ return vld1q_s32(remainder); - } - - // Convolves horizontally along a single row. The row data is given in diff --git a/chromium-66.0.3359.170-gcc8-alignof.patch b/chromium-66.0.3359.170-gcc8-alignof.patch deleted file mode 100644 index 0c2b356..0000000 --- a/chromium-66.0.3359.170-gcc8-alignof.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/mojo/public/c/system/macros.h ---- chromium-66.0.3359.170/mojo/public/c/system/macros.h.gcc8-alignof 2018-05-15 14:58:46.448912634 -0400 -+++ chromium-66.0.3359.170/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 -@@ -18,7 +18,13 @@ - #endif - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/chromium-67.0.3396.62-boolfix.patch b/chromium-67.0.3396.62-boolfix.patch deleted file mode 100644 index d0ed189..0000000 --- a/chromium-67.0.3396.62-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-05-30 04:43:17.000000000 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-05-30 12:33:03.268912315 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-05-30 04:43:17.000000000 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/associated_interface_request.h 2018-05-30 12:33:03.269912294 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_; } -+ explicit operator bool() const { return (bool) handle_; } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h ---- chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-05-30 12:33:03.270912274 -0400 -+++ chromium-67.0.3396.62/mojo/public/cpp/bindings/interface_request.h 2018-05-30 12:34:05.156637922 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch b/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch deleted file mode 100644 index e19d726..0000000 --- a/chromium-67.0.3396.62-crashpad-aarch64-buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S ---- chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S.aarch64fix 2018-06-04 14:58:04.730083967 -0400 -+++ chromium-67.0.3396.62/third_party/crashpad/crashpad/util/misc/capture_context_linux.S 2018-06-04 14:58:24.896572816 -0400 -@@ -288,7 +288,7 @@ CAPTURECONTEXT_SYMBOL2: - #elif defined(__aarch64__) - - // Zero out fault_address, which is unused. -- str x31, [x0, #0xb0] // context->uc_mcontext.fault_address -+ str xzr, [x0, #0xb0] // context->uc_mcontext.fault_address - - // Save general purpose registers in context->uc_mcontext.regs[i]. - // The original x0 can't be recovered. -diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h diff --git a/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch b/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch deleted file mode 100644 index 1aa5600..0000000 --- a/chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py ---- chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py.oldexec 2018-06-06 10:13:40.862084284 -0400 -+++ chromium-67.0.3396.62/tools/gn/bootstrap/bootstrap.py 2018-06-06 10:14:08.809490819 -0400 -@@ -112,7 +112,7 @@ def windows_prepare_toolchain(tempdir): - - _globals = {"__builtins__":None} - _locals = {} -- exec(response, _globals, _locals) -+ exec response in _globals, _locals - - return _locals - diff --git a/chromium-67.0.3396.62-skia-aarch64-buildfix.patch b/chromium-67.0.3396.62-skia-aarch64-buildfix.patch deleted file mode 100644 index 6b37b08..0000000 --- a/chromium-67.0.3396.62-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h ---- chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-05-30 12:38:06.131467092 -0400 -+++ chromium-67.0.3396.62/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-05-30 12:38:39.861734819 -0400 -@@ -653,7 +653,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -673,7 +673,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-67.0.3396.87-fedora-user-agent.patch b/chromium-67.0.3396.87-fedora-user-agent.patch deleted file mode 100644 index 8df304d..0000000 --- a/chromium-67.0.3396.87-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent chromium-67.0.3396.87/content/common/user_agent.cc ---- chromium-67.0.3396.87/content/common/user_agent.cc.fedora-user-agent 2018-06-25 16:01:48.092188102 -0400 -+++ chromium-67.0.3396.87/content/common/user_agent.cc 2018-06-25 16:02:42.634878954 -0400 -@@ -141,7 +141,7 @@ std::string getUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #else diff --git a/chromium-67.0.3396.99-py2-bootstrap.patch b/chromium-67.0.3396.99-py2-bootstrap.patch deleted file mode 100644 index b59c84b..0000000 --- a/chromium-67.0.3396.99-py2-bootstrap.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -up chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-07-25 14:14:02.004886479 -0400 -+++ chromium-67.0.3396.99/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-07-25 14:15:30.167896461 -0400 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,7 @@ def _MinifyCSS(css_text): - os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py')) - - with tempfile.NamedTemporaryFile() as _: -- rcssmin_args = ['python', rcssmin_path] -+ rcssmin_args = ['python2', rcssmin_path] - p = subprocess.Popen(rcssmin_args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, -diff -up chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py ---- chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py.py2 2018-07-24 16:58:53.372022183 -0400 -+++ chromium-67.0.3396.99/tools/gn/bootstrap/bootstrap.py 2018-07-24 17:00:03.200279816 -0400 -@@ -983,7 +983,7 @@ def build_gn_with_gn(temp_gn, build_dir, - gn_gen_args = options.gn_gen_args or '' - if not options.debug: - gn_gen_args += ' is_debug=false' -- cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args, -+ cmd = [temp_gn, 'gen', '--script-executable=/usr/bin/python2', build_dir, '--args=%s' % gn_gen_args, - "--root="+SRC_ROOT - ] - check_call(cmd) -@@ -997,7 +997,7 @@ def build_gn_with_gn(temp_gn, build_dir, - # build.ninja currently refers back to gn from the temporary directory. - # Regenerate the build files using the gn we just built so that the reference - # gets updated to "./gn". -- cmd = [os.path.join(build_dir, 'gn'), 'gen', build_dir, -+ cmd = [os.path.join(build_dir, 'gn'), 'gen', '--script-executable=/usr/bin/python2', build_dir, - '--args=%s' % gn_gen_args] - check_call(cmd) - diff --git a/chromium-68.0.3440.106-fedora-user-agent.patch b/chromium-68.0.3440.106-fedora-user-agent.patch deleted file mode 100644 index 6c4cb82..0000000 --- a/chromium-68.0.3440.106-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent chromium-68.0.3440.106/content/common/user_agent.cc ---- chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent 2018-08-09 03:27:45.965769824 -0400 -+++ chromium-68.0.3440.106/content/common/user_agent.cc 2018-08-09 03:28:34.001586650 -0400 -@@ -135,7 +135,7 @@ std::string getUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-68.0.3440.106-fix-build-networking_private.patch b/chromium-68.0.3440.106-fix-build-networking_private.patch deleted file mode 100644 index 787d3db..0000000 --- a/chromium-68.0.3440.106-fix-build-networking_private.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn ---- chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn.fixb 2018-08-09 03:56:36.091622243 -0400 -+++ chromium-68.0.3440.106/extensions/browser/api/networking_private/BUILD.gn 2018-08-09 03:57:03.047001659 -0400 -@@ -61,7 +61,7 @@ source_set("networking_private") { - ] - deps += [ "//chromeos" ] - } else { -- not_needed(default_sources) -+ not_needed([ "default_sources" ]) - sources = [ - "networking_private_stubs.cc", - ] diff --git a/chromium-68.0.3440.106-notest.patch b/chromium-68.0.3440.106-notest.patch deleted file mode 100644 index c20a40e..0000000 --- a/chromium-68.0.3440.106-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd ---- chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd.notest 2018-08-09 03:08:33.953029806 -0400 -+++ chromium-68.0.3440.106/chrome/test/data/webui_test_resources.grd 2018-08-09 03:09:40.264567818 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-68.0.3440.84-cors-string.patch b/chromium-68.0.3440.84-cors-string.patch deleted file mode 100644 index b724cd4..0000000 --- a/chromium-68.0.3440.84-cors-string.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 01d891fa0790950549c7bedb34edf869827a372e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 31 May 2018 17:03:37 +0000 -Subject: [PATCH] CORS legacy: add missing string include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The cors_legacy.h file includes declarations using std::string, but -it is not declared due to missing #include . - -Also drop unneeded declarations in .cpp file. - -Change-Id: I00df799f84a6c3530c2f12f1e52d24c7d9bd6bfd -Reviewed-on: https://chromium-review.googlesource.com/1080707 -Reviewed-by: Tom Sepez -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#563282} ---- - services/network/public/cpp/cors/cors_legacy.cc | 2 -- - services/network/public/cpp/cors/cors_legacy.h | 1 + - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/services/network/public/cpp/cors/cors_legacy.cc b/services/network/public/cpp/cors/cors_legacy.cc -index 8f32ac3be64e..f01af63619b5 100644 ---- a/services/network/public/cpp/cors/cors_legacy.cc -+++ b/services/network/public/cpp/cors/cors_legacy.cc -@@ -5,8 +5,6 @@ - #include "services/network/public/cpp/cors/cors_legacy.h" - - #include --#include --#include - - #include "url/gurl.h" - #include "url/url_util.h" -diff --git a/services/network/public/cpp/cors/cors_legacy.h b/services/network/public/cpp/cors/cors_legacy.h -index d2cdf026ca3a..dc9295a92c47 100644 ---- a/services/network/public/cpp/cors/cors_legacy.h -+++ b/services/network/public/cpp/cors/cors_legacy.h -@@ -5,6 +5,7 @@ - #ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_ - #define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_ - -+#include - #include - - #include "base/component_export.h" --- -2.17.1 - diff --git a/chromium-68.0.3440.84-libjpeg.patch b/chromium-68.0.3440.84-libjpeg.patch deleted file mode 100644 index 5354281..0000000 --- a/chromium-68.0.3440.84-libjpeg.patch +++ /dev/null @@ -1,62 +0,0 @@ -From c6b0194f7a4d9f494b2d51f46d2c332e2e5f4050 Mon Sep 17 00:00:00 2001 -From: Daniel Bratell -Date: Mon, 28 May 2018 13:13:01 +0000 -Subject: [PATCH] Use the same libjpeg in all of blink/platform - -The normal libjpeg renames some symbols with macros so if its -headers are included together with libjpeg-turbo's headers -in the same translation unit, there will be an inconsistent -renaming of libjpeg symbols. This happened in some extreme -jumbo configuration and resulted in confising linker errors. - -This patch changes an include so that jpeglib.h becomes included -the same way everywhere. - -Change-Id: I7f122d0919d58371bb40dc0097a766b857b9815e -Reviewed-on: https://chromium-review.googlesource.com/1073423 -Reviewed-by: Kentaro Hara -Commit-Queue: Daniel Bratell -Cr-Commit-Position: refs/heads/master@{#562243} ---- - .../renderer/platform/image-encoders/image_encoder.cc | 11 +++++++++++ - .../renderer/platform/image-encoders/image_encoder.h | 2 -- - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -index 0c7f14c7c0e4..4c450f5d6783 100644 ---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc -@@ -4,6 +4,17 @@ - - #include "third_party/blink/renderer/platform/image-encoders/image_encoder.h" - -+#include "build/build_config.h" -+ -+#if defined(OS_WIN) -+#include // Included before jpeglib.h because of INT32 clash -+#endif // OS_WIN -+#include // Needed by jpeglib.h -+ -+#include "jpeglib.h" // for JPEG_MAX_DIMENSION -+ -+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION -+ - namespace blink { - - bool ImageEncoder::Encode(Vector* dst, -diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.h b/third_party/blink/renderer/platform/image-encoders/image_encoder.h -index 0d1460f34827..40306097d507 100644 ---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.h -+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.h -@@ -7,8 +7,6 @@ - - #include "third_party/blink/renderer/platform/platform_export.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" --#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION --#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION - #include "third_party/skia/include/core/SkStream.h" - #include "third_party/skia/include/encode/SkJpegEncoder.h" - #include "third_party/skia/include/encode/SkPngEncoder.h" --- -2.17.1 - diff --git a/chromium-68.0.3440.84-libwebp-shim.patch b/chromium-68.0.3440.84-libwebp-shim.patch deleted file mode 100644 index cb387a4..0000000 --- a/chromium-68.0.3440.84-libwebp-shim.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/build/linux/unbundle/libwebp.gn b/build/linux/unbundle/libwebp.gn -index ab92adecf400..12574d87be58 100644 ---- a/build/linux/unbundle/libwebp.gn -+++ b/build/linux/unbundle/libwebp.gn -@@ -2,12 +2,34 @@ - # 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_libwebp") { -+ packages = [ -+ "libwebp", -+ "libwebpdemux", -+ "libwebpmux", -+ ] -+} -+ -+shim_headers("libwebp_shim") { -+ root_path = "src" -+ headers = [ -+ "webp/decode.h", -+ "webp/demux.h", -+ "webp/encode.h", -+ "webp/mux.h", -+ "webp/mux_types.h", -+ "webp/types.h", -+ ] -+} -+ - source_set("libwebp_webp") { -- libs = [ -- "webp", -- "webpdemux", -- "webpmux", -+ deps = [ -+ ":libwebp_shim", - ] -+ public_configs = [ ":system_libwebp" ] - } - - group("libwebp") { diff --git a/chromium-68.0.3440.84-move-unique-ptr.patch b/chromium-68.0.3440.84-move-unique-ptr.patch deleted file mode 100644 index 2942a8f..0000000 --- a/chromium-68.0.3440.84-move-unique-ptr.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 56cb5f7da1025f6db869e840ed34d3b98b9ab899 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 29 May 2018 16:04:14 +0000 -Subject: [PATCH] GCC: do not std::move unique ptr of forward declared UrlIndex -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC fails to resolve the size of UrlIndex, needed -for moving a std::unique_ptr of UrlIndex. This is because -moved is done on a forward-declared UrlIndex. - -To avoid the problem, move the call to std::move to the .cc -file so the full declaration is available. - -Build error: -../../buildtools/third_party/libc++/trunk/include/memory: In instantiation of ‘void std::__1::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = bookmarks::UrlIndex]’: -../../buildtools/third_party/libc++/trunk/include/memory:2634:22: required from ‘void std::__1::unique_ptr<_Tp, _Dp>::reset(std::__1::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete; std::__1::unique_ptr<_Tp, _Dp>::pointer = bookmarks::UrlIndex*]’ -../../buildtools/third_party/libc++/trunk/include/memory:2588:24: required from ‘std::__1::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = bookmarks::UrlIndex; _Dp = std::__1::default_delete]’ -../../components/bookmarks/browser/bookmark_storage.h:107:76: required from here -../../buildtools/third_party/libc++/trunk/include/memory:2317:25: error: invalid application of ‘sizeof’ to incomplete type ‘bookmarks::UrlIndex’ - static_assert(sizeof(_Tp) > 0, - -Bug: 819294 -Change-Id: I793a807c28e797aaa2e31d9c8b7e09fb6ca6b9e7 -Reviewed-on: https://chromium-review.googlesource.com/1071648 -Commit-Queue: Scott Violet -Reviewed-by: Scott Violet -Cr-Commit-Position: refs/heads/master@{#562446} ---- - components/bookmarks/browser/bookmark_storage.cc | 4 ++++ - components/bookmarks/browser/bookmark_storage.h | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc -index 1633ba1df2a4..3ae0c62292e7 100644 ---- a/components/bookmarks/browser/bookmark_storage.cc -+++ b/components/bookmarks/browser/bookmark_storage.cc -@@ -158,6 +158,10 @@ void BookmarkLoadDetails::CreateUrlIndex() { - url_index_ = std::make_unique(std::move(root_node_)); - } - -+std::unique_ptr BookmarkLoadDetails::owned_url_index() { -+ return std::move(url_index_); -+} -+ - BookmarkPermanentNode* BookmarkLoadDetails::CreatePermanentNode( - BookmarkClient* client, - BookmarkNode::Type type) { -diff --git a/components/bookmarks/browser/bookmark_storage.h b/components/bookmarks/browser/bookmark_storage.h -index 08df5bb65d83..0a1b1a1b65b9 100644 ---- a/components/bookmarks/browser/bookmark_storage.h -+++ b/components/bookmarks/browser/bookmark_storage.h -@@ -104,7 +104,7 @@ class BookmarkLoadDetails { - bool ids_reassigned() const { return ids_reassigned_; } - - void CreateUrlIndex(); -- std::unique_ptr owned_url_index() { return std::move(url_index_); } -+ std::unique_ptr owned_url_index(); - - private: - // Creates one of the possible permanent nodes (bookmark bar node, other node --- -2.17.1 - diff --git a/chromium-69.0.3497.81-gcc8-alignof.patch b/chromium-69.0.3497.81-gcc8-alignof.patch deleted file mode 100644 index 234b391..0000000 --- a/chromium-69.0.3497.81-gcc8-alignof.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof chromium-69.0.3497.81/mojo/public/c/system/macros.h ---- chromium-69.0.3497.81/mojo/public/c/system/macros.h.gcc8-alignof 2018-09-06 10:11:54.336432699 -0400 -+++ chromium-69.0.3497.81/mojo/public/c/system/macros.h 2018-09-06 10:13:56.555727572 -0400 -@@ -27,7 +27,13 @@ - (sizeof(void*) == 4 ? 32 : 0) - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/chromium-69.0.3497.81-norar.patch b/chromium-69.0.3497.81-norar.patch deleted file mode 100644 index 9545b60..0000000 --- a/chromium-69.0.3497.81-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn ---- chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-09-06 13:29:47.114511569 -0400 -+++ chromium-69.0.3497.81/chrome/common/safe_browsing/BUILD.gn 2018-09-06 13:29:47.120511452 -0400 -@@ -55,40 +55,6 @@ if (safe_browsing_mode == 1) { - "//components/safe_browsing:csd_proto", - ] - } -- -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_protection_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } - } - - source_set("safe_browsing") { -@@ -121,7 +87,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_protection_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS ---- chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS.nounrar 2018-09-06 13:29:47.119511472 -0400 -+++ chromium-69.0.3497.81/chrome/common/safe_browsing/DEPS 2018-09-06 13:29:47.116511530 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-09-07 10:10:42.286041744 -0400 -+++ chromium-69.0.3497.81/chrome/services/file_util/safe_archive_analyzer.cc 2018-09-07 10:11:14.934308285 -0400 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-69.0.3497.81-py2-bootstrap.patch b/chromium-69.0.3497.81-py2-bootstrap.patch deleted file mode 100644 index 8a5db71..0000000 --- a/chromium-69.0.3497.81-py2-bootstrap.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ---- chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-09-06 10:45:17.919774145 -0400 -+++ chromium-69.0.3497.81/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-09-06 10:45:17.914774254 -0400 -@@ -58,7 +58,7 @@ def _MinifyJS(input_js): - - with tempfile.NamedTemporaryFile() as _: - args = [ -- 'python', -+ 'python2', - rjsmin_path - ] - p = subprocess.Popen(args, -@@ -177,7 +177,7 @@ def _MinifyCSS(css_text): - os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py')) - - with tempfile.NamedTemporaryFile() as _: -- rcssmin_args = ['python', rcssmin_path] -+ rcssmin_args = ['python2', rcssmin_path] - p = subprocess.Popen(rcssmin_args, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, -diff -up chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py ---- chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py.py2 2018-09-06 10:44:42.225550561 -0400 -+++ chromium-69.0.3497.81/tools/gn/bootstrap/bootstrap.py 2018-09-06 13:06:24.251636231 -0400 -@@ -87,7 +87,7 @@ def main(argv): - if not options.debug: - gn_gen_args += ' is_debug=false' - subprocess.check_call([ -- gn_path, 'gen', out_dir, -+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2', - '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT - ]) - diff --git a/chromium-69.0.3497.81-widevine-r2.patch b/chromium-69.0.3497.81-widevine-r2.patch deleted file mode 100644 index a66a0fb..0000000 --- a/chromium-69.0.3497.81-widevine-r2.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn ---- chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn.wvhack 2018-09-06 13:28:22.655272555 -0400 -+++ chromium-69.0.3497.81/third_party/widevine/cdm/BUILD.gn 2018-09-06 13:28:22.655272555 -0400 -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu -diff -up chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h ---- chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h.wvhack 2018-09-06 13:28:22.654272577 -0400 -+++ chromium-69.0.3497.81/third_party/widevine/cdm/stub/widevine_cdm_version.h 2018-09-06 13:28:22.654272577 -0400 -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/chromium-70.0.3538.110-remove-sysroot-options.patch b/chromium-70.0.3538.110-remove-sysroot-options.patch deleted file mode 100644 index 9eb99d1..0000000 --- a/chromium-70.0.3538.110-remove-sysroot-options.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py ---- chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-11-26 13:40:19.324713204 -0500 -+++ chromium-70.0.3538.110/tools/gn/bootstrap/bootstrap.py 2018-11-26 13:40:43.199180888 -0500 -@@ -46,10 +46,6 @@ def main(argv): - '--build-path', - help='The directory in which to build gn, ' - 'relative to the src directory. (eg. out/Release)') -- parser.add_option( -- '--with-sysroot', -- action='store_true', -- help='Download and build with the Debian sysroot.') - parser.add_option('-v', '--verbose', help='ignored') - options, args = parser.parse_args(argv) - if args: -@@ -71,8 +67,6 @@ def main(argv): - '--no-last-commit-position', - '--out-path=' + gn_build_dir, - ] -- if not options.with_sysroot: -- cmd.append('--no-sysroot') - if options.debug: - cmd.append('--debug') - subprocess.check_call(cmd) diff --git a/chromium-70.0.3538.77-harfbuzz2-fix.patch b/chromium-70.0.3538.77-harfbuzz2-fix.patch deleted file mode 100644 index 2d5602d..0000000 --- a/chromium-70.0.3538.77-harfbuzz2-fix.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Sun, 21 Oct 2018 10:06:53 -0400 -Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t - pointers - -This resolves a build failure against harfbuzz 2.0. - -Based on a patch by Alexandre Fierreira. - -Bug: https://bugs.gentoo.org/669034 ---- - .../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +- - .../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++-- - .../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +- - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -index 8e7d91ca371f..e279a5876cb3 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font, - static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, - void* font_data, - unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned int glyph_stride, - hb_position_t* first_advance, - unsigned int advance_stride, -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -index 77ec6209fab9..9f9070921448 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) { - return reinterpret_cast(reinterpret_cast(p) + byte_size); - } - -+template -+T* advance_by_byte_size_const(T* p, unsigned byte_size) { -+ return reinterpret_cast(reinterpret_cast(p) + byte_size); -+} -+ - } // namespace - - SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { -@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint, - } - - void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* glyphs, -+ const hb_codepoint_t* glyphs, - unsigned glyph_stride, - hb_position_t* advances, - unsigned advance_stride) { -@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, - // array that copy them to a regular array. - Vector glyph_array(count); - for (unsigned i = 0; i < count; -- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { -+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { - glyph_array[i] = *glyphs; - } - Vector sk_width_array(count); -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -index 787d8af0375a..3bc4407c641b 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -@@ -19,7 +19,7 @@ class SkiaTextMetrics final { - - void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); - void GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned glyph_stride, - hb_position_t* first_advance, - unsigned advance_stride); --- -2.19.1 - diff --git a/chromium-71-gcc-0.patch b/chromium-71-gcc-0.patch deleted file mode 100644 index 711b827..0000000 --- a/chromium-71-gcc-0.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 15 Oct 2018 20:26:10 +0000 -Subject: [PATCH] google_util: Explicitly use std::initializer_list with - base::NoDestructor -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components"). -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’: - ../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor()’ is ambiguous - {GOOGLE_TLD_LIST}); - -See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905 - -Bug: 819294 -Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c -Reviewed-on: https://chromium-review.googlesource.com/c/1275854 -Reviewed-by: Peter Kasting -Commit-Queue: Raphael Kubo da Costa (CET) -Cr-Commit-Position: refs/heads/master@{#599733} ---- - components/google/core/common/google_util.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc -index a44c84393820..7733848a0443 100644 ---- a/components/google/core/common/google_util.cc -+++ b/components/google/core/common/google_util.cc -@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host, - StripTrailingDot(&tld); - - static base::NoDestructor> google_tlds( -- {GOOGLE_TLD_LIST}); -+ std::initializer_list({GOOGLE_TLD_LIST})); - return base::ContainsKey(*google_tlds, tld.as_string()); - } - -@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) { - StripTrailingDot(&host); - - static base::NoDestructor> google_subdomains( -- {"ipv4.google.com", "ipv6.google.com"}); -+ std::initializer_list( -+ {"ipv4.google.com", "ipv6.google.com"})); - - return base::ContainsKey(*google_subdomains, host.as_string()); - } --- -2.19.1 - diff --git a/chromium-71.0.3578.98-el7-fix-noexcept.patch b/chromium-71.0.3578.98-el7-fix-noexcept.patch deleted file mode 100644 index 234f0a9..0000000 --- a/chromium-71.0.3578.98-el7-fix-noexcept.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc ---- chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc.fix-noexcept 2019-01-02 14:44:40.449801789 -0500 -+++ chromium-71.0.3578.98/chrome/common/media_router/media_sink.cc 2019-01-02 14:44:54.167481936 -0500 -@@ -24,7 +24,7 @@ MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::Equals(const MediaSink& other) const { - return sink_id_ == other.sink_id_; -diff -up chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept chromium-71.0.3578.98/components/policy/core/common/policy_map.cc ---- chromium-71.0.3578.98/components/policy/core/common/policy_map.cc.fix-noexcept 2019-01-02 12:06:10.867313533 -0500 -+++ chromium-71.0.3578.98/components/policy/core/common/policy_map.cc 2019-01-02 12:06:27.544980078 -0500 -@@ -18,7 +18,7 @@ PolicyMap::Entry::Entry() = default; - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept chromium-71.0.3578.98/components/signin/core/browser/account_info.cc ---- chromium-71.0.3578.98/components/signin/core/browser/account_info.cc.fix-noexcept 2019-01-02 10:57:29.194710662 -0500 -+++ chromium-71.0.3578.98/components/signin/core/browser/account_info.cc 2019-01-02 10:58:57.829965474 -0500 -@@ -32,7 +32,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return account_id.empty() && email.empty() && gaia.empty() && -diff -up chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept chromium-71.0.3578.98/gpu/config/gpu_info.cc ---- chromium-71.0.3578.98/gpu/config/gpu_info.cc.fix-noexcept 2018-12-20 09:50:03.320449807 -0500 -+++ chromium-71.0.3578.98/gpu/config/gpu_info.cc 2018-12-20 09:50:25.768849091 -0500 -@@ -116,7 +116,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-71.0.3578.98-norar.patch b/chromium-71.0.3578.98-norar.patch deleted file mode 100644 index 1259088..0000000 --- a/chromium-71.0.3578.98-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn ---- chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/common/safe_browsing/BUILD.gn 2018-12-14 11:44:52.172805635 -0500 -@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_protection_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -136,7 +102,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_protection_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS ---- chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/common/safe_browsing/DEPS 2018-12-14 11:23:58.628142952 -0500 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2018-12-12 16:56:04.000000000 -0500 -+++ chromium-71.0.3578.98/chrome/services/file_util/safe_archive_analyzer.cc 2018-12-14 11:23:58.628142952 -0500 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-71.0.3578.98-remove-sysroot-options.patch b/chromium-71.0.3578.98-remove-sysroot-options.patch deleted file mode 100644 index a9af73b..0000000 --- a/chromium-71.0.3578.98-remove-sysroot-options.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py ---- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.sysrootfix 2018-12-14 12:52:04.144860836 -0500 -+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 12:57:54.791539599 -0500 -@@ -46,10 +46,6 @@ def main(argv): - '--build-path', - help='The directory in which to build gn, ' - 'relative to the src directory. (eg. out/Release)') -- parser.add_option( -- '--with-sysroot', -- action='store_true', -- help='Download and build with the Debian sysroot.') - parser.add_option('-v', '--verbose', help='ignored') - parser.add_option( - '--skip-generate-buildfiles', -@@ -76,8 +72,6 @@ def main(argv): - '--no-last-commit-position', - '--out-path=' + gn_build_dir, - ] -- if not options.with_sysroot: -- cmd.append('--no-sysroot') - if options.debug: - cmd.append('--debug') - subprocess.check_call(cmd) diff --git a/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch b/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch deleted file mode 100644 index 5b51e3d..0000000 --- a/chromium-71.0.3578.98-vaapi-libva1-compatibility.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc ---- chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc.va1compat 2018-12-17 15:07:48.158717055 -0500 -+++ chromium-71.0.3578.98/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc 2018-12-17 15:09:49.780316983 -0500 -@@ -38,6 +38,10 @@ enum VAJDADecoderFailure { - VAJDA_DECODER_FAILURES_MAX, - }; - -+#ifndef VA_FOURCC_I420 -+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0') -+#endif -+ - static void ReportToUMA(VAJDADecoderFailure failure) { - UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure, - VAJDA_DECODER_FAILURES_MAX + 1); diff --git a/chromium-72.0.3626.121-fix-va-check.patch b/chromium-72.0.3626.121-fix-va-check.patch deleted file mode 100644 index aa0eb71..0000000 --- a/chromium-72.0.3626.121-fix-va-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc ---- chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc.fixvacheck 2019-03-10 14:54:38.744305074 -0400 -+++ chromium-72.0.3626.121/media/gpu/vaapi/vaapi_wrapper.cc 2019-03-10 14:55:34.383221574 -0400 -@@ -334,15 +334,16 @@ bool VADisplayState::InitializeOnce() { - << va_vendor_string_; - - // The VAAPI version is determined from what is loaded on the system by -- // calling vaInitialize(). We want a runtime evaluation of libva version, -- // of what is loaded on the system, with, what browser is compiled with. -- // Also since the libva is now ABI-compatible, relax the version check -- // which helps in upgrading the libva, without breaking any existing -- // functionality. -- if (!VA_CHECK_VERSION(major_version, minor_version, 0)) { -- LOG(ERROR) << "This build of Chromium requires VA-API version " -- << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION -- << ", system version: " << major_version << "." << minor_version; -+ // calling vaInitialize(). Since the libva is now ABI-compatible, relax the -+ // version check which helps in upgrading the libva, without breaking any -+ // existing functionality. Make sure the system version is not older than -+ // the version with which the chromium is built since libva is only -+ // guaranteed to be backward (and not forward) compatible. -+ if (VA_MAJOR_VERSION > major_version || -+ (VA_MAJOR_VERSION == major_version && VA_MINOR_VERSION > minor_version)) { -+ LOG(ERROR) << "The system version " << major_version << "." << minor_version -+ << " should be greater than or equal to " -+ << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION; - return false; - } - return true; diff --git a/chromium-72.0.3626.121-norar.patch b/chromium-72.0.3626.121-norar.patch deleted file mode 100644 index d5d2632..0000000 --- a/chromium-72.0.3626.121-norar.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn ---- chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-10 14:15:47.187705953 -0400 -+++ chromium-72.0.3626.121/chrome/common/safe_browsing/BUILD.gn 2019-03-10 14:16:47.154138649 -0400 -@@ -56,40 +56,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_type_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//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:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -150,7 +116,6 @@ source_set("safe_browsing") { - deps += [ - ":archive_analyzer_results", - ":download_type_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS ---- chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS.nounrar 2019-03-01 23:10:03.000000000 -0500 -+++ chromium-72.0.3626.121/chrome/common/safe_browsing/DEPS 2019-03-10 14:14:55.430058716 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-01 23:10:04.000000000 -0500 -+++ chromium-72.0.3626.121/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-10 14:14:55.433058638 -0400 -@@ -47,9 +47,13 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-73-gcc-0.patch b/chromium-73-gcc-0.patch deleted file mode 100644 index 5a50700..0000000 --- a/chromium-73-gcc-0.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Thu, 7 Feb 2019 22:55:37 +0000 -Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's - positions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build. GCC seems to be stricter with the position of the -linkage specification, so just swap the terms to prevent an error that looks -like: - -In file included from ../../base/allocator/allocator_shim.cc:333: -../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant - #define ALIGN_LINKAGE extern "C" - ^~~ -../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ‘ALIGN_LINKAGE’ - SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, - ^~~~~~~~~~~~~ - -Bug: 819294 -Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50 -Reviewed-on: https://chromium-review.googlesource.com/c/1458256 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Thomas Anderson -Reviewed-by: Primiano Tucci -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630084} ---- - .../allocator_shim_override_cpp_symbols.h | 20 +++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h -index 1228f5e33d28..01d25b7f6437 100644 ---- a/base/allocator/allocator_shim_override_cpp_symbols.h -+++ b/base/allocator/allocator_shim_override_cpp_symbols.h -@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } --- -2.20.1 - diff --git a/chromium-73-gcc-1.patch b/chromium-73-gcc-1.patch deleted file mode 100644 index c3f8e42..0000000 --- a/chromium-73-gcc-1.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 16:58:38 +0000 -Subject: [PATCH] media::learning: Make LabelledExample's move assignment - operator noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The GCC build is currently broken with an error like this: - - ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; - ^~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and TargetValue was missing some assignment operators -and noexcept markers. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 -Reviewed-on: https://chromium-review.googlesource.com/c/1458210 -Commit-Queue: Frank Liberato -Reviewed-by: Frank Liberato -Auto-Submit: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630355} ---- - media/learning/common/labelled_example.cc | 3 ++- - media/learning/common/labelled_example.h | 2 +- - media/learning/common/value.cc | 6 ++++++ - media/learning/common/value.h | 4 ++++ - 4 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc -index 76d08509298e..43e834f9f3cf 100644 ---- a/media/learning/common/labelled_example.cc -+++ b/media/learning/common/labelled_example.cc -@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { - LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = - default; - --LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; -+LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = -+ default; - - TrainingData::TrainingData() = default; - -diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h -index 4f43c54e7a76..365abc3c0ebf 100644 ---- a/media/learning/common/labelled_example.h -+++ b/media/learning/common/labelled_example.h -@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { - bool operator<(const LabelledExample& rhs) const; - - LabelledExample& operator=(const LabelledExample& rhs); -- LabelledExample& operator=(LabelledExample&& rhs); -+ LabelledExample& operator=(LabelledExample&& rhs) noexcept; - - // Observed feature values. - // Note that to interpret these values, you probably need to have the -diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc -index 9c9395c25d4e..12ea399d24c3 100644 ---- a/media/learning/common/value.cc -+++ b/media/learning/common/value.cc -@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} - - Value::Value(const Value& other) : value_(other.value_) {} - -+Value::Value(Value&& rhs) noexcept = default; -+ -+Value& Value::operator=(const Value& rhs) = default; -+ -+Value& Value::operator=(Value&& rhs) noexcept = default; -+ - bool Value::operator==(const Value& rhs) const { - return value_ == rhs.value_; - } -diff --git a/media/learning/common/value.h b/media/learning/common/value.h -index 0e64da961f34..62f4953f691c 100644 ---- a/media/learning/common/value.h -+++ b/media/learning/common/value.h -@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { - explicit Value(const std::string& x); - - Value(const Value& other); -+ Value(Value&&) noexcept; -+ -+ Value& operator=(const Value&); -+ Value& operator=(Value&&) noexcept; - - bool operator==(const Value& rhs) const; - bool operator!=(const Value& rhs) const; --- -2.20.1 - diff --git a/chromium-73-gcc-2.patch b/chromium-73-gcc-2.patch deleted file mode 100644 index 9d1f05a..0000000 --- a/chromium-73-gcc-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 02:57:28 +0000 -Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the build with libstdc++: - - ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: - ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - sqrt - -sqrtf() is not formally part of C++14 as far as I can see even though libc++ -has it in . Additionally, we're only dealing with floats in all parts -of the expression above, so using the float sqrt() overload should be -harmless anyway. - -Bug: 819294 -Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d -Reviewed-on: https://chromium-review.googlesource.com/c/1458193 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Peter Kasting -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630140} ---- - ui/gfx/color_utils.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc -index c868cd54bac3..92ba1407d594 100644 ---- a/ui/gfx/color_utils.cc -+++ b/ui/gfx/color_utils.cc -@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { - // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below - // can be verified by plugging it into how GetContrastRatio() operates. - g_luminance_midpoint = -- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; -+ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - - return previous_darkest_color; - } --- -2.20.1 - diff --git a/chromium-73-gcc-3.patch b/chromium-73-gcc-3.patch deleted file mode 100644 index 9cc6cf2..0000000 --- a/chromium-73-gcc-3.patch +++ /dev/null @@ -1,69 +0,0 @@ -From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 08:44:00 +0000 -Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function ‘bool quic::TypedQuicFlagHelper::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string]’: - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded ‘NoDestructor()’ is ambiguous - {"", "1", "t", "true", "y", "yes"}); - ^ - In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16, - from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5: - ../../base/no_destructor.h:62:3: note: candidate: ‘base::NoDestructor::NoDestructor(const base::NoDestructor&) [with T = std::set >]’ - NoDestructor(const NoDestructor&) = delete; - ^~~~~~~~~~~~ - ../../base/no_destructor.h:60:12: note: candidate: ‘base::NoDestructor::NoDestructor(T&&) [with T = std::set >]’ - explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); } - ^~~~~~~~~~~~ - ../../base/no_destructor.h:59:12: note: candidate: ‘base::NoDestructor::NoDestructor(const T&) [with T = std::set >]’ - explicit NoDestructor(const T& x) { new (storage_) T(x); } - ^~~~~~~~~~~~ - -Explicitly use an std::initializer_list to make the build work everywhere. - -Bug: 819294 -Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8 -Reviewed-on: https://chromium-review.googlesource.com/c/1458214 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Ryan Hamilton -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630249} ---- - net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc -index 5e6962d1e770..3fa45fc6892d 100644 ---- a/net/third_party/quic/platform/impl/quic_flags_impl.cc -+++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc -@@ -5,6 +5,7 @@ - #include "net/third_party/quic/platform/impl/quic_flags_impl.h" - - #include -+#include - #include - #include - -@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const { - template <> - bool TypedQuicFlagHelper::SetFlag(const std::string& s) const { - static const base::NoDestructor> kTrueValues( -- {"", "1", "t", "true", "y", "yes"}); -+ std::initializer_list({"", "1", "t", "true", "y", "yes"})); - static const base::NoDestructor> kFalseValues( -- {"0", "f", "false", "n", "no"}); -+ std::initializer_list({"0", "f", "false", "n", "no"})); - if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { - *flag_ = true; - return true; --- -2.20.1 - diff --git a/chromium-73-gcc-4.patch b/chromium-73-gcc-4.patch deleted file mode 100644 index df7d630..0000000 --- a/chromium-73-gcc-4.patch +++ /dev/null @@ -1,59 +0,0 @@ -From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Wed, 13 Feb 2019 01:02:27 +0000 -Subject: [PATCH] BaseRenderingContext2D: Use base::CheckMul and simplify code - in putImageData() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to commit e0b3253a56 ("Fix image conversion truncation issues"). -The current code does not build with GCC due to -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287: - - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc: In member function ‘void blink::BaseRenderingContext2D::putImageData(blink::ImageData*, int, int, int, int, int, int, blink::ExceptionState&)’: - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc:1777:44: error: default type conversion can't deduce template argument for ‘template::value, void>::type* > constexpr base::internal::StrictNumeric::operator Dst() const [with Dst = Dst; typename std::enable_if::value>::type* = ; T = long unsigned int]’ - new uint8_t[data_length.ValueOrDie()]); - ^ - -Work around it by using the more idiomatic base::CheckMul() with -AssignIfValid, so that we can have |data_length| be a size_t again and not -leave it to the compiler to figure out the type we want when creating the -|converted_pixels| array. - -Bug: 819294 -Change-Id: Id124cc4f3d749b45def4708e21e4badafd708578 -Reviewed-on: https://chromium-review.googlesource.com/c/1467201 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Kentaro Hara -Reviewed-by: Kentaro Hara -Cr-Commit-Position: refs/heads/master@{#631472} ---- - .../canvas/canvas2d/base_rendering_context_2d.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -index d9fa696c9a9d..34a8a202bfd3 100644 ---- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -1769,12 +1769,12 @@ void BaseRenderingContext2D::putImageData(ImageData* data, - CanvasColorParams(ColorParams().ColorSpace(), PixelFormat(), kNonOpaque); - if (data_color_params.NeedsColorConversion(context_color_params) || - PixelFormat() == kF16CanvasPixelFormat) { -- base::CheckedNumeric data_length = data->Size().Area(); -- data_length *= context_color_params.BytesPerPixel(); -- if (!data_length.IsValid()) -+ size_t data_length; -+ if (!base::CheckMul(data->Size().Area(), -+ context_color_params.BytesPerPixel()) -+ .AssignIfValid(&data_length)) - return; -- std::unique_ptr converted_pixels( -- new uint8_t[data_length.ValueOrDie()]); -+ std::unique_ptr converted_pixels(new uint8_t[data_length]); - if (data->ImageDataInCanvasColorSettings( - ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), - kRGBAColorType)) { --- -2.20.1 - diff --git a/chromium-73-gcc-5.patch b/chromium-73-gcc-5.patch deleted file mode 100644 index 033861e..0000000 --- a/chromium-73-gcc-5.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Wed, 13 Feb 2019 23:28:46 +0000 -Subject: [PATCH] CastActivityManager: Do not make DoLaunchSessionParams' move - constructor noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build: - - ../../chrome/browser/media/router/providers/cast/cast_activity_manager.cc:806:1: error: function ‘media_router::CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams(media_router::CastActivityManager::DoLaunchSessionParams&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - ^~~~~~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and MediaRoute, CastMediaSource and url::Origin need -the right annotations. Just making DoLaunchSessionParams not noexcept is the -least intrusive solution for now. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ia3a5fb60b5e74e68bd35cfa50e2fcc728b64e5eb -Reviewed-on: https://chromium-review.googlesource.com/c/1469942 -Commit-Queue: mark a. foltz -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: mark a. foltz -Cr-Commit-Position: refs/heads/master@{#631962} ---- - .../media/router/providers/cast/cast_activity_manager.cc | 2 +- - .../browser/media/router/providers/cast/cast_activity_manager.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -index b7ee9695f69a..8569e0cd30a3 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -@@ -804,7 +804,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - callback(std::move(callback)) {} - - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( -- DoLaunchSessionParams&& other) noexcept = default; -+ DoLaunchSessionParams&& other) = default; - - CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -index 325bffc725ee..08fe0ccca603 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, - const url::Origin& origin, - int tab_id, - mojom::MediaRouteProvider::CreateRouteCallback callback); -- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; -+ DoLaunchSessionParams(DoLaunchSessionParams&& other); - ~DoLaunchSessionParams(); - DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; - --- -2.20.1 - diff --git a/chromium-73-gcc-6.patch b/chromium-73-gcc-6.patch deleted file mode 100644 index 752f83c..0000000 --- a/chromium-73-gcc-6.patch +++ /dev/null @@ -1,88 +0,0 @@ -From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Thu, 14 Feb 2019 22:22:21 +0000 -Subject: [PATCH] chrome/browser: Replace some forward declarations with actual - includes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build which was failing like this: - - ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: - ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ - ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here - ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ - sources_[i]->RemoveObserver(observer_); - ~~~~~~~~~~~~~^~~~~~~~~~~~~~ - -This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace -initialization needlessly invokes destructor"), i.e. having something like - - ScopedObserver observer_{this}; - -in a header declaration requires T and U to be fully declared because -ScopedObserver's destructor references them. In a few cases, T was only -forward-declared. - -Bug: 819294 -Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 -Reviewed-on: https://chromium-review.googlesource.com/c/1472576 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Alan Cutter -Reviewed-by: Finnur Thorarinsson -Reviewed-by: Alan Cutter -Cr-Commit-Position: refs/heads/master@{#632385} ---- - chrome/browser/ui/views/extensions/extension_popup.cc | 1 - - chrome/browser/ui/views/extensions/extension_popup.h | 1 + - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc | 1 - - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h | 2 +- - .../web_applications/extensions/bookmark_app_tab_helper.cc | 1 - - .../web_applications/extensions/bookmark_app_tab_helper.h | 2 +- - 6 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc -index 3f0985d383dd..57d16aba9e9f 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.cc -+++ b/chrome/browser/ui/views/extensions/extension_popup.cc -@@ -8,7 +8,6 @@ - #include "chrome/browser/devtools/devtools_window.h" - #include "chrome/browser/extensions/extension_view_host.h" - #include "chrome/browser/ui/browser.h" --#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "content/public/browser/devtools_agent_host.h" - #include "content/public/browser/notification_details.h" - #include "content/public/browser/notification_source.h" -diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h -index 3661b5bda950..9018efa0fea5 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.h -+++ b/chrome/browser/ui/views/extensions/extension_popup.h -@@ -9,6 +9,7 @@ - #include "base/compiler_specific.h" - #include "base/macros.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - #include "chrome/browser/ui/views/extensions/extension_view_views.h" - #include "content/public/browser/devtools_agent_host_observer.h" -diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -index 2a3ea8e4f91f..ac44a4f05dec 100644 ---- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -@@ -8,6 +8,7 @@ - #include "base/macros.h" - #include "base/memory/weak_ptr.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" - #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" - #include "chrome/browser/ui/views/toolbar/app_menu_observer.h" - #include "ui/views/controls/scroll_view.h" -@@ -15,7 +16,6 @@ class AppMenu; - class AppMenu; - class Browser; - class BrowserActionsContainer; --class ToolbarActionsBar; - - namespace views { - class MenuItemView; diff --git a/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch b/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch deleted file mode 100644 index 8ff952b..0000000 --- a/chromium-73.0.3683.103-glibc-2.29-clone-vfork.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.glibc229 chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ---- chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.glibc229 2019-04-16 11:49:35.353081246 -0400 -+++ chromium-73.0.3683.103/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2019-04-16 11:51:22.105794620 -0400 -@@ -134,7 +134,8 @@ namespace sandbox { - #if !defined(OS_NACL_NONSFI) - // Allow Glibc's and Android pthread creation flags, crash on any other - // thread creation attempts and EPERM attempts to use neither --// CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations. -+// CLONE_VM nor CLONE_THREAD (all fork implementations), unless CLONE_VFORK is -+// present (as in posix_spawn). - ResultExpr RestrictCloneToThreadsAndEPERMFork() { - const Arg flags(0); - -@@ -153,8 +154,14 @@ ResultExpr RestrictCloneToThreadsAndEPER - AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask, - flags == kGlibcPthreadFlags); - -+ const uint64_t kImportantSpawnFlags = CLONE_VFORK | CLONE_VM; -+ -+ const BoolExpr isForkOrSpawn = -+ AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0, -+ (flags & kImportantSpawnFlags) == kImportantSpawnFlags); -+ - return If(IsAndroid() ? android_test : glibc_test, Allow()) -- .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM)) -+ .ElseIf(isForkOrSpawn, Error(EPERM)) - .Else(CrashSIGSYSClone()); - } - diff --git a/chromium-73.0.3683.75-aarch64-crashpad-limits.patch b/chromium-73.0.3683.75-aarch64-crashpad-limits.patch deleted file mode 100644 index 4eb9529..0000000 --- a/chromium-73.0.3683.75-aarch64-crashpad-limits.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc ---- chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc.aarch64-limits 2019-03-15 12:08:21.208676651 -0400 -+++ chromium-73.0.3683.75/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.cc 2019-03-15 12:08:40.934251685 -0400 -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - #include "base/logging.h" - diff --git a/chromium-73.0.3683.75-el7-fix-noexcept.patch b/chromium-73.0.3683.75-el7-fix-noexcept.patch deleted file mode 100644 index 3fc69ba..0000000 --- a/chromium-73.0.3683.75-el7-fix-noexcept.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc ---- chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-03-11 18:00:54.000000000 -0400 -+++ chromium-73.0.3683.75/chrome/common/media_router/media_sink.cc 2019-03-20 09:45:29.400426336 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-73.0.3683.75/components/policy/core/common/policy_map.cc ---- chromium-73.0.3683.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-03-11 18:00:56.000000000 -0400 -+++ chromium-73.0.3683.75/components/policy/core/common/policy_map.cc 2019-03-19 11:11:38.310689134 -0400 -@@ -25,7 +25,7 @@ PolicyMap::Entry::Entry() = default; - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept chromium-73.0.3683.75/components/signin/core/browser/account_info.cc ---- chromium-73.0.3683.75/components/signin/core/browser/account_info.cc.el7-noexcept 2019-03-11 18:00:57.000000000 -0400 -+++ chromium-73.0.3683.75/components/signin/core/browser/account_info.cc 2019-03-19 11:11:38.311689112 -0400 -@@ -50,7 +50,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return account_id.empty() && email.empty() && gaia.empty() && -diff -up chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept chromium-73.0.3683.75/gpu/config/gpu_info.cc ---- chromium-73.0.3683.75/gpu/config/gpu_info.cc.el7-noexcept 2019-03-19 11:12:36.992435015 -0400 -+++ chromium-73.0.3683.75/gpu/config/gpu_info.cc 2019-03-19 11:12:37.061433540 -0400 -@@ -118,7 +118,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-73.0.3683.75-no-header-hygiene.patch b/chromium-73.0.3683.75-no-header-hygiene.patch deleted file mode 100644 index a8d2a19..0000000 --- a/chromium-73.0.3683.75-no-header-hygiene.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn ---- chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn.nohh 2019-03-15 09:02:26.167929864 -0400 -+++ chromium-73.0.3683.75/third_party/swiftshader/third_party/llvm-7.0/BUILD.gn 2019-03-15 09:03:30.334433446 -0400 -@@ -74,9 +74,12 @@ config("swiftshader_llvm_private_config" - "-Wno-unused-private-field", - "-Wno-unused-result", - "-Wno-unused-variable", -- "-Wno-error=header-hygiene", - ] - -+ if (is_clang) { -+ cflags += [ "-Wno-error=header-hygiene" ] -+ } -+ - defines = [ - "__STDC_CONSTANT_MACROS", - "__STDC_LIMIT_MACROS", diff --git a/chromium-gcc5-r3.patch b/chromium-gcc5-r3.patch deleted file mode 100644 index 7605df6..0000000 --- a/chromium-gcc5-r3.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } ---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig 2017-08-15 12:45:59.433532111 +0000 -+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-15 17:52:59.691328825 +0000 -@@ -10,7 +10,7 @@ - - #include "webrtc/modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - ---- a/gpu/ipc/common/mailbox_struct_traits.h -+++ b/gpu/ipc/common/mailbox_struct_traits.h -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; ---- a/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -+++ b/services/viz/public/cpp/compositing/filter_operation_struct_traits.h -@@ -134,7 +134,7 @@ struct StructTraits { - static base::span matrix(const cc::FilterOperation& operation) { - if (operation.type() != cc::FilterOperation::COLOR_MATRIX) - return base::span(); -- return operation.matrix(); -+ return base::make_span(operation.matrix()); - } - - static base::span shape( ---- a/services/viz/public/cpp/compositing/quads_struct_traits.h -+++ b/services/viz/public/cpp/compositing/quads_struct_traits.h -@@ -284,7 +284,7 @@ - - static base::span vertex_opacity(const cc::DrawQuad& input) { - const cc::TextureDrawQuad* quad = cc::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const cc::DrawQuad& input) { ---- a/third_party/WebKit/Source/platform/exported/WebCORS.cpp -+++ b/third_party/WebKit/Source/platform/exported/WebCORS.cpp -@@ -480,7 +480,7 @@ WebString AccessControlErrorString( - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -512,7 +512,7 @@ WebString PreflightErrorString(const PreflightStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - -@@ -533,7 +533,7 @@ WebString RedirectErrorString(const RedirectStatus status, - } - default: - NOTREACHED(); -- return ""; -+ return WebString(); - } - } - diff --git a/chromium-gcc8-r588316.patch b/chromium-gcc8-r588316.patch deleted file mode 100644 index d980805..0000000 --- a/chromium-gcc8-r588316.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 87902b3202f81d689dd314c17006ffc907fe12a1 Mon Sep 17 00:00:00 2001 -From: Wang Qing -Date: Mon, 3 Sep 2018 02:41:08 +0000 -Subject: [PATCH] Fix build error for blink. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This CLs fixed the error of constexpr function call to non-constexpr function. - -Bug: 878202 -Change-Id: I6ad217a687e62a9a384980d852743a56479de3a9 -Reviewed-on: https://chromium-review.googlesource.com/1192467 -Commit-Queue: 汪 清 -Reviewed-by: Eric Willigers -Cr-Commit-Position: refs/heads/master@{#588316} ---- - .../core/animation/animation_time_delta.cc | 22 ++++++++++++++ - .../core/animation/animation_time_delta.h | 30 +++++++------------ - 2 files changed, 32 insertions(+), 20 deletions(-) - -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.cc b/third_party/blink/renderer/core/animation/animation_time_delta.cc -index 1b25469c7f2f..2e30a18890da 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.cc -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.cc -@@ -7,6 +7,28 @@ - namespace blink { - - #if !defined(BLINK_ANIMATION_USE_TIME_DELTA) -+// Comparison operators on AnimationTimeDelta. -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() == rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() != rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() > rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() >= rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() <= rhs.InSecondsF(); -+} -+ - std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time) { - return os << time.InSecondsF() << " s"; - } -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.h b/third_party/blink/renderer/core/animation/animation_time_delta.h -index 1903c1150d3e..95d218466d90 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.h -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.h -@@ -90,26 +90,16 @@ AnimationTimeDelta operator*(T a, AnimationTimeDelta td) { - } - - // Comparison operators on AnimationTimeDelta. --constexpr bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() == rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() != rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() > rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() >= rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() <= rhs.InSecondsF(); --} -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); - - // Defined to allow DCHECK_EQ/etc to work with the class. - CORE_EXPORT std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time); --- -2.17.2 - diff --git a/chromium-gcc8-r588547.patch b/chromium-gcc8-r588547.patch deleted file mode 100644 index 5f12f7f..0000000 --- a/chromium-gcc8-r588547.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e3ad3deb6a6e79284f3748fa7410311d87df91c5 Mon Sep 17 00:00:00 2001 -From: Henrique Nakashima -Date: Tue, 4 Sep 2018 16:49:51 +0000 -Subject: [PATCH] IWYU: stdint.h in pdfium_mem_buffer_file_write.h for uint8_t - -Bug: 879900 -Change-Id: I9c15d1c280a23c53d31f2d72c9d0d1db79eab886 -Reviewed-on: https://chromium-review.googlesource.com/1204410 -Reviewed-by: Lei Zhang -Commit-Queue: Henrique Nakashima -Cr-Commit-Position: refs/heads/master@{#588547} ---- - pdf/pdfium/pdfium_mem_buffer_file_write.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pdf/pdfium/pdfium_mem_buffer_file_write.h b/pdf/pdfium/pdfium_mem_buffer_file_write.h -index 03c54bb63800..82e82d23684d 100644 ---- a/pdf/pdfium/pdfium_mem_buffer_file_write.h -+++ b/pdf/pdfium/pdfium_mem_buffer_file_write.h -@@ -6,6 +6,7 @@ - #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_H_ - - #include -+#include - - #include - --- -2.17.2 - diff --git a/chromium-gcc8-r589614.patch b/chromium-gcc8-r589614.patch deleted file mode 100644 index 0c187fd..0000000 --- a/chromium-gcc8-r589614.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cbdb8bd6567c8143dc8c1e5e86a21a8ea064eea4 Mon Sep 17 00:00:00 2001 -From: Maksim Sisov -Date: Fri, 7 Sep 2018 18:57:42 +0000 -Subject: [PATCH] OmniboxTextView: fix gcc error for structure initialization - -It looks like there is bug in GCC 6, which cannot go through -structure initialization normally. - -Thus, instead of a default initialization of one of the members, -explicitly initialize it to a default value. - -Change-Id: Ia55cc6658e6b6b2f8a80c2582dd28f001c9e648c -Reviewed-on: https://chromium-review.googlesource.com/1213181 -Reviewed-by: Scott Violet -Commit-Queue: Maksim Sisov -Cr-Commit-Position: refs/heads/master@{#589614} ---- - chrome/browser/ui/views/omnibox/omnibox_text_view.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -index f0a8083dc930..9021284f166d 100644 ---- a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -+++ b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc -@@ -175,7 +175,8 @@ void ApplyTextStyleForType(SuggestionAnswer::TextStyle text_style, - style = {part_color, .baseline = gfx::SUPERIOR}; - break; - case SuggestionAnswer::TextStyle::BOLD: -- style = {part_color, .weight = gfx::Font::Weight::BOLD}; -+ style = {part_color, .baseline = gfx::NORMAL_BASELINE, -+ .weight = gfx::Font::Weight::BOLD}; - break; - case SuggestionAnswer::TextStyle::NORMAL: - case SuggestionAnswer::TextStyle::NORMAL_DIM: --- -2.17.2 - diff --git a/chromium-gcc8-r591015.patch b/chromium-gcc8-r591015.patch deleted file mode 100644 index 65c09e8..0000000 --- a/chromium-gcc8-r591015.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e98f8ef8b2f236ecbb01df8c39e6ee1c8fbe8d7d Mon Sep 17 00:00:00 2001 -From: Maksim Sisov -Date: Thu, 13 Sep 2018 15:17:29 +0000 -Subject: [PATCH] ScrollPaintPropertyNode: Rename SnapContainerData() to - GetSnapContainerData() - -GCC is stricter than clang when it comes to class members' names and how -they can change the meaning of a previously existing symbol with the same -name. - -Here is a short error message: - -error: changes meaning of 'SnapContainerData' from 'using SnapContainerData = -class cc::SnapContainerData' [-fpermissive] using SnapContainerData = -cc::SnapContainerData; - -Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel -Change-Id: I0de5460f17b13484253e1ff0538b111c9a3b0d13 -Reviewed-on: https://chromium-review.googlesource.com/1213180 -Commit-Queue: Maksim Sisov -Reviewed-by: Philip Rogers -Cr-Commit-Position: refs/heads/master@{#591015} ---- - .../blink/renderer/core/paint/paint_property_tree_update_tests.cc | 2 +- - .../renderer/platform/graphics/compositing/property_tree_manager.cc | 2 +- - .../blink/renderer/platform/graphics/paint/scroll_paint_property_node.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -index 0d999d45076f..1fe1815a5659 100644 ---- a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -+++ b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc -@@ -1310,7 +1310,7 @@ TEST_P(PaintPropertyTreeUpdateTest, EnsureSnapContainerData) { - GetDocument().View()->Resize(300, 300); - GetDocument().View()->UpdateAllLifecyclePhases(); - -- auto doc_snap_container_data = DocScroll()->SnapContainerData(); -+ auto doc_snap_container_data = DocScroll()->GetSnapContainerData(); - ASSERT_TRUE(doc_snap_container_data); - EXPECT_EQ(doc_snap_container_data->scroll_snap_type().axis, SnapAxis::kBoth); - EXPECT_EQ(doc_snap_container_data->scroll_snap_type().strictness, -diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -index 745b8c8b387e..5f87eeea9435 100644 ---- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -+++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc -@@ -333,7 +333,7 @@ void PropertyTreeManager::CreateCompositorScrollNode( - scroll_node->OverscrollBehaviorX()), - static_cast( - scroll_node->OverscrollBehaviorY())); -- compositor_node.snap_container_data = scroll_node->SnapContainerData(); -+ compositor_node.snap_container_data = scroll_node->GetSnapContainerData(); - - auto compositor_element_id = scroll_node->GetCompositorElementId(); - if (compositor_element_id) { -diff --git a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -index e1479269ccc3..5bd7f65f10ba 100644 ---- a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -+++ b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h -@@ -99,7 +99,7 @@ class PLATFORM_EXPORT ScrollPaintPropertyNode - return state_.overscroll_behavior.y; - } - -- base::Optional SnapContainerData() const { -+ base::Optional GetSnapContainerData() const { - return state_.snap_container_data; - } - --- -2.14.3 - diff --git a/chromium-gn-bootstrap-r17.patch b/chromium-gn-bootstrap-r17.patch deleted file mode 100644 index 6cfd08d..0000000 --- a/chromium-gn-bootstrap-r17.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/tools/gn/bootstrap/bootstrap.py -+++ b/tools/gn/bootstrap/bootstrap.py -@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h', - { -+ 'ENABLE_LOCATION_SOURCE': 'false', - 'ENABLE_PROFILING': 'false', - 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false' - }) -@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options): - - write_gn_ninja(os.path.join(tempdir, 'build.ninja'), - root_gen_dir, options) -- cmd = ['ninja', '-C', tempdir] -+ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - -@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/metrics/bucket_ranges.cc', - 'base/metrics/field_trial.cc', - 'base/metrics/field_trial_param_associator.cc', -+ 'base/metrics/field_trial_params.cc', - 'base/metrics/histogram.cc', - 'base/metrics/histogram_base.cc', - 'base/metrics/histogram_functions.cc', -@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/task_scheduler/scheduler_lock_impl.cc', - 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc', - 'base/task_scheduler/scheduler_worker.cc', -+ 'base/task_scheduler/scheduler_worker_pool.cc', - 'base/task_scheduler/scheduler_worker_pool_impl.cc', - 'base/task_scheduler/scheduler_worker_pool_params.cc', - 'base/task_scheduler/scheduler_worker_stack.cc', -@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/third_party/icu/icu_utf.cc', - 'base/third_party/nspr/prtime.cc', - 'base/threading/post_task_and_reply_impl.cc', -+ 'base/threading/scoped_blocking_call.cc', - 'base/threading/sequence_local_storage_map.cc', - 'base/threading/sequenced_task_runner_handle.cc', - 'base/threading/sequenced_worker_pool.cc', -@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/unguessable_token.cc', - 'base/value_iterators.cc', - 'base/values.cc', -- 'base/value_iterators.cc', - 'base/vlog.cc', - ]) - -@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options): - static_libraries['base']['sources'].extend([ - 'base/memory/shared_memory_handle_posix.cc', - 'base/memory/shared_memory_posix.cc', -- 'base/memory/shared_memory_tracker.cc', - 'base/nix/xdg_util.cc', - 'base/process/internal_linux.cc', - 'base/process/memory_linux.cc', -@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options): - cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args] - check_call(cmd) - -- cmd = ['ninja', '-C', build_dir] -+ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err'] - if options.verbose: - cmd.append('-v') - cmd.append('gn') diff --git a/chromium-math.h-r0.patch b/chromium-math.h-r0.patch deleted file mode 100644 index 6c7c747..0000000 --- a/chromium-math.h-r0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Sat, 27 Jan 2018 20:03:37 +0000 -Subject: [PATCH] Fix build with glibc 2.27 - -BUG=806340 -TBR=hamelphi@chromium.org - -Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e -Reviewed-on: https://chromium-review.googlesource.com/890059 -Reviewed-by: Thomas Anderson -Reviewed-by: Philippe Hamel -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/master@{#532249} ---- - -diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc -index 54d4dbd..ceedd8f 100644 ---- a/components/assist_ranker/ranker_example_util.cc -+++ b/components/assist_ranker/ranker_example_util.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 -+ - #include "components/assist_ranker/ranker_example_util.h" - #include "base/bit_cast.h" - #include "base/format_macros.h" diff --git a/chromium-stdint.patch b/chromium-stdint.patch deleted file mode 100644 index 8774439..0000000 --- a/chromium-stdint.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Wed, 31 Jan 2018 18:57:07 +0000 -Subject: [PATCH] Add missing stdint include - -diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc -index c2ca777ce90c..53cb3aab1576 100644 ---- a/chrome/browser/vr/sample_queue.cc -+++ b/chrome/browser/vr/sample_queue.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 -+ - #include "chrome/browser/vr/sample_queue.h" - - namespace vr { --- -2.16.2 - diff --git a/chromium.spec b/chromium.spec index de018ef..d734490 100644 --- a/chromium.spec +++ b/chromium.spec @@ -174,175 +174,130 @@ License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and Open Patch0: chromium-67.0.3396.62-gcc5.patch Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch -Patch4: chromium-72.0.3626.121-notest.patch +Patch3: chromium-72.0.3626.121-notest.patch +# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) +Patch4: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch +# Ignore deprecations in cups 2.2 +# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 +Patch5: chromium-55.0.2883.75-cups22.patch +# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) +Patch6: chromium-70.0.3538.67-sandbox-pie.patch +# Use /etc/chromium for master_prefs +Patch7: chromium-68.0.3440.106-master-prefs-path.patch +# Use gn system files +Patch8: chromium-67.0.3396.62-gn-system.patch +# Fix issue where timespec is not defined when sys/stat.h is included. +Patch9: chromium-53.0.2785.92-boringssl-time-fix.patch +# I wouldn't have to do this if there was a standard way to append extra compiler flags +Patch10: chromium-63.0.3289.84-nullfix.patch +# Add explicit includedir for jpeglib.h +Patch11: chromium-54.0.2840.59-jpeg-include-dir.patch +# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. +Patch12: chromium-59.0.3071.86-i686-ld-memory-tricks.patch +# Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 +# https://bugs.chromium.org/p/chromium/issues/detail?id=712737 +# https://bugzilla.redhat.com/show_bug.cgi?id=1446851 +Patch13: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch +# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 +Patch14: chromium-64.0.3282.119-ffmpeg-stdatomic.patch +# Nacl can't die soon enough +Patch15: chromium-66.0.3359.117-system-clang.patch +# Do not prefix libpng functions +Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch +# Do not mangle libjpeg +Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch +# Do not mangle zlib +Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +# Fix libavutil include pathing to find arch specific timer.h +# For some reason, this only fails on aarch64. No idea why. +Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch +# from gentoo +Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +# From gentoo +Patch21: chromium-72.0.3626.121-gcc5-r3.patch +# To use round with gcc, you need to #include +Patch22: chromium-65.0.3325.146-gcc-round-fix.patch +# Include proper headers to invoke memcpy() +Patch23: chromium-65.0.3325.146-memcpy-fix.patch +# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return +Patch24: chromium-68.0.3440.106-boolfix.patch +# From Debian +Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch +# Missing files in tarball +Patch26: chromium-66.0.3359.117-missing-files.patch +# Do not use unrar code, it is non-free +Patch27: chromium-73.0.3683.75-norar.patch +# Upstream GCC fixes +Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +# Add "Fedora" to the user agent string +Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +# Try to fix version.py for Rawhide +Patch30: chromium-71.0.3578.98-py2-bootstrap.patch +# Fix default on redeclaration error +# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 +Patch31: chromium-68.0.3440.106-fix-default-on-redeclaration.patch +# Use Gentoo's Widevine hack +# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch +Patch32: chromium-71.0.3578.98-widevine-r3.patch +# Do not require sysroot +# Forget about trying to make libc++ +# BUILD SANELY PLEASE +Patch33: chromium-69.0.3497.81-build-sanely-please.patch +# Disable fontconfig cache magic that breaks remoting +Patch34: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch +# Fix aarch64 build against latest linux kernel headers +Patch35: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) +Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +# Try to load widevine from other places +Patch37: chromium-widevine-other-locations.patch +# Disable -fno-delete-null-pointer-checks +Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +# Add #include to get pipewire code to build +Patch39: chromium-73.0.3683.75-pipewire-cstring-fix.patch +# gcc does not have __assume +Patch40: chromium-75.0.3770.80-gcc-no-assume.patch +# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it +Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch +# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 +Patch42: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch +# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 +# It might make clang happy but it breaks gcc. F*** clang. +Patch43: chromium-75.0.3770.80-revert-daff6b.patch +# Avoid pure virtual crash destroying RenderProcessUserData +# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ +Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch +# rename function to avoid conflict with rawhide glibc "gettid()" +Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch +# fix v8 compile with gcc +# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 +Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch +# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 +Patch47: chromium-75.0.3770.100-git00281713.patch + +# Apply these changes to work around EPEL7 compiler issues +Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch +# Use lstdc++ on EPEL7 only +Patch101: chromium-75.0.3770.100-epel7-stdc++.patch +# el7 only patch +Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch + # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: # ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled # __asm__ __volatile__("mov %%gs, %0" : "=r"(gs)); # ^ # 1 error generated. -Patch6: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch +Patch200: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch # Ignore broken nacl open fd counter -Patch7: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch -# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch9: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch -# Ignore deprecations in cups 2.2 -# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 -Patch12: chromium-55.0.2883.75-cups22.patch -# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -Patch15: chromium-70.0.3538.67-sandbox-pie.patch -# Use /etc/chromium for master_prefs -Patch18: chromium-68.0.3440.106-master-prefs-path.patch -# Disable MADV_FREE (if set by glibc) -# https://bugzilla.redhat.com/show_bug.cgi?id=1361157 -Patch19: chromium-52.0.2743.116-unset-madv_free.patch -# Use gn system files -Patch20: chromium-67.0.3396.62-gn-system.patch -# Fix last commit position issue -# https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/7nlJv486bD4 -# Patch21: chromium-60.0.3112.78-last-commit-position.patch -# Fix issue where timespec is not defined when sys/stat.h is included. -Patch22: chromium-53.0.2785.92-boringssl-time-fix.patch -# I wouldn't have to do this if there was a standard way to append extra compiler flags -Patch24: chromium-63.0.3289.84-nullfix.patch -# Add explicit includedir for jpeglib.h -Patch25: chromium-54.0.2840.59-jpeg-include-dir.patch -# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. -Patch26: chromium-59.0.3071.86-i686-ld-memory-tricks.patch -# obj/content/renderer/renderer/child_frame_compositing_helper.o: In function `content::ChildFrameCompositingHelper::OnSetSurface(cc::SurfaceId const&, gfx::Size const&, float, cc::SurfaceSequence const&)': -# /builddir/build/BUILD/chromium-54.0.2840.90/out/Release/../../content/renderer/child_frame_compositing_helper.cc:214: undefined reference to `cc_blink::WebLayerImpl::setOpaque(bool)' -# Patch27: chromium-63.0.3289.84-setopaque.patch -# Use -fpermissive to build WebKit -# Patch31: chromium-56.0.2924.87-fpermissive.patch -# Fix issue with compilation on gcc7 -# Thanks to Ben Noordhuis -# Patch33: chromium-65.0.3325.146-gcc7.patch -# Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 -# https://bugs.chromium.org/p/chromium/issues/detail?id=712737 -# https://bugzilla.redhat.com/show_bug.cgi?id=1446851 -Patch36: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch -# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch37: chromium-64.0.3282.119-ffmpeg-stdatomic.patch -# Nacl can't die soon enough -Patch39: chromium-66.0.3359.117-system-clang.patch -# Do not prefix libpng functions -Patch42: chromium-60.0.3112.78-no-libpng-prefix.patch -# Do not mangle libjpeg -Patch43: chromium-60.0.3112.78-jpeg-nomangle.patch -# Do not mangle zlib -Patch45: chromium-75.0.3770.80-no-zlib-mangle.patch -# Apply these changes to work around EPEL7 compiler issues -Patch46: chromium-62.0.3202.62-kmaxskip-constexpr.patch -Patch47: chromium-60.0.3112.90-vulkan-force-c99.patch -# Fix libavutil include pathing to find arch specific timer.h -# For some reason, this only fails on aarch64. No idea why. -Patch50: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch -# from gentoo -Patch53: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch -# Only needed when glibc 2.26.90 or later is used -Patch57: chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch -# From gentoo -Patch62: chromium-72.0.3626.121-gcc5-r3.patch -# Do not try to use libc++ in the remoting stack -# Patch63: chromium-63.0.3289.84-nolibc++.patch -# To use round with gcc, you need to #include -Patch65: chromium-65.0.3325.146-gcc-round-fix.patch -# Include proper headers to invoke memcpy() -Patch67: chromium-65.0.3325.146-memcpy-fix.patch -# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch85: chromium-68.0.3440.106-boolfix.patch -# From Debian -Patch86: chromium-71.0.3578.98-skia-aarch64-buildfix.patch -# Use lstdc++ on EPEL7 only -Patch87: chromium-75.0.3770.100-epel7-stdc++.patch -# Missing files in tarball -Patch88: chromium-66.0.3359.117-missing-files.patch -# https://chromium.googlesource.com/chromium/src/+/ba4141e451f4e0b1b19410b1b503bd32e150df06%5E%21/#F0 -# Patch89: chromium-66.0.3359.117-gcc-optional-move-fixes.patch -# https://chromium.googlesource.com/chromium/src/+/4f2b52281ce1649ea8347489443965ad33262ecc%5E%21 -# Patch90: chromium-66.0.3359.117-gcc-copy-constructor-fix.patch -# https://bugs.chromium.org/p/chromium/issues/detail?id=816952 -# Patch91: chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch -# Do not use unrar code, it is non-free -Patch92: chromium-73.0.3683.75-norar.patch -# Upstream GCC fixes -Patch93: chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch -Patch94: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch -# Patch95: chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch -# https://github.com/archlinuxarm/PKGBUILDs/blob/master/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch -# Patch96: chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch -# https://chromium.googlesource.com/chromium/src/+/b84682f31dc99b9c90f5a04947075815697c68d9%5E%21/#F0 -# Patch97: chromium-66.0.3359.139-arm-init-fix.patch -# GCC8 has changed the alignof operator to return the minimal alignment required by the target ABI -# instead of the preferred alignment. This means int64_t is now 4 on i686 (instead of 8). -# Use __alignof__ to get the value we expect (and chromium checks for). -# Patch98: chromium-69.0.3497.81-gcc8-alignof.patch -# RHEL 7 has a bug in its python2.7 which does not propely handle exec with a tuple -# https://bugs.python.org/issue21591 -Patch100: chromium-67.0.3396.62-epel7-use-old-python-exec-syntax.patch -# Add "Fedora" to the user agent string -Patch101: chromium-72.0.3626.121-fedora-user-agent.patch -# Try to fix version.py for Rawhide -Patch103: chromium-71.0.3578.98-py2-bootstrap.patch -# Fix default on redeclaration error -# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 -Patch110: chromium-68.0.3440.106-fix-default-on-redeclaration.patch -# Use Gentoo's Widevine hack -# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch -Patch111: chromium-71.0.3578.98-widevine-r3.patch -# Do not require sysroot -# Forget about trying to make libc++ -# BUILD SANELY PLEASE -Patch112: chromium-69.0.3497.81-build-sanely-please.patch -# Still moar GCC cleanups from upstream -# Patch113: chromium-gcc8-r588316.patch -# Patch114: chromium-gcc8-r588547.patch -# Patch115: chromium-gcc8-r589614.patch -# Patch116: chromium-gcc8-r591015.patch -# Disable fontconfig cache magic that breaks remoting -Patch117: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix aarch64 build against latest linux kernel headers -Patch119: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +Patch201: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch + # Enable VAAPI support on Linux # NOTE: This patch will never land upstream -Patch121: enable-vaapi.patch -Patch122: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch +Patch202: enable-vaapi.patch +Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 -Patch124: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch -# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) -Patch126: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch -# Thanks Ubuntu -# Disable these two patches when v75 lands -Patch130: revert-gn-4980.patch -Patch131: revert-gn-4960.patch -# Try to load widevine from other places -Patch132: chromium-widevine-other-locations.patch -# Disable -fno-delete-null-pointer-checks -Patch135: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Add #include to get pipewire code to build -Patch136: chromium-73.0.3683.75-pipewire-cstring-fix.patch -# el7 only patch -Patch139: chromium-75.0.3770.100-el7-fix-noexcept.patch -# gcc does not have __assume -Patch140: chromium-75.0.3770.80-gcc-no-assume.patch -# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it -Patch141: chromium-75.0.3770.80-SIOCGSTAMP.patch -# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 -Patch142: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch -# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 -# It might make clang happy but it breaks gcc. F*** clang. -Patch143: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch144: chromium-75.0.3770.80-pure-virtual-crash-fix.patch -# rename function to avoid conflict with rawhide glibc "gettid()" -Patch145: chromium-75.0.3770.80-grpc-gettid-fix.patch -# fix v8 compile with gcc -# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch146: chromium-75.0.3770.100-fix-v8-gcc.patch -# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 -Patch147: chromium-75.0.3770.100-git00281713.patch - +Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -837,97 +792,73 @@ udev. %patch0 -p1 -b .gcc5 %patch1 -p1 -b .pathmax %patch2 -p1 -b .addrfix -%patch4 -p1 -b .notest -# %%patch6 -p1 -b .gnu-inline -%patch7 -p1 -b .ignore-fd-count -%patch9 -p1 -b .modern-libusbx -%patch12 -p1 -b .cups22 -%patch15 -p1 -b .sandboxpie -%patch18 -p1 -b .etc -# %%patch19 -p1 -b .madv_free -%patch20 -p1 -b .gnsystem -# %%patch21 -p1 -b .lastcommit -%patch22 -p1 -b .timefix -%patch24 -p1 -b .nullfix -%patch25 -p1 -b .jpegfix -%patch26 -p1 -b .ldmemory -# %%patch27 -p1 -b .setopaque -# %%patch31 -p1 -b .permissive -# %%patch33 -p1 -b .gcc7 -%patch36 -p1 -b .revert -%patch37 -p1 -b .ffmpeg-stdatomic -%patch39 -p1 -b .system-clang -%patch42 -p1 -b .noprefix -%patch43 -p1 -b .nomangle -%patch45 -p1 -b .nozmangle +%patch3 -p1 -b .notest +%patch4 -p1 -b .modern-libusbx +%patch5 -p1 -b .cups22 +%patch6 -p1 -b .sandboxpie +%patch7 -p1 -b .etc +%patch8 -p1 -b .gnsystem +%patch9 -p1 -b .timefix +%patch10 -p1 -b .nullfix +%patch11 -p1 -b .jpegfix +%patch12 -p1 -b .ldmemory +%patch13 -p1 -b .revert +%patch14 -p1 -b .ffmpeg-stdatomic +%patch15 -p1 -b .system-clang +%patch16 -p1 -b .noprefix +%patch17 -p1 -b .nomangle +%patch18 -p1 -b .nozmangle +%patch19 -p1 -b .pathfix +%patch20 -p1 -b .nogccoptmath +%patch21 -p1 -b .gcc5-r3 +%patch22 -p1 -b .gcc-round-fix +%patch23 -p1 -b .memcpyfix +%patch24 -p1 -b .boolfix +%patch25 -p1 -b .aarch64fix +%patch26 -p1 -b .missing-files +%patch27 -p1 -b .nounrar +%patch28 -p1 -b .gcc-cpolicyprovider +%patch29 -p1 -b .fedora-user-agent +%patch30 -p1 -b .py2 +%patch31 -p1 -b .fix-default-redeclaration +%patch32 -p1 -b .wvhack +%patch33 -p1 -b .sanebuild +%patch34 -p1 -b .nofc +%patch35 -p1 -b .aarch64-new-stat +%patch36 -p1 -b .gcc9 +%patch37 -p1 -b .widevine-other-locations +%patch38 -p1 -b .disable-ndnpc +%patch39 -p1 -b .cstring-fix +%patch40 -p1 -b .gcc-assume +%patch41 -p1 -b .SIOCGSTAMP +%patch42 -p1 -b .gcc-dcheck_ne-fix +%patch43 -p1 -b .revert-daff6b +%patch44 -p1 -b .pure-virtual-fix +%patch45 -p1 -b .gettid-fix +%patch46 -p1 -b .fix-v8-gcc +%patch47 -p1 -b .git00281713 + +# EPEL specific patches %if 0%{?rhel} == 7 -%patch46 -p1 -b .kmaxskip -# %%patch47 -p1 -b .c99 +%patch100 -p1 -b .kmaxskip +%patch101 -p1 -b .epel7 +%patch102 -p1 -b .el7-noexcept %endif -%patch50 -p1 -b .pathfix -%patch53 -p1 -b .nogccoptmath -# %%if 0%%{?fedora} >= 28 -# %%patch57 -p1 -b .aarch64glibc -# %%endif -%patch62 -p1 -b .gcc5-r3 -# %%patch63 -p1 -b .nolibc++ -%patch65 -p1 -b .gcc-round-fix -%patch67 -p1 -b .memcpyfix -%patch85 -p1 -b .boolfix -%patch86 -p1 -b .aarch64fix -%if 0%{?rhel} == 7 -%patch87 -p1 -b .epel7 + +# Feature specific patches +%if ! 0%{?killnacl} +%patch200 -p1 -b .gnu-inline +%patch201 -p1 -b .ignore-fd-count %endif -%patch88 -p1 -b .missing -# %%patch89 -p1 -b .gccomove -# %%patch90 -p1 -b .copycon -# %%patch91 -p1 -b .944404 -%patch92 -p1 -b .nounrar -# %%patch93 -p1 -b .gcc-full-decl -%patch94 -p1 -b .gcc-cpolicyprovider -# %%patch95 -p1 -b .gcc-getstring -# %%patch96 -p1 -b .flatsetfix -# %%patch97 -p1 -b .arm-init-fix -# %%patch98 -p1 -b .gcc8-alignof -%if 0%{?rhel} == 7 -# %%patch100 -p1 -b .oldexec -%endif -%patch101 -p1 -b .fedora-user-agent -%patch103 -p1 -b .py2 -# %%patch108 -p1 -b .move-unique-ptr -%patch110 -p1 -b .fix-default-redeclaration -%patch111 -p1 -b .wvhack -%patch112 -p1 -b .sanebuild -# %%patch113 -p1 -b .r588316 -# %%patch114 -p1 -b .r588547 -# %%patch115 -p1 -b .r589614 -# %%patch116 -p1 -b .r591015 -%patch117 -p1 -b .nofc -%patch119 -p1 -b .aarch64-new-stat + %if %{use_vaapi} -%patch121 -p1 -b .vaapi -%endif +%patch202 -p1 -b .vaapi %ifarch i686 -%patch122 -p1 -b .i686permissive +%patch203 -p1 -b .i686permissive +%patch204 -p1 -b .va1compat %endif -%patch124 -p1 -b .va1compat -%patch126 -p1 -b .gcc9 -# %%patch130 -p1 -b .revert-gn-4980 -# %%patch131 -p1 -b .revert-gn-4960 -%patch132 -p1 -b .widevine-other-locations -%patch135 -p1 -b .disable-ndnpc -%patch136 -p1 -b .cstring-fix -%if 0%{?rhel} == 7 -%patch139 -p1 -b .el7-noexcept %endif -%patch140 -p1 -b .gcc-assume -%patch141 -p1 -b .SIOCGSTAMP -%patch142 -p1 -b .gcc-dcheck_ne-fix -%patch143 -p1 -b .revert-daff6b -%patch144 -p1 -b .pure-virtual-fix -%patch145 -p1 -b .gettid-fix -%patch146 -p1 -b .fix-v8-gcc -%patch147 -p1 -b .git00281713 + # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works diff --git a/relax-libva-version.patch b/relax-libva-version.patch deleted file mode 100644 index e297fd6..0000000 --- a/relax-libva-version.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6f1309ef8fe10965e4d0018b4f1b80ac6deccdaa Mon Sep 17 00:00:00 2001 -From: Azhar Shaikh -Date: Fri, 30 Nov 2018 23:11:57 +0000 -Subject: [PATCH] media/gpu/vaapi: Relax the version check for VA-API - -Since the newer versions of VA-API are ABI compatible, relax the -version checks for VA-API, by using VA_CHECK_VERSION(). -This will help in updating the libva to the latest releases, -while still supporting the old versions, till the new version of -libva is merged and picked by the builds. Thus ensuring that -hardware accleration is not broken while updating the libva. - -Bug: 905814 -TEST=libva-2.3.0 and libva-2.1.0 are able to do hardware acceleration. - -Suggested-by: Alexandre Courbot -Signed-off-by: Azhar Shaikh -Change-Id: I510549f72290d20676927eeeeb89a87199c062af -Reviewed-on: https://chromium-review.googlesource.com/c/1352519 -Reviewed-by: Alexandre Courbot -Reviewed-by: Hirokazu Honda -Commit-Queue: Miguel Casas -Cr-Commit-Position: refs/heads/master@{#612832} ---- - -diff --git a/AUTHORS b/AUTHORS -index 567fe15..ff42fc5 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -103,6 +103,7 @@ - Attila Dusnoki - Avinaash Doreswamy - Ayush Khandelwal -+Azhar Shaikh - Balazs Kelemen - Baul Eun - Behara Mani Shyam Patro -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index b415642..053384d 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -333,7 +333,13 @@ - DVLOG(1) << "VAAPI version: " << major_version << "." << minor_version << " " - << va_vendor_string_; - -- if (major_version != VA_MAJOR_VERSION || minor_version != VA_MINOR_VERSION) { -+ // The VAAPI version is determined from what is loaded on the system by -+ // calling vaInitialize(). We want a runtime evaluation of libva version, -+ // of what is loaded on the system, with, what browser is compiled with. -+ // Also since the libva is now ABI-compatible, relax the version check -+ // which helps in upgrading the libva, without breaking any existing -+ // functionality. -+ if (!VA_CHECK_VERSION(major_version, minor_version, 0)) { - LOG(ERROR) << "This build of Chromium requires VA-API version " - << VA_MAJOR_VERSION << "." << VA_MINOR_VERSION - << ", system version: " << major_version << "." << minor_version; diff --git a/revert-gn-4960.patch b/revert-gn-4960.patch deleted file mode 100644 index bb51ada..0000000 --- a/revert-gn-4960.patch +++ /dev/null @@ -1,655 +0,0 @@ -Description: revert https://gn.googlesource.com/gn/+/0d038c2e0a32a528713d3dfaf1f1e0cdfe87fd46, which breaks the chromium build - ---- a/tools/gn/build/gen.py -+++ b/tools/gn/build/gen.py -@@ -522,6 +522,7 @@ def WriteGNNinja(path, platform, host, o - 'tools/gn/setup.cc', - 'tools/gn/source_dir.cc', - 'tools/gn/source_file.cc', -+ 'tools/gn/source_file_type.cc', - 'tools/gn/standard_out.cc', - 'tools/gn/string_utils.cc', - 'tools/gn/substitution_list.cc', ---- a/tools/gn/tools/gn/c_tool.h -+++ b/tools/gn/tools/gn/c_tool.h -@@ -12,6 +12,7 @@ - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - #include "tools/gn/tool.h" ---- a/tools/gn/tools/gn/compile_commands_writer.cc -+++ b/tools/gn/tools/gn/compile_commands_writer.cc -@@ -122,7 +122,7 @@ void WriteCommand(const Target* target, - const CompileFlags& flags, - std::vector& tool_outputs, - PathOutput& path_output, -- SourceFile::Type source_type, -+ SourceFileType source_type, - const char* tool_name, - EscapeOptions opts, - std::string* compile_commands) { -@@ -144,16 +144,16 @@ void WriteCommand(const Target* target, - } else if (range.type == &CSubstitutionCFlags) { - command_out << flags.cflags; - } else if (range.type == &CSubstitutionCFlagsC) { -- if (source_type == SourceFile::SOURCE_C) -+ if (source_type == SOURCE_C) - command_out << flags.cflags_c; - } else if (range.type == &CSubstitutionCFlagsCc) { -- if (source_type == SourceFile::SOURCE_CPP) -+ if (source_type == SOURCE_CPP) - command_out << flags.cflags_cc; - } else if (range.type == &CSubstitutionCFlagsObjC) { -- if (source_type == SourceFile::SOURCE_M) -+ if (source_type == SOURCE_M) - command_out << flags.cflags_objc; - } else if (range.type == &CSubstitutionCFlagsObjCc) { -- if (source_type == SourceFile::SOURCE_MM) -+ if (source_type == SOURCE_MM) - command_out << flags.cflags_objcc; - } else if (range.type == &SubstitutionLabel || - range.type == &SubstitutionLabelName || -@@ -222,11 +222,9 @@ void CompileCommandsWriter::RenderJSON(c - for (const auto& source : target->sources()) { - // If this source is not a C/C++/ObjC/ObjC++ source (not header) file, - // continue as it does not belong in the compilation database. -- SourceFile::Type source_type = source.type(); -- if (source_type != SourceFile::SOURCE_CPP && -- source_type != SourceFile::SOURCE_C && -- source_type != SourceFile::SOURCE_M && -- source_type != SourceFile::SOURCE_MM) -+ SourceFileType source_type = GetSourceFileType(source); -+ if (source_type != SOURCE_CPP && source_type != SOURCE_C && -+ source_type != SOURCE_M && source_type != SOURCE_MM) - continue; - - const char* tool_name = Tool::kToolNone; -@@ -324,4 +322,4 @@ void CompileCommandsWriter::VisitDeps(co - VisitDeps(pair.ptr, visited); - } - } --} -+} -\ No newline at end of file ---- a/tools/gn/tools/gn/general_tool.h -+++ b/tools/gn/tools/gn/general_tool.h -@@ -11,6 +11,7 @@ - #include "base/macros.h" - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - #include "tools/gn/tool.h" ---- a/tools/gn/tools/gn/header_checker.cc -+++ b/tools/gn/tools/gn/header_checker.cc -@@ -18,6 +18,7 @@ - #include "tools/gn/err.h" - #include "tools/gn/filesystem_utils.h" - #include "tools/gn/scheduler.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/target.h" - #include "tools/gn/trace.h" - #include "util/worker_pool.h" -@@ -151,10 +152,9 @@ void HeaderChecker::RunCheckOverFiles(co - - for (const auto& file : files) { - // Only check C-like source files (RC files also have includes). -- SourceFile::Type type = file.first.type(); -- if (type != SourceFile::SOURCE_CPP && type != SourceFile::SOURCE_H && -- type != SourceFile::SOURCE_C && type != SourceFile::SOURCE_M && -- type != SourceFile::SOURCE_MM && type != SourceFile::SOURCE_RC) -+ SourceFileType type = GetSourceFileType(file.first); -+ if (type != SOURCE_CPP && type != SOURCE_H && type != SOURCE_C && -+ type != SOURCE_M && type != SOURCE_MM && type != SOURCE_RC) - continue; - - if (!check_generated_) { ---- a/tools/gn/tools/gn/ninja_binary_target_writer.cc -+++ b/tools/gn/tools/gn/ninja_binary_target_writer.cc -@@ -23,23 +23,22 @@ - #include "tools/gn/ninja_utils.h" - #include "tools/gn/scheduler.h" - #include "tools/gn/settings.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/string_utils.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/target.h" - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::CSourceUsed() { -- return Get(SourceFile::SOURCE_CPP) || Get(SourceFile::SOURCE_H) || -- Get(SourceFile::SOURCE_C) || Get(SourceFile::SOURCE_M) || -- Get(SourceFile::SOURCE_MM) || Get(SourceFile::SOURCE_RC) || -- Get(SourceFile::SOURCE_S); -+ return Get(SOURCE_CPP) || Get(SOURCE_H) || Get(SOURCE_C) || Get(SOURCE_M) || -+ Get(SOURCE_MM) || Get(SOURCE_RC) || Get(SOURCE_S); - } - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::RustSourceUsed() { -- return Get(SourceFile::SOURCE_RS); -+ return Get(SOURCE_RS); - } - - bool NinjaBinaryTargetWriter::SourceFileTypeSet::GoSourceUsed() { -- return Get(SourceFile::SOURCE_GO); -+ return Get(SOURCE_GO); - } - - NinjaBinaryTargetWriter::NinjaBinaryTargetWriter(const Target* target, -@@ -50,6 +49,10 @@ NinjaBinaryTargetWriter::NinjaBinaryTarg - NinjaBinaryTargetWriter::~NinjaBinaryTargetWriter() = default; - - void NinjaBinaryTargetWriter::Run() { -+ SourceFileTypeSet used_types; -+ for (const auto& source : target_->sources()) -+ used_types.Set(GetSourceFileType(source)); -+ - NinjaCBinaryTargetWriter writer(target_, out_); - writer.Run(); - } ---- a/tools/gn/tools/gn/ninja_binary_target_writer.h -+++ b/tools/gn/tools/gn/ninja_binary_target_writer.h -@@ -23,12 +23,11 @@ class NinjaBinaryTargetWriter : public N - class SourceFileTypeSet { - public: - SourceFileTypeSet() { -- memset(flags_, 0, -- sizeof(bool) * static_cast(SourceFile::SOURCE_NUMTYPES)); -+ memset(flags_, 0, sizeof(bool) * static_cast(SOURCE_NUMTYPES)); - } - -- void Set(SourceFile::Type type) { flags_[static_cast(type)] = true; } -- bool Get(SourceFile::Type type) const { -+ void Set(SourceFileType type) { flags_[static_cast(type)] = true; } -+ bool Get(SourceFileType type) const { - return flags_[static_cast(type)]; - } - -@@ -37,7 +36,7 @@ class NinjaBinaryTargetWriter : public N - bool GoSourceUsed(); - - private: -- bool flags_[static_cast(SourceFile::SOURCE_NUMTYPES)]; -+ bool flags_[static_cast(SOURCE_NUMTYPES)]; - }; - - NinjaBinaryTargetWriter(const Target* target, std::ostream& out); ---- a/tools/gn/tools/gn/ninja_c_binary_target_writer.cc -+++ b/tools/gn/tools/gn/ninja_c_binary_target_writer.cc -@@ -24,6 +24,7 @@ - #include "tools/gn/ninja_utils.h" - #include "tools/gn/scheduler.h" - #include "tools/gn/settings.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/string_utils.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/target.h" -@@ -66,27 +67,27 @@ void AddSourceSetObjectFiles(const Targe - if (source_set->GetOutputFilesForSource(source, &tool_name, &tool_outputs)) - obj_files->push_back(tool_outputs[0]); - -- used_types.Set(source.type()); -+ used_types.Set(GetSourceFileType(source)); - } - - // Add MSVC precompiled header object files. GCC .gch files are not object - // files so they are omitted. - if (source_set->config_values().has_precompiled_headers()) { -- if (used_types.Get(SourceFile::SOURCE_C)) { -+ if (used_types.Get(SOURCE_C)) { - const CTool* tool = source_set->toolchain()->GetToolAsC(CTool::kCToolCc); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { - GetPCHOutputFiles(source_set, CTool::kCToolCc, &tool_outputs); - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_CPP)) { -+ if (used_types.Get(SOURCE_CPP)) { - const CTool* tool = source_set->toolchain()->GetToolAsC(CTool::kCToolCxx); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { - GetPCHOutputFiles(source_set, CTool::kCToolCxx, &tool_outputs); - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_M)) { -+ if (used_types.Get(SOURCE_M)) { - const CTool* tool = - source_set->toolchain()->GetToolAsC(CTool::kCToolObjC); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { -@@ -94,7 +95,7 @@ void AddSourceSetObjectFiles(const Targe - obj_files->Append(tool_outputs.begin(), tool_outputs.end()); - } - } -- if (used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_MM)) { - const CTool* tool = - source_set->toolchain()->GetToolAsC(CTool::kCToolObjCxx); - if (tool && tool->precompiled_header_type() == CTool::PCH_MSVC) { -@@ -118,7 +119,7 @@ void NinjaCBinaryTargetWriter::Run() { - // Figure out what source types are needed. - SourceFileTypeSet used_types; - for (const auto& source : target_->sources()) -- used_types.Set(source.type()); -+ used_types.Set(GetSourceFileType(source)); - - WriteCompilerVars(used_types); - -@@ -234,34 +235,31 @@ void NinjaCBinaryTargetWriter::WriteComp - target_->config_values().has_precompiled_headers(); - - EscapeOptions opts = GetFlagOptions(); -- if (used_types.Get(SourceFile::SOURCE_S) || -- used_types.Get(SourceFile::SOURCE_ASM)) { -+ if (used_types.Get(SOURCE_S) || used_types.Get(SOURCE_ASM)) { - WriteOneFlag(target_, &CSubstitutionAsmFlags, false, Tool::kToolNone, - &ConfigValues::asmflags, opts, path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_C) || -- used_types.Get(SourceFile::SOURCE_CPP) || -- used_types.Get(SourceFile::SOURCE_M) || -- used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_C) || used_types.Get(SOURCE_CPP) || -+ used_types.Get(SOURCE_M) || used_types.Get(SOURCE_MM)) { - WriteOneFlag(target_, &CSubstitutionCFlags, false, Tool::kToolNone, - &ConfigValues::cflags, opts, path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_C)) { -+ if (used_types.Get(SOURCE_C)) { - WriteOneFlag(target_, &CSubstitutionCFlagsC, has_precompiled_headers, - CTool::kCToolCc, &ConfigValues::cflags_c, opts, path_output_, - out_); - } -- if (used_types.Get(SourceFile::SOURCE_CPP)) { -+ if (used_types.Get(SOURCE_CPP)) { - WriteOneFlag(target_, &CSubstitutionCFlagsCc, has_precompiled_headers, - CTool::kCToolCxx, &ConfigValues::cflags_cc, opts, path_output_, - out_); - } -- if (used_types.Get(SourceFile::SOURCE_M)) { -+ if (used_types.Get(SOURCE_M)) { - WriteOneFlag(target_, &CSubstitutionCFlagsObjC, has_precompiled_headers, - CTool::kCToolObjC, &ConfigValues::cflags_objc, opts, - path_output_, out_); - } -- if (used_types.Get(SourceFile::SOURCE_MM)) { -+ if (used_types.Get(SOURCE_MM)) { - WriteOneFlag(target_, &CSubstitutionCFlagsObjCc, has_precompiled_headers, - CTool::kCToolObjCxx, &ConfigValues::cflags_objcc, opts, - path_output_, out_); -@@ -321,14 +319,14 @@ void NinjaCBinaryTargetWriter::WritePCHC - - const CTool* tool_c = target_->toolchain()->GetToolAsC(CTool::kCToolCc); - if (tool_c && tool_c->precompiled_header_type() != CTool::PCH_NONE && -- used_types.Get(SourceFile::SOURCE_C)) { -+ used_types.Get(SOURCE_C)) { - WritePCHCommand(&CSubstitutionCFlagsC, CTool::kCToolCc, - tool_c->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); - } - const CTool* tool_cxx = target_->toolchain()->GetToolAsC(CTool::kCToolCxx); - if (tool_cxx && tool_cxx->precompiled_header_type() != CTool::PCH_NONE && -- used_types.Get(SourceFile::SOURCE_CPP)) { -+ used_types.Get(SOURCE_CPP)) { - WritePCHCommand(&CSubstitutionCFlagsCc, CTool::kCToolCxx, - tool_cxx->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -336,7 +334,7 @@ void NinjaCBinaryTargetWriter::WritePCHC - - const CTool* tool_objc = target_->toolchain()->GetToolAsC(CTool::kCToolObjC); - if (tool_objc && tool_objc->precompiled_header_type() == CTool::PCH_GCC && -- used_types.Get(SourceFile::SOURCE_M)) { -+ used_types.Get(SOURCE_M)) { - WritePCHCommand(&CSubstitutionCFlagsObjC, CTool::kCToolObjC, - tool_objc->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -345,7 +343,7 @@ void NinjaCBinaryTargetWriter::WritePCHC - const CTool* tool_objcxx = - target_->toolchain()->GetToolAsC(CTool::kCToolObjCxx); - if (tool_objcxx && tool_objcxx->precompiled_header_type() == CTool::PCH_GCC && -- used_types.Get(SourceFile::SOURCE_MM)) { -+ used_types.Get(SOURCE_MM)) { - WritePCHCommand(&CSubstitutionCFlagsObjCc, CTool::kCToolObjCxx, - tool_objcxx->precompiled_header_type(), input_dep, - order_only_deps, object_files, other_files); -@@ -478,7 +476,7 @@ void NinjaCBinaryTargetWriter::WriteSour - deps.resize(0); - const char* tool_name = Tool::kToolNone; - if (!target_->GetOutputFilesForSource(source, &tool_name, &tool_outputs)) { -- if (source.type() == SourceFile::SOURCE_DEF) -+ if (GetSourceFileType(source) == SOURCE_DEF) - other_files->push_back(source); - continue; // No output for this source. - } -@@ -599,7 +597,7 @@ void NinjaCBinaryTargetWriter::WriteLink - const SourceFile* optional_def_file = nullptr; - if (!other_files.empty()) { - for (const SourceFile& src_file : other_files) { -- if (src_file.type() == SourceFile::SOURCE_DEF) { -+ if (GetSourceFileType(src_file) == SOURCE_DEF) { - optional_def_file = &src_file; - implicit_deps.push_back( - OutputFile(settings_->build_settings(), src_file)); ---- a/tools/gn/tools/gn/source_file.cc -+++ b/tools/gn/tools/gn/source_file.cc -@@ -21,48 +21,18 @@ void AssertValueSourceFileString(const s - DCHECK(!EndsWithSlash(s)) << s; - } - --SourceFile::Type GetSourceFileType(const std::string& file) { -- base::StringPiece extension = FindExtension(&file); -- if (extension == "cc" || extension == "cpp" || extension == "cxx") -- return SourceFile::SOURCE_CPP; -- if (extension == "h" || extension == "hpp" || extension == "hxx" || -- extension == "hh" || extension == "inc") -- return SourceFile::SOURCE_H; -- if (extension == "c") -- return SourceFile::SOURCE_C; -- if (extension == "m") -- return SourceFile::SOURCE_M; -- if (extension == "mm") -- return SourceFile::SOURCE_MM; -- if (extension == "rc") -- return SourceFile::SOURCE_RC; -- if (extension == "S" || extension == "s" || extension == "asm") -- return SourceFile::SOURCE_S; -- if (extension == "o" || extension == "obj") -- return SourceFile::SOURCE_O; -- if (extension == "def") -- return SourceFile::SOURCE_DEF; -- if (extension == "rs") -- return SourceFile::SOURCE_RS; -- if (extension == "go") -- return SourceFile::SOURCE_GO; -- -- return SourceFile::SOURCE_UNKNOWN; --} -- - } // namespace - --SourceFile::SourceFile() : type_(SOURCE_UNKNOWN) {} -+SourceFile::SourceFile() = default; - - SourceFile::SourceFile(const base::StringPiece& p) -- : value_(p.data(), p.size()), type_(GetSourceFileType(value_)) { -+ : value_(p.data(), p.size()) { - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); - } - --SourceFile::SourceFile(SwapIn, std::string* value) -- : type_(GetSourceFileType(*value)) { -+SourceFile::SourceFile(SwapIn, std::string* value) { - value_.swap(*value); - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); ---- a/tools/gn/tools/gn/source_file.h -+++ b/tools/gn/tools/gn/source_file.h -@@ -20,28 +20,6 @@ class SourceDir; - // ends in one. - class SourceFile { - public: -- // This should be sequential integers starting from 0 so they can be used as -- // array indices. -- enum Type { -- SOURCE_UNKNOWN = 0, -- SOURCE_ASM, -- SOURCE_C, -- SOURCE_CPP, -- SOURCE_H, -- SOURCE_M, -- SOURCE_MM, -- SOURCE_S, -- SOURCE_RC, -- SOURCE_O, // Object files can be inputs, too. Also counts .obj. -- SOURCE_DEF, -- -- SOURCE_RS, -- SOURCE_GO, -- -- // Must be last. -- SOURCE_NUMTYPES, -- }; -- - enum SwapIn { SWAP_IN }; - - SourceFile(); -@@ -58,7 +36,6 @@ class SourceFile { - - bool is_null() const { return value_.empty(); } - const std::string& value() const { return value_; } -- Type type() const { return type_; } - - // Returns everything after the last slash. - std::string GetName() const; -@@ -103,7 +80,6 @@ class SourceFile { - friend class SourceDir; - - std::string value_; -- Type type_; - - // Copy & assign supported. - }; ---- /dev/null -+++ b/tools/gn/tools/gn/source_file_type.cc -@@ -0,0 +1,37 @@ -+// Copyright 2014 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. -+ -+#include "tools/gn/source_file_type.h" -+ -+#include "tools/gn/filesystem_utils.h" -+#include "tools/gn/source_file.h" -+ -+SourceFileType GetSourceFileType(const SourceFile& file) { -+ base::StringPiece extension = FindExtension(&file.value()); -+ if (extension == "cc" || extension == "cpp" || extension == "cxx") -+ return SOURCE_CPP; -+ if (extension == "h" || extension == "hpp" || extension == "hxx" || -+ extension == "hh") -+ return SOURCE_H; -+ if (extension == "c") -+ return SOURCE_C; -+ if (extension == "m") -+ return SOURCE_M; -+ if (extension == "mm") -+ return SOURCE_MM; -+ if (extension == "rc") -+ return SOURCE_RC; -+ if (extension == "S" || extension == "s" || extension == "asm") -+ return SOURCE_S; -+ if (extension == "o" || extension == "obj") -+ return SOURCE_O; -+ if (extension == "def") -+ return SOURCE_DEF; -+ if (extension == "rs") -+ return SOURCE_RS; -+ if (extension == "go") -+ return SOURCE_GO; -+ -+ return SOURCE_UNKNOWN; -+} ---- /dev/null -+++ b/tools/gn/tools/gn/source_file_type.h -@@ -0,0 +1,34 @@ -+// Copyright 2014 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. -+ -+#ifndef TOOLS_GN_SOURCE_FILE_TYPE_H_ -+#define TOOLS_GN_SOURCE_FILE_TYPE_H_ -+ -+class SourceFile; -+ -+// This should be sequential integers starting from 0 so they can be used as -+// array indices. -+enum SourceFileType { -+ SOURCE_UNKNOWN = 0, -+ SOURCE_ASM, -+ SOURCE_C, -+ SOURCE_CPP, -+ SOURCE_H, -+ SOURCE_M, -+ SOURCE_MM, -+ SOURCE_S, -+ SOURCE_RC, -+ SOURCE_O, // Object files can be inputs, too. Also counts .obj. -+ SOURCE_DEF, -+ -+ SOURCE_RS, -+ SOURCE_GO, -+ -+ // Must be last. -+ SOURCE_NUMTYPES, -+}; -+ -+SourceFileType GetSourceFileType(const SourceFile& file); -+ -+#endif // TOOLS_GN_SOURCE_FILE_TYPE_H_ ---- a/tools/gn/tools/gn/target.cc -+++ b/tools/gn/tools/gn/target.cc -@@ -16,6 +16,7 @@ - #include "tools/gn/filesystem_utils.h" - #include "tools/gn/functions.h" - #include "tools/gn/scheduler.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_writer.h" - #include "tools/gn/tool.h" - #include "tools/gn/toolchain.h" -@@ -486,10 +487,10 @@ bool Target::GetOutputFilesForSource(con - outputs->clear(); - *computed_tool_type = Tool::kToolNone; - -- SourceFile::Type file_type = source.type(); -- if (file_type == SourceFile::SOURCE_UNKNOWN) -+ SourceFileType file_type = GetSourceFileType(source); -+ if (file_type == SOURCE_UNKNOWN) - return false; -- if (file_type == SourceFile::SOURCE_O) { -+ if (file_type == SOURCE_O) { - // Object files just get passed to the output and not compiled. - outputs->push_back(OutputFile(settings()->build_settings(), source)); - return true; ---- a/tools/gn/tools/gn/tool.cc -+++ b/tools/gn/tools/gn/tool.cc -@@ -261,27 +261,27 @@ std::unique_ptr Tool::CreateTool(c - } - - // static --const char* Tool::GetToolTypeForSourceType(SourceFile::Type type) { -+const char* Tool::GetToolTypeForSourceType(SourceFileType type) { - switch (type) { -- case SourceFile::SOURCE_C: -+ case SOURCE_C: - return CTool::kCToolCc; -- case SourceFile::SOURCE_CPP: -+ case SOURCE_CPP: - return CTool::kCToolCxx; -- case SourceFile::SOURCE_M: -+ case SOURCE_M: - return CTool::kCToolObjC; -- case SourceFile::SOURCE_MM: -+ case SOURCE_MM: - return CTool::kCToolObjCxx; -- case SourceFile::SOURCE_ASM: -- case SourceFile::SOURCE_S: -+ case SOURCE_ASM: -+ case SOURCE_S: - return CTool::kCToolAsm; -- case SourceFile::SOURCE_RC: -+ case SOURCE_RC: - return CTool::kCToolRc; -- case SourceFile::SOURCE_UNKNOWN: -- case SourceFile::SOURCE_H: -- case SourceFile::SOURCE_O: -- case SourceFile::SOURCE_DEF: -- case SourceFile::SOURCE_GO: -- case SourceFile::SOURCE_RS: -+ case SOURCE_UNKNOWN: -+ case SOURCE_H: -+ case SOURCE_O: -+ case SOURCE_DEF: -+ case SOURCE_GO: -+ case SOURCE_RS: - return kToolNone; - default: - NOTREACHED(); ---- a/tools/gn/tools/gn/tool.h -+++ b/tools/gn/tools/gn/tool.h -@@ -12,7 +12,7 @@ - #include "tools/gn/label.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" --#include "tools/gn/source_file.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_list.h" - #include "tools/gn/substitution_pattern.h" - -@@ -171,7 +171,7 @@ class Tool { - Toolchain* toolchain, - Err* err); - -- static const char* GetToolTypeForSourceType(SourceFile::Type type); -+ static const char* GetToolTypeForSourceType(SourceFileType type); - static const char* GetToolTypeForTargetFinalOutput(const Target* target); - - protected: ---- a/tools/gn/tools/gn/toolchain.cc -+++ b/tools/gn/tools/gn/toolchain.cc -@@ -88,16 +88,16 @@ void Toolchain::ToolchainSetupComplete() - setup_complete_ = true; - } - --const Tool* Toolchain::GetToolForSourceType(SourceFile::Type type) const { -+const Tool* Toolchain::GetToolForSourceType(SourceFileType type) const { - return GetTool(Tool::GetToolTypeForSourceType(type)); - } - --const CTool* Toolchain::GetToolForSourceTypeAsC(SourceFile::Type type) const { -+const CTool* Toolchain::GetToolForSourceTypeAsC(SourceFileType type) const { - return GetToolAsC(Tool::GetToolTypeForSourceType(type)); - } - - const GeneralTool* Toolchain::GetToolForSourceTypeAsGeneral( -- SourceFile::Type type) const { -+ SourceFileType type) const { - return GetToolAsGeneral(Tool::GetToolTypeForSourceType(type)); - } - ---- a/tools/gn/tools/gn/toolchain.h -+++ b/tools/gn/tools/gn/toolchain.h -@@ -12,6 +12,7 @@ - #include "tools/gn/item.h" - #include "tools/gn/label_ptr.h" - #include "tools/gn/scope.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/substitution_type.h" - #include "tools/gn/tool.h" - #include "tools/gn/value.h" -@@ -87,9 +88,9 @@ class Toolchain : public Item { - } - - // Returns the tool for compiling the given source file type. -- const Tool* GetToolForSourceType(SourceFile::Type type) const; -- const CTool* GetToolForSourceTypeAsC(SourceFile::Type type) const; -- const GeneralTool* GetToolForSourceTypeAsGeneral(SourceFile::Type type) const; -+ const Tool* GetToolForSourceType(SourceFileType type) const; -+ const CTool* GetToolForSourceTypeAsC(SourceFileType type) const; -+ const GeneralTool* GetToolForSourceTypeAsGeneral(SourceFileType type) const; - - // Returns the tool that produces the final output for the given target type. - // This isn't necessarily the tool you would expect. For copy target, this ---- a/tools/gn/tools/gn/visual_studio_writer.cc -+++ b/tools/gn/tools/gn/visual_studio_writer.cc -@@ -24,6 +24,7 @@ - #include "tools/gn/label_pattern.h" - #include "tools/gn/parse_tree.h" - #include "tools/gn/path_output.h" -+#include "tools/gn/source_file_type.h" - #include "tools/gn/standard_out.h" - #include "tools/gn/target.h" - #include "tools/gn/variables.h" diff --git a/revert-gn-4980.patch b/revert-gn-4980.patch deleted file mode 100644 index fe550e9..0000000 --- a/revert-gn-4980.patch +++ /dev/null @@ -1,134 +0,0 @@ -Description: revert https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92, which breaks the chromium build - ---- a/tools/gn/tools/gn/binary_target_generator.cc -+++ b/tools/gn/tools/gn/binary_target_generator.cc -@@ -68,38 +68,6 @@ void BinaryTargetGenerator::DoRun() { - return; - } - --bool BinaryTargetGenerator::FillSources() { -- bool ret = TargetGenerator::FillSources(); -- for (std::size_t i = 0; i < target_->sources().size(); ++i) { -- const auto& source = target_->sources()[i]; -- switch (source.type()) { -- case SourceFile::SOURCE_CPP: -- case SourceFile::SOURCE_H: -- case SourceFile::SOURCE_C: -- case SourceFile::SOURCE_M: -- case SourceFile::SOURCE_MM: -- case SourceFile::SOURCE_S: -- case SourceFile::SOURCE_ASM: -- case SourceFile::SOURCE_O: -- // These are allowed. -- break; -- case SourceFile::SOURCE_RC: -- case SourceFile::SOURCE_DEF: -- case SourceFile::SOURCE_RS: -- case SourceFile::SOURCE_GO: -- case SourceFile::SOURCE_UNKNOWN: -- case SourceFile::SOURCE_NUMTYPES: -- *err_ = -- Err(scope_->GetValue(variables::kSources, true)->list_value()[i], -- std::string("Only source, header, and object files belong in " -- "the sources of a ") + -- Target::GetStringForOutputType(target_->output_type()) + -- ". " + source.value() + " is not one of the valid types."); -- } -- } -- return ret; --} -- - bool BinaryTargetGenerator::FillCompleteStaticLib() { - if (target_->output_type() == Target::STATIC_LIBRARY) { - const Value* value = scope_->GetValue(variables::kCompleteStaticLib, true); ---- a/tools/gn/tools/gn/binary_target_generator.h -+++ b/tools/gn/tools/gn/binary_target_generator.h -@@ -22,7 +22,6 @@ class BinaryTargetGenerator : public Tar - - protected: - void DoRun() override; -- bool FillSources() override; - - private: - bool FillCompleteStaticLib(); ---- a/tools/gn/tools/gn/source_dir.cc -+++ b/tools/gn/tools/gn/source_dir.cc -@@ -98,10 +98,10 @@ SourceFile SourceDir::ResolveRelativeFil - return ret; - - const std::string& input_string = p.string_value(); -- if (!ValidateResolveInput(true, p, input_string, err)) -+ if (!ValidateResolveInput(true, p, input_string, err)) { - return ret; -- -- ret.SetValue(ResolveRelative(input_string, value_, true, source_root)); -+ } -+ ret.value_ = ResolveRelative(input_string, value_, true, source_root); - return ret; - } - ---- a/tools/gn/tools/gn/source_file.cc -+++ b/tools/gn/tools/gn/source_file.cc -@@ -55,19 +55,18 @@ SourceFile::Type GetSourceFileType(const - SourceFile::SourceFile() : type_(SOURCE_UNKNOWN) {} - - SourceFile::SourceFile(const base::StringPiece& p) -- : value_(p.data(), p.size()) { -+ : value_(p.data(), p.size()), type_(GetSourceFileType(value_)) { - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); -- type_ = GetSourceFileType(value_); - } - --SourceFile::SourceFile(SwapIn, std::string* value) { -+SourceFile::SourceFile(SwapIn, std::string* value) -+ : type_(GetSourceFileType(*value)) { - value_.swap(*value); - DCHECK(!value_.empty()); - AssertValueSourceFileString(value_); - NormalizePath(&value_); -- type_ = GetSourceFileType(value_); - } - - SourceFile::~SourceFile() = default; -@@ -93,8 +92,3 @@ SourceDir SourceFile::GetDir() const { - base::FilePath SourceFile::Resolve(const base::FilePath& source_root) const { - return ResolvePath(value_, true, source_root); - } -- --void SourceFile::SetValue(const std::string& value) { -- value_ = value; -- type_ = GetSourceFileType(value_); --} ---- a/tools/gn/tools/gn/source_file.h -+++ b/tools/gn/tools/gn/source_file.h -@@ -97,16 +97,11 @@ class SourceFile { - return value_ < other.value_; - } - -- void swap(SourceFile& other) { -- value_.swap(other.value_); -- std::swap(type_, other.type_); -- } -+ void swap(SourceFile& other) { value_.swap(other.value_); } - - private: - friend class SourceDir; - -- void SetValue(const std::string& value); -- - std::string value_; - Type type_; - ---- a/tools/gn/tools/gn/target_generator.h -+++ b/tools/gn/tools/gn/target_generator.h -@@ -47,7 +47,7 @@ class TargetGenerator { - - const BuildSettings* GetBuildSettings() const; - -- virtual bool FillSources(); -+ bool FillSources(); - bool FillPublic(); - bool FillConfigs(); - bool FillOutputs(bool allow_substitutions); From 6cad81f350bbe46f7a987a57d41cb9998e4aec5d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 13 Aug 2019 07:05:33 +0200 Subject: [PATCH 034/171] Update to 76.0.3809.100 --- .gitignore | 1 + ...4.116-libusb_interrupt_event_handler.patch | 15 - chromium-55.0.2883.75-cups22.patch | 29 -- chromium-66.0.3359.117-missing-files.patch | 272 ------------------ ...um-73.0.3683.75-pipewire-cstring-fix.patch | 11 - ...9.100-libusb_interrupt_event_handler.patch | 15 + chromium.spec | 32 +-- sources | 2 +- 8 files changed, 24 insertions(+), 353 deletions(-) delete mode 100644 chromium-48.0.2564.116-libusb_interrupt_event_handler.patch delete mode 100644 chromium-55.0.2883.75-cups22.patch delete mode 100644 chromium-66.0.3359.117-missing-files.patch delete mode 100644 chromium-73.0.3683.75-pipewire-cstring-fix.patch create mode 100644 chromium-76.0.3809.100-libusb_interrupt_event_handler.patch diff --git a/.gitignore b/.gitignore index 61d44ef..2bfdc54 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ /chromium-75.0.3770.80-clean.tar.xz /chromium-75.0.3770.90-clean.tar.xz /chromium-75.0.3770.100-clean.tar.xz +/chromium-76.0.3809.100-clean.tar.xz diff --git a/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch b/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch deleted file mode 100644 index d0b2484..0000000 --- a/chromium-48.0.2564.116-libusb_interrupt_event_handler.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc ---- chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500 -+++ chromium-48.0.2564.116/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) { diff --git a/chromium-55.0.2883.75-cups22.patch b/chromium-55.0.2883.75-cups22.patch deleted file mode 100644 index d1a2bf8..0000000 --- a/chromium-55.0.2883.75-cups22.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up chromium-52.0.2743.82/printing/backend/print_backend_cups.cc.cups22 chromium-52.0.2743.82/printing/backend/print_backend_cups.cc ---- chromium-52.0.2743.82/printing/backend/print_backend_cups.cc.cups22 2016-07-22 09:20:15.794340886 -0400 -+++ chromium-52.0.2743.82/printing/backend/print_backend_cups.cc 2016-07-22 09:20:26.338261197 -0400 -@@ -16,6 +16,7 @@ - #include "base/synchronization/lock.h" - #include "base/values.h" - #include "printing/backend/cups_helper.h" -+#include - #include "printing/backend/print_backend_consts.h" - #include "url/gurl.h" - -diff -up chromium-52.0.2743.82/printing/BUILD.gn.cups22 chromium-52.0.2743.82/printing/BUILD.gn ---- chromium-52.0.2743.82/printing/BUILD.gn.cups22 2016-07-21 11:27:05.597507544 -0400 -+++ chromium-52.0.2743.82/printing/BUILD.gn 2016-07-21 14:36:45.574137758 -0400 -@@ -147,12 +147,13 @@ component("printing") { - ], - "trim string") - -- if (cups_version == "1.6" || cups_version == "1.7") { -+ if (cups_version == "1.6" || cups_version == "1.7" || cups_version == "2.2") { - cflags += [ - # CUPS 1.6 deprecated the PPD APIs, but we will stay with this - # API for now as supported Linux and Mac OS'es are still using - # older versions of CUPS. More info: crbug.com/226176 - "-Wno-deprecated-declarations", -+ "-D_PPD_DEPRECATED=", - # CUPS 1.7 deprecates httpConnectEncrypt(), see the mac section - # below. - ] diff --git a/chromium-66.0.3359.117-missing-files.patch b/chromium-66.0.3359.117-missing-files.patch deleted file mode 100644 index 746d56e..0000000 --- a/chromium-66.0.3359.117-missing-files.patch +++ /dev/null @@ -1,272 +0,0 @@ -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing 2018-04-19 09:51:46.165723235 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py 2018-04-19 09:51:46.171723115 -0400 -@@ -0,0 +1,3 @@ -+# Copyright 2017 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. -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing 2018-04-19 09:51:46.171723115 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py 2018-04-19 09:51:46.172723095 -0400 -@@ -0,0 +1,110 @@ -+# Copyright 2017 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. -+# pylint: disable=import-error,print-statement,relative-import -+import re -+SPECIAL_TOKENS = [ -+ # This list should be sorted by length. -+ 'CString', -+ 'Float32', -+ 'Float64', -+ 'Base64', -+ 'IFrame', -+ 'Latin1', -+ 'PlugIn', -+ 'SQLite', -+ 'Uint16', -+ 'Uint32', -+ 'WebGL2', -+ 'ASCII', -+ 'CType', -+ 'DList', -+ 'Int16', -+ 'Int32', -+ 'MPath', -+ 'OList', -+ 'TSpan', -+ 'UList', -+ 'UTF16', -+ 'Uint8', -+ 'WebGL', -+ 'XPath', -+ 'ETC1', -+ 'HTML', -+ 'Int8', -+ 'S3TC', -+ 'SPv2', -+ 'UTF8', -+ 'API', -+ 'CSS', -+ 'DOM', -+ 'EXT', -+ 'RTC', -+ 'SVG', -+ '2D', -+ 'AX', -+ 'V0', -+ 'V8', -+] -+MATCHING_EXPRESSION = '((?:[A-Z][a-z]+)|[0-9]D?$)' -+class SmartTokenizer(object): -+ """Detects special cases that are not easily discernible without additional -+ knowledge, such as recognizing that in SVGSVGElement, the first two SVGs -+ are separate tokens, but WebGL is one token.""" -+ def __init__(self, name): -+ self.remaining = name -+ def tokenize(self): -+ name = self.remaining -+ tokens = [] -+ while len(name) > 0: -+ matched_token = None -+ for token in SPECIAL_TOKENS: -+ if name.startswith(token): -+ matched_token = token -+ break -+ if not matched_token: -+ match = re.search(MATCHING_EXPRESSION, name) -+ if not match: -+ matched_token = name -+ elif match.start(0) != 0: -+ matched_token = name[:match.start(0)] -+ else: -+ matched_token = match.group(0) -+ tokens.append(name[:len(matched_token)]) -+ name = name[len(matched_token):] -+ return tokens -+class NameStyleConverter(object): -+ """Converts names from camelCase to various other styles. -+ """ -+ def __init__(self, name): -+ self.tokens = self.tokenize(name) -+ def tokenize(self, name): -+ tokenizer = SmartTokenizer(name) -+ return tokenizer.tokenize() -+ def to_snake_case(self): -+ """Snake case is the file and variable name style per Google C++ Style -+ Guide: -+ https://google.github.io/styleguide/cppguide.html#Variable_Names -+ Also known as the hacker case. -+ https://en.wikipedia.org/wiki/Snake_case -+ """ -+ return '_'.join([token.lower() for token in self.tokens]) -+ def to_upper_camel_case(self): -+ """Upper-camel case is the class and function name style per -+ Google C++ Style Guide: -+ https://google.github.io/styleguide/cppguide.html#Function_Names -+ Also known as the PascalCase. -+ https://en.wikipedia.org/wiki/Camel_case. -+ """ -+ return ''.join([token[0].upper() + token[1:] for token in self.tokens]) -+ def to_macro_case(self): -+ """Macro case is the macro name style per Google C++ Style Guide: -+ https://google.github.io/styleguide/cppguide.html#Macro_Names -+ """ -+ return '_'.join([token.upper() for token in self.tokens]) -+ def to_all_cases(self): -+ return { -+ 'snake_case': self.to_snake_case(), -+ 'upper_camel_case': self.to_upper_camel_case(), -+ 'macro_case': self.to_macro_case(), -+ } -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing 2018-04-19 09:51:46.172723095 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py 2018-04-19 09:51:46.173723075 -0400 -@@ -0,0 +1,140 @@ -+# Copyright 2017 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. -+# pylint: disable=import-error,print-statement,relative-import,protected-access -+"""Unit tests for name_style_converter.py.""" -+import unittest -+from name_style_converter import NameStyleConverter -+from name_style_converter import SmartTokenizer -+class SmartTokenizerTest(unittest.TestCase): -+ def test_simple_cases(self): -+ tokenizer = SmartTokenizer('foo') -+ self.assertEqual(tokenizer.tokenize(), ['foo']) -+ tokenizer = SmartTokenizer('fooBar') -+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar']) -+ tokenizer = SmartTokenizer('fooBarBaz') -+ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar', 'Baz']) -+ tokenizer = SmartTokenizer('Baz') -+ self.assertEqual(tokenizer.tokenize(), ['Baz']) -+ tokenizer = SmartTokenizer('') -+ self.assertEqual(tokenizer.tokenize(), []) -+ tokenizer = SmartTokenizer('FOO') -+ self.assertEqual(tokenizer.tokenize(), ['FOO']) -+ tokenizer = SmartTokenizer('foo2') -+ self.assertEqual(tokenizer.tokenize(), ['foo', '2']) -+ def test_tricky_cases(self): -+ tokenizer = SmartTokenizer('XMLHttpRequest') -+ self.assertEqual(tokenizer.tokenize(), ['XML', 'Http', 'Request']) -+ tokenizer = SmartTokenizer('HTMLElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Element']) -+ tokenizer = SmartTokenizer('WebGLRenderingContext') -+ self.assertEqual(tokenizer.tokenize(), -+ ['WebGL', 'Rendering', 'Context']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2D') -+ self.assertEqual(tokenizer.tokenize(), -+ ['Canvas', 'Rendering', 'Context', '2D']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2DAPITest') -+ self.assertEqual(tokenizer.tokenize(), -+ ['Canvas', 'Rendering', 'Context', '2D', 'API', 'Test']) -+ tokenizer = SmartTokenizer('SVGSVGElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2D') -+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D']) -+ tokenizer = SmartTokenizer('CSSURLImageValue') -+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'URL', 'Image', 'Value']) -+ tokenizer = SmartTokenizer('CSSPropertyAPID') -+ self.assertEqual(tokenizer.tokenize(), ['CSS', 'Property', 'API', 'D']) -+ tokenizer = SmartTokenizer('AXARIAGridCell') -+ self.assertEqual(tokenizer.tokenize(), ['AX', 'ARIA', 'Grid', 'Cell']) -+ tokenizer = SmartTokenizer('CDATASection') -+ self.assertEqual(tokenizer.tokenize(), ['CDATA', 'Section']) -+ tokenizer = SmartTokenizer('ASCIICType') -+ self.assertEqual(tokenizer.tokenize(), ['ASCII', 'CType']) -+ tokenizer = SmartTokenizer('CString') -+ self.assertEqual(tokenizer.tokenize(), ['CString']) -+ tokenizer = SmartTokenizer('HTMLDListElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'DList', 'Element']) -+ tokenizer = SmartTokenizer('HTMLOListElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'OList', 'Element']) -+ tokenizer = SmartTokenizer('HTMLIFrameElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'IFrame', 'Element']) -+ tokenizer = SmartTokenizer('HTMLPlugInElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'PlugIn', 'Element']) -+ # No special handling for OptGroup, FieldSet, and TextArea. -+ tokenizer = SmartTokenizer('HTMLOptGroupElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Opt', 'Group', 'Element']) -+ tokenizer = SmartTokenizer('HTMLFieldSetElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Field', 'Set', 'Element']) -+ tokenizer = SmartTokenizer('HTMLTextAreaElement') -+ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Text', 'Area', 'Element']) -+ tokenizer = SmartTokenizer('Path2D') -+ self.assertEqual(tokenizer.tokenize(), ['Path', '2D']) -+ tokenizer = SmartTokenizer('Point2D') -+ self.assertEqual(tokenizer.tokenize(), ['Point', '2D']) -+ tokenizer = SmartTokenizer('CanvasRenderingContext2DState') -+ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D', 'State']) -+ tokenizer = SmartTokenizer('RTCDTMFSender') -+ self.assertEqual(tokenizer.tokenize(), ['RTC', 'DTMF', 'Sender']) -+ tokenizer = SmartTokenizer('WebGLCompressedTextureS3TCsRGB') -+ self.assertEqual(tokenizer.tokenize(), ['WebGL', 'Compressed', 'Texture', 'S3TC', 'sRGB']) -+ tokenizer = SmartTokenizer('WebGL2CompressedTextureETC1') -+ self.assertEqual(tokenizer.tokenize(), ['WebGL2', 'Compressed', 'Texture', 'ETC1']) -+ tokenizer = SmartTokenizer('EXTsRGB') -+ self.assertEqual(tokenizer.tokenize(), ['EXT', 'sRGB']) -+ tokenizer = SmartTokenizer('SVGFEBlendElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'FE', 'Blend', 'Element']) -+ tokenizer = SmartTokenizer('SVGMPathElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'MPath', 'Element']) -+ tokenizer = SmartTokenizer('SVGTSpanElement') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'TSpan', 'Element']) -+ tokenizer = SmartTokenizer('SVGURIReference') -+ self.assertEqual(tokenizer.tokenize(), ['SVG', 'URI', 'Reference']) -+ tokenizer = SmartTokenizer('UTF16TextIterator') -+ self.assertEqual(tokenizer.tokenize(), ['UTF16', 'Text', 'Iterator']) -+ tokenizer = SmartTokenizer('UTF8Decoder') -+ self.assertEqual(tokenizer.tokenize(), ['UTF8', 'Decoder']) -+ tokenizer = SmartTokenizer('Uint8Array') -+ self.assertEqual(tokenizer.tokenize(), ['Uint8', 'Array']) -+ tokenizer = SmartTokenizer('DOMWindowBase64') -+ self.assertEqual(tokenizer.tokenize(), ['DOM', 'Window', 'Base64']) -+ tokenizer = SmartTokenizer('TextCodecLatin1') -+ self.assertEqual(tokenizer.tokenize(), ['Text', 'Codec', 'Latin1']) -+ tokenizer = SmartTokenizer('V8BindingForCore') -+ self.assertEqual(tokenizer.tokenize(), ['V8', 'Binding', 'For', 'Core']) -+ tokenizer = SmartTokenizer('V8DOMRect') -+ self.assertEqual(tokenizer.tokenize(), ['V8', 'DOM', 'Rect']) -+ tokenizer = SmartTokenizer('V0InsertionPoint') -+ self.assertEqual(tokenizer.tokenize(), ['V0', 'Insertion', 'Point']) -+ tokenizer = SmartTokenizer('ShadowDOMV0Test') -+ self.assertEqual(tokenizer.tokenize(), ['Shadow', 'DOM', 'V0', 'Test']) -+ tokenizer = SmartTokenizer('ElementShadowV0') -+ self.assertEqual(tokenizer.tokenize(), ['Element', 'Shadow', 'V0']) -+ tokenizer = SmartTokenizer('StubChromeClientForSPv2') -+ self.assertEqual(tokenizer.tokenize(), ['Stub', 'Chrome', 'Client', 'For', 'SPv2']) -+ tokenizer = SmartTokenizer('SQLiteAuthorizer') -+ self.assertEqual(tokenizer.tokenize(), ['SQLite', 'Authorizer']) -+ tokenizer = SmartTokenizer('XPathEvaluator') -+ self.assertEqual(tokenizer.tokenize(), ['XPath', 'Evaluator']) -+ tokenizer = SmartTokenizer('IsXHTMLDocument') -+ self.assertEqual(tokenizer.tokenize(), ['Is', 'XHTML', 'Document']) -+ tokenizer = SmartTokenizer('Animation.idl') -+ self.assertEqual(tokenizer.tokenize(), ['Animation', '.idl']) -+class NameStyleConverterTest(unittest.TestCase): -+ def test_snake_case(self): -+ converter = NameStyleConverter('HTMLElement') -+ self.assertEqual(converter.to_snake_case(), 'html_element') -+ def test_upper_camel_case(self): -+ converter = NameStyleConverter('someSuperThing') -+ self.assertEqual(converter.to_upper_camel_case(), 'SomeSuperThing') -+ converter = NameStyleConverter('SVGElement') -+ self.assertEqual(converter.to_upper_camel_case(), 'SVGElement') -+ def test_macro_case(self): -+ converter = NameStyleConverter('WebGLBaz2D') -+ self.assertEqual(converter.to_macro_case(), 'WEBGL_BAZ_2D') -+ def test_all_cases(self): -+ converter = NameStyleConverter('SVGScriptElement') -+ self.assertEqual(converter.to_all_cases(), { -+ 'snake_case': 'svg_script_element', -+ 'upper_camel_case': 'SVGScriptElement', -+ 'macro_case': 'SVG_SCRIPT_ELEMENT', -+ }) -diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py ---- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing 2018-04-19 11:34:40.621293007 -0400 -+++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py 2018-04-19 11:34:34.440413163 -0400 -@@ -0,0 +1,3 @@ -+# Copyright 2017 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. diff --git a/chromium-73.0.3683.75-pipewire-cstring-fix.patch b/chromium-73.0.3683.75-pipewire-cstring-fix.patch deleted file mode 100644 index ce8b70b..0000000 --- a/chromium-73.0.3683.75-pipewire-cstring-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc ---- chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.cstringfix 2019-03-13 13:04:25.290842447 -0400 -+++ chromium-73.0.3683.75/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2019-03-13 13:05:13.234897441 -0400 -@@ -18,6 +18,7 @@ - #include - #include - -+#include - #include - #include - diff --git a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch new file mode 100644 index 0000000..690f0f9 --- /dev/null +++ b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch @@ -0,0 +1,15 @@ +diff -up chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx chromium-76.0.3809.100/services/device/usb/usb_context.cc +--- chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx 2019-08-12 15:40:49.034170484 +0200 ++++ chromium-76.0.3809.100/services/device/usb/usb_context.cc 2019-08-12 15:41:23.775558867 +0200 +@@ -58,7 +58,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) { diff --git a/chromium.spec b/chromium.spec index d734490..1d3a256 100644 --- a/chromium.spec +++ b/chromium.spec @@ -157,15 +157,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 75 +%global majorversion 76 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3770.100 -Release: 4%{?dist} +Version: %{majorversion}.0.3809.100 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -176,10 +176,7 @@ Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch Patch3: chromium-72.0.3626.121-notest.patch # Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch4: chromium-48.0.2564.116-libusb_interrupt_event_handler.patch -# Ignore deprecations in cups 2.2 -# https://bugs.chromium.org/p/chromium/issues/detail?id=622493 -Patch5: chromium-55.0.2883.75-cups22.patch +Patch4: chromium-76.0.3809.100-libusb_interrupt_event_handler.patch # Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) Patch6: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for master_prefs @@ -223,8 +220,6 @@ Patch23: chromium-65.0.3325.146-memcpy-fix.patch Patch24: chromium-68.0.3440.106-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch -# Missing files in tarball -Patch26: chromium-66.0.3359.117-missing-files.patch # Do not use unrar code, it is non-free Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes @@ -253,14 +248,8 @@ Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch Patch37: chromium-widevine-other-locations.patch # Disable -fno-delete-null-pointer-checks Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Add #include to get pipewire code to build -Patch39: chromium-73.0.3683.75-pipewire-cstring-fix.patch -# gcc does not have __assume -Patch40: chromium-75.0.3770.80-gcc-no-assume.patch # Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch -# https://chromium.googlesource.com/chromium/src/+/aeed4d1f15ce84a17ea0bc219e258dc4982b2368%5E%21/#F0 -Patch42: chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch @@ -272,8 +261,6 @@ Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996a009bf3a7e294435%5E%21/#F0 -Patch47: chromium-75.0.3770.100-git00281713.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -794,7 +781,6 @@ udev. %patch2 -p1 -b .addrfix %patch3 -p1 -b .notest %patch4 -p1 -b .modern-libusbx -%patch5 -p1 -b .cups22 %patch6 -p1 -b .sandboxpie %patch7 -p1 -b .etc %patch8 -p1 -b .gnsystem @@ -815,7 +801,6 @@ udev. %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix %patch25 -p1 -b .aarch64fix -%patch26 -p1 -b .missing-files %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -828,15 +813,11 @@ udev. %patch36 -p1 -b .gcc9 %patch37 -p1 -b .widevine-other-locations %patch38 -p1 -b .disable-ndnpc -%patch39 -p1 -b .cstring-fix -%patch40 -p1 -b .gcc-assume %patch41 -p1 -b .SIOCGSTAMP -%patch42 -p1 -b .gcc-dcheck_ne-fix %patch43 -p1 -b .revert-daff6b %patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .git00281713 # EPEL specific patches %if 0%{?rhel} == 7 @@ -1217,7 +1198,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ %if %{freeworld} 'third_party/openh264' \ %endif - 'third_party/openmax_dl' \ 'third_party/opus' \ 'third_party/ots' \ 'third_party/pdfium' \ @@ -1260,7 +1240,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/sqlite' \ 'third_party/swiftshader' \ 'third_party/swiftshader/third_party/subzero' \ - 'third_party/swiftshader/third_party/LLVM' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ 'third_party/tcmalloc' \ @@ -1857,6 +1836,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 +- Update to 76.0.3809.100 + * Wed Jul 24 2019 Fedora Release Engineering - 75.0.3770.100-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 5ba7f4f..778c103 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-75.0.3770.100-clean.tar.xz) = ee2fad215cf39edc572b4ecd040f1130e857e19a34e64fffb14a995ca325adc0b01d6e8bfae4f91c2fecd13ed018049e64fe2c2cc755502b8e3291698698512e +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ad250b8cd0a01297fdff85c12a4dca85477cf027a68c0a9f7a3bc93b825772d17ddd062a89020ae954def781f19fe44beedb33ec8a86f3c12af290edb43d6ee9 From 55af817284f149e234b81d44e35ccd5524462493 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 13 Aug 2019 15:39:15 +0200 Subject: [PATCH 035/171] Add more fixes --- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 ++++++++++++++++ chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ++++++++++ chromium-76.0.3809.100-gcc-vulkan.patch | 115 ++++++++++++++++++ chromium.spec | 14 +++ get_free_ffmpeg_source_files.py | 8 +- sources | 2 +- 6 files changed, 302 insertions(+), 5 deletions(-) create mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch create mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch create mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch new file mode 100644 index 0000000..e4d754a --- /dev/null +++ b/chromium-76.0.3809.100-gcc-cc-no-except.patch @@ -0,0 +1,105 @@ +From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 07 Jun 2019 09:50:11 +0000 +Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept + +As LayerTreeHostImpl::UIResourceData move constructor is declared +noexcept with default implementation, the move constructor of its +members should also be noexcept. GCC will fail to build otherwise +for mismatching noexcept declaration. + +We also set the move assignment operator. + +Bug: 819294 +Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 +Commit-Queue: José Dapena Paz +Reviewed-by: Daniel Cheng +Cr-Commit-Position: refs/heads/master@{#667064} +--- + +diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc +index 2be2570..8426fa8 100644 +--- a/base/memory/shared_memory_mapping.cc ++++ b/base/memory/shared_memory_mapping.cc +@@ -33,7 +33,7 @@ + + SharedMemoryMapping::SharedMemoryMapping() = default; + +-SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) ++SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept + : memory_(mapping.memory_), + size_(mapping.size_), + mapped_size_(mapping.mapped_size_), +@@ -42,7 +42,7 @@ + } + + SharedMemoryMapping& SharedMemoryMapping::operator=( +- SharedMemoryMapping&& mapping) { ++ SharedMemoryMapping&& mapping) noexcept { + Unmap(); + memory_ = mapping.memory_; + size_ = mapping.size_; +@@ -90,9 +90,9 @@ + + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( +- ReadOnlySharedMemoryMapping&&) = default; ++ ReadOnlySharedMemoryMapping&&) noexcept = default; + ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( +- ReadOnlySharedMemoryMapping&&) = default; ++ ReadOnlySharedMemoryMapping&&) noexcept = default; + ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( + void* address, + size_t size, +@@ -102,9 +102,9 @@ + + WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; + WritableSharedMemoryMapping::WritableSharedMemoryMapping( +- WritableSharedMemoryMapping&&) = default; ++ WritableSharedMemoryMapping&&) noexcept = default; + WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( +- WritableSharedMemoryMapping&&) = default; ++ WritableSharedMemoryMapping&&) noexcept = default; + WritableSharedMemoryMapping::WritableSharedMemoryMapping( + void* address, + size_t size, +diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h +index d9569af..2b8858e 100644 +--- a/base/memory/shared_memory_mapping.h ++++ b/base/memory/shared_memory_mapping.h +@@ -32,8 +32,8 @@ + SharedMemoryMapping(); + + // Move operations are allowed. +- SharedMemoryMapping(SharedMemoryMapping&& mapping); +- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); ++ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; ++ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; + + // Unmaps the region if the mapping is valid. + virtual ~SharedMemoryMapping(); +@@ -93,8 +93,9 @@ + ReadOnlySharedMemoryMapping(); + + // Move operations are allowed. +- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); +- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); ++ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; ++ ReadOnlySharedMemoryMapping& operator=( ++ ReadOnlySharedMemoryMapping&&) noexcept; + + // Returns the base address of the mapping. This is read-only memory. This is + // page-aligned. This is nullptr for invalid instances. +@@ -171,8 +172,9 @@ + WritableSharedMemoryMapping(); + + // Move operations are allowed. +- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); +- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); ++ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; ++ WritableSharedMemoryMapping& operator=( ++ WritableSharedMemoryMapping&&) noexcept; + + // Returns the base address of the mapping. This is writable memory. This is + // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch new file mode 100644 index 0000000..bc0ed98 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-net-fetcher.patch @@ -0,0 +1,63 @@ +From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 16:56:27 +0000 +Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace + +GCC does not allow friendship declaration to anonymous namespace as done with Job +object in the CertNetFetcherImpl. This fix removes the friend declaration, and just +makes RemoveJob method public, that was the only reason to make Job a friend. + +Error was: +./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: +../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context + delete_this = parent_->RemoveJob(this); + ^ +../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here + std::unique_ptr RemoveJob(Job* job); + ^~~~~~~~~ +../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: +../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context + std::unique_ptr delete_this = parent_->RemoveJob(this); + ^ +../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here + std::unique_ptr RemoveJob(Job* job); + ^~~~~~~~~ + +Bug: 819294 +Change-Id: I3609f4558e570741395366de6a4cd40577d91450 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 +Commit-Queue: Eric Roman +Reviewed-by: Eric Roman +Cr-Commit-Position: refs/heads/master@{#668015} +--- + +diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc +index 11a1166..349c656 100644 +--- a/net/cert_net/cert_net_fetcher_impl.cc ++++ b/net/cert_net/cert_net_fetcher_impl.cc +@@ -135,21 +135,19 @@ + void Fetch(std::unique_ptr request_params, + scoped_refptr request); + ++ // Removes |job| from the in progress jobs and transfers ownership to the ++ // caller. ++ std::unique_ptr RemoveJob(Job* job); ++ + // Cancels outstanding jobs, which stops network requests and signals the + // corresponding RequestCores that the requests have completed. + void Shutdown(); + + private: +- friend class Job; +- + // Finds a job with a matching RequestPararms or returns nullptr if there was + // no match. + Job* FindJob(const RequestParams& params); + +- // Removes |job| from the in progress jobs and transfers ownership to the +- // caller. +- std::unique_ptr RemoveJob(Job* job); +- + // The in-progress jobs. This set does not contain the job which is actively + // invoking callbacks (OnJobCompleted). + JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch new file mode 100644 index 0000000..cf93bce --- /dev/null +++ b/chromium-76.0.3809.100-gcc-vulkan.patch @@ -0,0 +1,115 @@ +From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 17:39:38 +0000 +Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. + +The notation for initialization of structs referring to its properties +is invalid in C++. This is not accepted in GCC. It was making build +fail in VulkanCommandBuffer. + +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token + .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token + .subresourceRange.baseMipLevel = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token + .subresourceRange.levelCount = 1, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token + .subresourceRange.baseArrayLayer = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token + .subresourceRange.layerCount = 1, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token + .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token + .imageSubresource.mipLevel = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token + .imageSubresource.baseArrayLayer = 0, + ^ +./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token + .imageSubresource.layerCount = 1, + ^ +Bug: 819294 + +Change-Id: I999abece0c727e77964789183642ba62009c2c22 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 +Commit-Queue: José Dapena Paz +Reviewed-by: Antoine Labour +Cr-Commit-Position: refs/heads/master@{#668033} +--- + +diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc +index ba776e4..4f14c85 100644 +--- a/gpu/vulkan/vulkan_command_buffer.cc ++++ b/gpu/vulkan/vulkan_command_buffer.cc +@@ -207,21 +207,20 @@ + void VulkanCommandBuffer::TransitionImageLayout(VkImage image, + VkImageLayout old_layout, + VkImageLayout new_layout) { +- VkImageMemoryBarrier barrier = { +- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, +- .srcAccessMask = GetAccessMask(old_layout), +- .dstAccessMask = GetAccessMask(new_layout), +- .oldLayout = old_layout, +- .newLayout = new_layout, +- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, +- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, +- .image = image, +- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, +- .subresourceRange.baseMipLevel = 0, +- .subresourceRange.levelCount = 1, +- .subresourceRange.baseArrayLayer = 0, +- .subresourceRange.layerCount = 1, +- }; ++ VkImageMemoryBarrier barrier = {}; ++ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; ++ barrier.srcAccessMask = GetAccessMask(old_layout); ++ barrier.dstAccessMask = GetAccessMask(new_layout); ++ barrier.oldLayout = old_layout; ++ barrier.newLayout = new_layout; ++ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; ++ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; ++ barrier.image = image; ++ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; ++ barrier.subresourceRange.baseMipLevel = 0; ++ barrier.subresourceRange.levelCount = 1; ++ barrier.subresourceRange.baseArrayLayer = 0; ++ barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), + GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, + nullptr, 1, &barrier); +@@ -233,17 +232,16 @@ + uint32_t buffer_height, + uint32_t width, + uint32_t height) { +- VkBufferImageCopy region = { +- .bufferOffset = 0, +- .bufferRowLength = buffer_width, +- .bufferImageHeight = buffer_height, +- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, +- .imageSubresource.mipLevel = 0, +- .imageSubresource.baseArrayLayer = 0, +- .imageSubresource.layerCount = 1, +- .imageOffset = {0, 0, 0}, +- .imageExtent = {width, height, 1}, +- }; ++ VkBufferImageCopy region = {}; ++ region.bufferOffset = 0; ++ region.bufferRowLength = buffer_width; ++ region.bufferImageHeight = buffer_height; ++ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; ++ region.imageSubresource.mipLevel = 0; ++ region.imageSubresource.baseArrayLayer = 0; ++ region.imageSubresource.layerCount = 1; ++ region.imageOffset = {0, 0, 0}; ++ region.imageExtent = {width, height, 1}; + vkCmdCopyBufferToImage(command_buffer_, buffer, image, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); + } diff --git a/chromium.spec b/chromium.spec index 1d3a256..602b236 100644 --- a/chromium.spec +++ b/chromium.spec @@ -261,6 +261,13 @@ Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch +# Fix Vulkan compilation with gcc +# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 +Patch47: chromium-76.0.3809.100-gcc-vulkan.patch +# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 +Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch +# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b +Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -818,6 +825,9 @@ udev. %patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc +%patch47 -p1 -b .gcc-vulkan +%patch48 -p1 -b .gcc-cc-no-except +%patch49 -p1 -b .gcc-net-fetcher # EPEL specific patches %if 0%{?rhel} == 7 @@ -1064,6 +1074,7 @@ ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node # Remove most of the bundled libraries. Libraries specified below (taken from # Gentoo's Chromium ebuild) are the libraries that needs to be preserved. build/linux/unbundle/remove_bundled_libraries.py \ + 'base/third_party/cityhash' \ 'base/third_party/dmg_fp' \ 'base/third_party/dynamic_annotations' \ 'base/third_party/icu' \ @@ -1104,6 +1115,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/blink' \ 'third_party/boringssl' \ 'third_party/boringssl/src/third_party/fiat' \ + 'third_party/boringssl/src/third_party/sike' \ + 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ @@ -1229,6 +1242,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/sinonjs' \ 'third_party/skia' \ 'third_party/skia/include/third_party/vulkan' \ + 'third_party/skia/include/third_party/skcms' \ 'third_party/skia/third_party/gif' \ 'third_party/skia/third_party/skcms' \ 'third_party/skia/third_party/vulkan' \ diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index 76c73ae..f2225ea 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -41,9 +41,9 @@ def parse_sources(input_sources, output_sources, arch_not_arm): append_sources (block[1], output_sources) -def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): +def parse_ffmpeg_gni_file(gni_path, arch_not_arm): - with open(gyni_path, "r") as input_file: + with open(gni_path, "r") as input_file: content = input_file.read().replace('\n', '') output_sources = [] @@ -62,7 +62,7 @@ def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): limitations = ['ffmpeg_branding == "Chrome"', 'ffmpeg_branding == "ChromeOS"'] if ('use_linux_config' in condition) and not any(limitation in condition for limitation in limitations): if (arch_not_arm): - if ('x64' in condition) or ('x86' in condition): + if ('x64' in condition) or ('x86' in condition) or ('use_linux_config' in condition): parse_sources (block[1], output_sources, arch_not_arm) inserted = True else: @@ -79,4 +79,4 @@ def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm): if __name__ == "__main__": path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1] - parse_ffmpeg_gyni_file (path, False if sys.argv[2] == "0" else True) + parse_ffmpeg_gni_file (path, False if sys.argv[2] == "0" else True) diff --git a/sources b/sources index 778c103..4e53fd1 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ad250b8cd0a01297fdff85c12a4dca85477cf027a68c0a9f7a3bc93b825772d17ddd062a89020ae954def781f19fe44beedb33ec8a86f3c12af290edb43d6ee9 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5 From 1a67b56d44deb64d939d0a00e018ff038d58a703 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 14:38:51 +0200 Subject: [PATCH 036/171] Backport more build fixes from upstream --- ....3809.100-gcc-ambigous-instantiation.patch | 39 +++ ...0.3809.100-gcc-feature-policy-parser.patch | 76 ++++++ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 +++ ...100-gcc-move-explicit-initialization.patch | 97 ++++++++ ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ++++++++++++++++++ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 +++ ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 +++++ chromium.spec | 21 ++ 8 files changed, 586 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch create mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch create mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch create mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch create mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch create mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch create mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..587abf3 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch @@ -0,0 +1,39 @@ +From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 19:46:55 +0000 +Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. + +Use brace-list notation to wrap the already existing brace-list for +initializing the flat-set. This resolves an ambiguous instantiation +in GCC. + +Bug: 819294 +Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 +Reviewed-by: Matt Menke +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666401} +--- + +diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc +index 30999c0..60a03f6 100644 +--- a/services/network/cross_origin_read_blocking.cc ++++ b/services/network/cross_origin_read_blocking.cc +@@ -211,7 +211,7 @@ + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -224,7 +224,7 @@ + "application/x-www-form-urlencoded", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch new file mode 100644 index 0000000..0dbffd5 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch @@ -0,0 +1,76 @@ +From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 19:44:58 +0200 +Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace + +Compilation fails because we are declaring ParseValueForFuzzer as friend method, +but we are declaring it is in anonymous namespace. Moving to global namespace +still fails (in this case in Clang). + +So final solution is making it a public static method of FeaturePolicyParser. + +Bug: 819294 +Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 +--- + +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +index 3b7f4a9..eaee409 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc +@@ -317,6 +317,13 @@ + return value; + } + ++void FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType feature_type, ++ const WTF::String& value_string) { ++ bool ok; ++ ParseValueForType(feature_type, value_string, &ok); ++} ++ + bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, + const ParsedFeaturePolicy& policy) { + return std::any_of(policy.begin(), policy.end(), +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +index fd25d90..36af405 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h +@@ -16,9 +16,6 @@ + #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" + #include "third_party/blink/renderer/platform/wtf/vector.h" + +-// Forward declare for friendship. +-void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); +- + namespace blink { + + class Document; +@@ -79,8 +76,9 @@ + const FeatureNameMap& feature_names, + ExecutionContext* execution_context = nullptr); + ++ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); ++ + private: +- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); + static PolicyValue GetFallbackValueForFeature( + mojom::FeaturePolicyFeature feature); + static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, +diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +index 7f8e6aa..53350e43 100644 +--- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc ++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc +@@ -23,9 +23,9 @@ + extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + static blink::BlinkFuzzerTestSupport test_support = + blink::BlinkFuzzerTestSupport(); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, +- WTF::String(data, size)); +- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, +- WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); ++ blink::FeaturePolicyParser::ParseValueForFuzzer( ++ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); + return 0; + } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch new file mode 100644 index 0000000..26bba05 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch @@ -0,0 +1,32 @@ +From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 17:18:40 +0000 +Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr + +Other HasFraction methods as in PhysicalUnit are declared already +constexpr and using it. It breaks GCC build. + +Bug: 819294. +Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 +Reviewed-by: vmpstr +Reviewed-by: Xianzhu Wang +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666336} +--- + +diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h +index f073986..b6dbc76 100644 +--- a/third_party/blink/renderer/platform/geometry/layout_unit.h ++++ b/third_party/blink/renderer/platform/geometry/layout_unit.h +@@ -202,7 +202,9 @@ + return value_ > 0 ? LayoutUnit() : *this; + } + +- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } ++ constexpr bool HasFraction() const { ++ return RawValue() % kFixedPointDenominator; ++ } + + LayoutUnit Fraction() const { + // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch new file mode 100644 index 0000000..1d4b90f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch @@ -0,0 +1,97 @@ +From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 08:00:13 +0000 +Subject: [PATCH] GCC: move explicit specialization out of RunInfo + +Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks +build because of that. Move the template specializations out of RunInfo declaration +in shape_result_inline_headeres.h to fix the GCC build issue. + +Bug: 819294 +Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#667901} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +index 76ee6091..c14d3a0 100644 +--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h ++++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h +@@ -251,37 +251,6 @@ + template + struct iterator final {}; + +- // For non-zero glyph offset array +- template <> +- struct iterator final { +- // The constructor for ShapeResult +- explicit iterator(const GlyphOffsetArray& array) +- : pointer(array.storage_.get()) { +- DCHECK(pointer); +- } +- +- // The constructor for ShapeResultView +- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { +- DCHECK(pointer); +- } +- +- GlyphOffset operator*() const { return *pointer; } +- void operator++() { ++pointer; } +- +- const GlyphOffset* pointer; +- }; +- +- // For zero glyph offset array +- template <> +- struct iterator final { +- explicit iterator(const GlyphOffsetArray& array) { +- DCHECK(!array.HasStorage()); +- } +- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } +- GlyphOffset operator*() const { return GlyphOffset(); } +- void operator++() {} +- }; +- + template + iterator GetIterator() const { + return iterator(*this); +@@ -495,6 +464,37 @@ + float width_; + }; + ++// For non-zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ // The constructor for ShapeResult ++ explicit iterator(const GlyphOffsetArray& array) ++ : pointer(array.storage_.get()) { ++ DCHECK(pointer); ++ } ++ ++ // The constructor for ShapeResultView ++ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { ++ DCHECK(pointer); ++ } ++ ++ GlyphOffset operator*() const { return *pointer; } ++ void operator++() { ++pointer; } ++ ++ const GlyphOffset* pointer; ++}; ++ ++// For zero glyph offset array ++template <> ++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { ++ explicit iterator(const GlyphOffsetArray& array) { ++ DCHECK(!array.HasStorage()); ++ } ++ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } ++ GlyphOffset operator*() const { return GlyphOffset(); } ++ void operator++() {} ++}; ++ + // Find the range of HarfBuzzRunGlyphData for the specified character index + // range. This function uses binary search twice, hence O(2 log n). + inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch new file mode 100644 index 0000000..98789d9 --- /dev/null +++ b/chromium-76.0.3809.100-quiche-compile-fix.patch @@ -0,0 +1,225 @@ +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 +@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength + std::string TransportParameterIdToString( + TransportParameters::TransportParameterId param_id) { + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + return "original_connection_id"; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + return "idle_timeout"; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + return "stateless_reset_token"; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + return "max_packet_size"; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + return "initial_max_data"; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + return "initial_max_stream_data_bidi_local"; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + return "initial_max_stream_data_bidi_remote"; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + return "initial_max_stream_data_uni"; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + return "initial_max_streams_bidi"; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + return "initial_max_streams_uni"; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + return "ack_delay_exponent"; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + return "max_ack_delay"; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + return "disable_migration"; +- case kPreferredAddress: ++ case TransportParameters::kPreferredAddress: + return "preferred_address"; +- case kGoogleQuicParam: ++ case TransportParameters::kGoogleQuicParam: + return "google"; +- case kGoogleQuicVersion: ++ case TransportParameters::kGoogleQuicVersion: + return "google-version"; + } + return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; +@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const + CBB original_connection_id_param; + if (!in.original_connection_id.IsEmpty()) { + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || + !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || + !CBB_add_bytes( + &original_connection_id_param, +@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const + if (!in.stateless_reset_token.empty()) { + DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); + DCHECK_EQ(Perspective::IS_SERVER, in.perspective); +- if (!CBB_add_u16(¶ms, kStatelessResetToken) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || + !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || + !CBB_add_bytes(&stateless_reset_token_param, + in.stateless_reset_token.data(), +@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const + + // disable_migration + if (in.disable_migration) { +- if (!CBB_add_u16(¶ms, kDisableMigration) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || + !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. + QUIC_BUG << "Failed to write disable_migration for " << in; + return false; +@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const + QUIC_BUG << "Bad lengths " << *in.preferred_address; + return false; + } +- if (!CBB_add_u16(¶ms, kPreferredAddress) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || + !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || + !CBB_add_bytes( + &preferred_address_params, +@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const + if (in.google_quic_params) { + const QuicData& serialized_google_quic_params = + in.google_quic_params->GetSerialized(); +- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || + !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || + !CBB_add_bytes(&google_quic_params, + reinterpret_cast( +@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const + + // Google-specific version extension. + CBB google_version_params; +- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || ++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || + !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || + !CBB_add_u32(&google_version_params, in.version)) { + QUIC_BUG << "Failed to write Google version extension for " << in; +@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint + } + bool parse_success = true; + switch (param_id) { +- case kOriginalConnectionId: ++ case TransportParameters::kOriginalConnectionId: + if (!out->original_connection_id.IsEmpty()) { + QUIC_DLOG(ERROR) << "Received a second original connection ID"; + return false; +@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint + CBS_len(&value)); + } + break; +- case kIdleTimeout: ++ case TransportParameters::kIdleTimeout: + parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); + break; +- case kStatelessResetToken: ++ case TransportParameters::kStatelessResetToken: + if (!out->stateless_reset_token.empty()) { + QUIC_DLOG(ERROR) << "Received a second stateless reset token"; + return false; +@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint + out->stateless_reset_token.assign(CBS_data(&value), + CBS_data(&value) + CBS_len(&value)); + break; +- case kMaxPacketSize: ++ case TransportParameters::kMaxPacketSize: + parse_success = out->max_packet_size.ReadFromCbs(&value); + break; +- case kInitialMaxData: ++ case TransportParameters::kInitialMaxData: + parse_success = out->initial_max_data.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiLocal: ++ case TransportParameters::kInitialMaxStreamDataBidiLocal: + parse_success = + out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataBidiRemote: ++ case TransportParameters::kInitialMaxStreamDataBidiRemote: + parse_success = + out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); + break; +- case kInitialMaxStreamDataUni: ++ case TransportParameters::kInitialMaxStreamDataUni: + parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsBidi: ++ case TransportParameters::kInitialMaxStreamsBidi: + parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); + break; +- case kInitialMaxStreamsUni: ++ case TransportParameters::kInitialMaxStreamsUni: + parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); + break; +- case kAckDelayExponent: ++ case TransportParameters::kAckDelayExponent: + parse_success = out->ack_delay_exponent.ReadFromCbs(&value); + break; +- case kMaxAckDelay: ++ case TransportParameters::kMaxAckDelay: + parse_success = out->max_ack_delay.ReadFromCbs(&value); + break; +- case kDisableMigration: ++ case TransportParameters::kDisableMigration: + if (out->disable_migration) { + QUIC_DLOG(ERROR) << "Received a second disable migration"; + return false; +@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint + } + out->disable_migration = true; + break; +- case kPreferredAddress: { ++ case TransportParameters::kPreferredAddress: { + uint16_t ipv4_port, ipv6_port; + in_addr ipv4_address; + in6_addr ipv6_address; +@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint + QuicMakeUnique( + preferred_address); + } break; +- case kGoogleQuicParam: { ++ case TransportParameters::kGoogleQuicParam: { + if (out->google_quic_params) { + QUIC_DLOG(ERROR) << "Received a second Google parameter"; + return false; +@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint + reinterpret_cast(CBS_data(&value)), CBS_len(&value)); + out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); + } break; +- case kGoogleQuicVersion: { ++ case TransportParameters::kGoogleQuicVersion: { + if (!CBS_get_u32(&value, &out->version)) { + QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; + return false; +diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc +--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 ++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 +@@ -2,10 +2,12 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-#include +- + #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" + ++#include ++#include ++#include ++ + namespace quic { + + namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch new file mode 100644 index 0000000..5e392e6 --- /dev/null +++ b/chromium-76.0.3809.100-throttling-dead-beef.patch @@ -0,0 +1,30 @@ +From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 06 Jun 2019 07:54:05 +0000 +Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t + +We are setting kAlive and kDead values assigning values that +are bigger than the maximum signed int32. It is better to use +uint32_t in this case. + +Bug: 819294 +Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 +Reviewed-by: Kinuko Yasuda +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666619} +--- + +diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h +index 43751c4..3c6f87b 100644 +--- a/services/network/throttling/throttling_controller.h ++++ b/services/network/throttling/throttling_controller.h +@@ -38,7 +38,7 @@ + + // TODO(https://crbug.com/960874): Debugging code to try and shed some light + // on why the owned maps are invalid. +- enum class Liveness : int32_t { ++ enum class Liveness : uint32_t { + kAlive = 0xCA11AB13, + kDead = 0xDEADBEEF, + }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch new file mode 100644 index 0000000..a392971 --- /dev/null +++ b/chromium-76.0.3809.100-weak-ptr-no-except.patch @@ -0,0 +1,66 @@ +From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Thu, 18 Jul 2019 14:26:11 +0200 +Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression + +A GCC build regression has happened on DisjointRangeLockManager, as its move +operator and constructor were declared noexcept. This was failing because the +default implementation depended on base::WeakPtr, that did not provide +noexcept declaration for them. + +So make base::WeakPtr noexcept. + +Bug: 819294 +Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 +--- + +diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc +index 64fd499..0efcc44 100644 +--- a/base/memory/weak_ptr.cc ++++ b/base/memory/weak_ptr.cc +@@ -46,7 +46,7 @@ + + WeakReference::~WeakReference() = default; + +-WeakReference::WeakReference(WeakReference&& other) = default; ++WeakReference::WeakReference(WeakReference&& other) noexcept = default; + + WeakReference::WeakReference(const WeakReference& other) = default; + +diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h +index 72b5f1f..ccd22fd13 100644 +--- a/base/memory/weak_ptr.h ++++ b/base/memory/weak_ptr.h +@@ -116,9 +116,9 @@ + explicit WeakReference(const scoped_refptr& flag); + ~WeakReference(); + +- WeakReference(WeakReference&& other); ++ WeakReference(WeakReference&& other) noexcept; + WeakReference(const WeakReference& other); +- WeakReference& operator=(WeakReference&& other) = default; ++ WeakReference& operator=(WeakReference&& other) noexcept = default; + WeakReference& operator=(const WeakReference& other) = default; + + bool IsValid() const; +@@ -153,9 +153,9 @@ + ~WeakPtrBase(); + + WeakPtrBase(const WeakPtrBase& other) = default; +- WeakPtrBase(WeakPtrBase&& other) = default; ++ WeakPtrBase(WeakPtrBase&& other) noexcept = default; + WeakPtrBase& operator=(const WeakPtrBase& other) = default; +- WeakPtrBase& operator=(WeakPtrBase&& other) = default; ++ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; + + void reset() { + ref_ = internal::WeakReference(); +@@ -236,7 +236,7 @@ + ptr_ = reinterpret_cast(t); + } + template +- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { ++ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { + // Need to cast from U* to T* to do pointer adjustment in case of multiple + // inheritance. This also enforces the "U is a T" rule. + T* t = reinterpret_cast(other.ptr_); diff --git a/chromium.spec b/chromium.spec index 602b236..383bfa9 100644 --- a/chromium.spec +++ b/chromium.spec @@ -268,6 +268,20 @@ Patch47: chromium-76.0.3809.100-gcc-vulkan.patch Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch +# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 +Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch +# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c +Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch +# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e +Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e +Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch +# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc +Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch +# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb +Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 +Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -828,6 +842,13 @@ udev. %patch47 -p1 -b .gcc-vulkan %patch48 -p1 -b .gcc-cc-no-except %patch49 -p1 -b .gcc-net-fetcher +%patch50 -p1 -b .quiche-compile-fix +%patch51 -p1 -b .throttling-dead-beef +%patch52 -p1 -b .gcc-ambigous-instantiation +%patch53 -p1 -b .weak-ptr-no-except +%patch54 -p1 -b .gcc-feature-policy-parser +%patch55 -p1 -b .gcc-hasfraction-constexpr +%patch56 -p1 -b .gcc-move-explicit-initialization # EPEL specific patches %if 0%{?rhel} == 7 From fe364063662ff690dddac23adfbefaa89814446b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:38:35 +0200 Subject: [PATCH 037/171] third_party/openscreen need to be preserved --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 383bfa9..f23664a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1232,6 +1232,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %if %{freeworld} 'third_party/openh264' \ %endif + 'third_party/openscreen' \ 'third_party/opus' \ 'third_party/ots' \ 'third_party/pdfium' \ From c9aa7a867c3a970130d8fe4c48f6a93c07c0394b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 15:41:23 +0200 Subject: [PATCH 038/171] third_party/boringssl/linux-x86_64/crypto/third_party/sike needs to be preserved --- chromium.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index f23664a..0d575b1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1137,7 +1137,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/boringssl' \ 'third_party/boringssl/src/third_party/fiat' \ 'third_party/boringssl/src/third_party/sike' \ - 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \ + 'third_party/boringssl/linux-x86_64/crypto/third_party/sike' \ + 'third_party/boringssl/linux-aarch64/crypto/third_party/sike' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ From f687cc7a6b92595598b044e4ee85e758be0dbabd Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 14 Aug 2019 09:52:16 -0400 Subject: [PATCH 039/171] loosen dependency on chromium-libs in freeworld build --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 0d575b1..bf6bdcb 100644 --- a/chromium.spec +++ b/chromium.spec @@ -730,7 +730,7 @@ Shared libraries used by chromium (and chrome-remote-desktop). Summary: Chromium media libraries built with all possible codecs Provides: chromium-libs-media = %{version}-%{release} Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version}-%{release} +Requires: chromium-libs%{_isa} = %{version} Requires(post): %{_sbindir}/update-alternatives Requires(preun): %{_sbindir}/update-alternatives From e116fd0fc7270d308792bc56e849c5b237539c6c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 16:52:41 +0200 Subject: [PATCH 040/171] Pulseaudio changed the API in 12.99 and we need to adapt the signatures --- chromium-76.0.3809.100-pulse-api-change.patch | 42 +++++++++++++++++++ chromium.spec | 13 +++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.100-pulse-api-change.patch diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch new file mode 100644 index 0000000..37d3dfa --- /dev/null +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -0,0 +1,42 @@ +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 +@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info + pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); + pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); + pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); +-pa_context_state_t pa_context_get_state(pa_context* c); ++pa_context_state_t pa_context_get_state(const pa_context* c); + pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); + pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); + void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* + int pa_stream_disconnect(pa_stream* s); + int pa_stream_drop(pa_stream *p); + pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); +-uint32_t pa_stream_get_device_index(pa_stream* s); ++uint32_t pa_stream_get_device_index(const pa_stream* s); + int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); +-pa_stream_state_t pa_stream_get_state(pa_stream* p); ++pa_stream_state_t pa_stream_get_state(const pa_stream* p); + pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); + pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); + pa_proplist* pa_proplist_new(void); +-int pa_proplist_contains(pa_proplist* p, const char* key); ++int pa_proplist_contains(const pa_proplist* p, const char* key); + void pa_proplist_free(pa_proplist* p); +-const char* pa_proplist_gets(pa_proplist* p, const char* key); ++const char* pa_proplist_gets(const pa_proplist* p, const char* key); + int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); +-size_t pa_stream_readable_size(pa_stream *p); ++size_t pa_stream_readable_size(const pa_stream *p); + int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); + void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); + void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); + int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); + void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); + void pa_stream_unref(pa_stream* s); +-int pa_context_errno(pa_context *c); ++int pa_context_errno(const pa_context *c); + const char* pa_strerror(int error); + pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); diff --git a/chromium.spec b/chromium.spec index bf6bdcb..f91b60b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -141,6 +141,13 @@ BuildRequires: libicu-devel >= 5.4 %global bundleharfbuzz 0 %endif +# Pulseaudio changed the API a little in 12.99.1 +%if 0%{?fedora} > 30 +%global pulseaudioapichange 1 +%else +%global pulseaudioapichange 0 +%endif + ### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) ### Note: These are for Fedora use ONLY. ### For your own distribution, please get your own set of keys. @@ -306,6 +313,8 @@ Patch202: enable-vaapi.patch Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch # Fix compatibility with VA-API library (libva) version 1 Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch +# Pulseaudio changed the API a little in 12.99.1 +Patch205: chromium-76.0.3809.100-pulse-api-change.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -491,7 +500,6 @@ BuildRequires: pkgconfig(gtk+-3.0) %else BuildRequires: pkgconfig(gtk+-2.0) %endif -BuildRequires: pulseaudio-libs-devel BuildRequires: python2-devel %if 0%{?fedora} > 27 BuildRequires: python2-beautifulsoup4 @@ -871,6 +879,9 @@ udev. %endif %endif +%if 0%{?pulseaudioapichange} +%patch205 -p1 -b .pulseaudioapichange +%endif # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works From 259b8d60635c8d2a70a78e156a68c5c74eac42b7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:17:42 +0200 Subject: [PATCH 041/171] Add missing ffmpeg file on aarch64 --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..e190296 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,6 +216,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ + libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index 4e53fd1..d6d53e4 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 From e38a4336b16cf4894f1b16e933f89b43929ab2fa Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 14 Aug 2019 23:22:37 +0200 Subject: [PATCH 042/171] Update the Pulseaudio's pa_operation_get_state() signature Missed it while updating the Pulseaudio signatures. --- chromium-76.0.3809.100-pulse-api-change.patch | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch index 37d3dfa..d4e2b46 100644 --- a/chromium-76.0.3809.100-pulse-api-change.patch +++ b/chromium-76.0.3809.100-pulse-api-change.patch @@ -1,7 +1,7 @@ -diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs ---- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200 -+++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200 -@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info +diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs +--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change 2019-08-14 23:18:59.624627870 +0200 ++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 23:19:41.258104998 +0200 +@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); @@ -10,6 +10,11 @@ diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change ch pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +-pa_operation_state_t pa_operation_get_state(pa_operation* o); ++pa_operation_state_t pa_operation_get_state(const pa_operation* o); + void pa_context_unref(pa_context* c); + void pa_operation_unref(pa_operation* o); + int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); @@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* int pa_stream_disconnect(pa_stream* s); int pa_stream_drop(pa_stream *p); From 27f92858f587dcdf5e5db52227568fcdbd3c064c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:03:49 +0200 Subject: [PATCH 043/171] Backport another upstream build fix --- ....0.3809.100-gcc-initialization-order.patch | 33 +++++++++++++++++++ chromium.spec | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch new file mode 100644 index 0000000..3bf394f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-initialization-order.patch @@ -0,0 +1,33 @@ +From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 05 Jun 2019 21:09:01 +0000 +Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration + +XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the +same order of the declaration. GCC fails because of that. + +Bug: 819294 +Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 +Reviewed-by: Zhenyao Mo +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#666436} +--- + +diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc +index f649dd4..0aa6892 100644 +--- a/ui/gl/gl_surface_glx.cc ++++ b/ui/gl/gl_surface_glx.cc +@@ -583,10 +583,10 @@ + + XSetWindowAttributes swa = { + .background_pixmap = 0, +- .bit_gravity = NorthWestGravity, +- .colormap = g_colormap, + .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM + .border_pixel = 0, ++ .bit_gravity = NorthWestGravity, ++ .colormap = g_colormap, + }; + auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; + if (ui::IsCompositingManagerPresent() && diff --git a/chromium.spec b/chromium.spec index f91b60b..64e3243 100644 --- a/chromium.spec +++ b/chromium.spec @@ -289,6 +289,8 @@ Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch # https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc +Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -857,6 +859,7 @@ udev. %patch54 -p1 -b .gcc-feature-policy-parser %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization +%patch57 -p1 -b .gcc-initialization-order # EPEL specific patches %if 0%{?rhel} == 7 From 1bc7f18b155f4de674dcf1548a08e7957f3ec557 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 07:10:04 +0200 Subject: [PATCH 044/171] Upload the new cleaned tarball with aarch64 sources Previously I forgot to pass the --ffmpegarm while generating the tarball. --- clean_ffmpeg.sh | 1 - sources | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index e190296..2f27435 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -216,7 +216,6 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/x86/videodsp_init.c \ libavcodec/x86/vorbisdsp_init.c \ libavcodec/autorename_libavcodec_mdct15.c \ - libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \ libavcodec/bit_depth_template.c \ libavcodec/fft_template.c \ libavcodec/flacdec.c \ diff --git a/sources b/sources index d6d53e4..b7a420d 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753 +SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 From 889d5867f1c13e38a1e521a80639cecfb212da22 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 15 Aug 2019 21:14:35 +0200 Subject: [PATCH 045/171] Backport and create more of the GCC fixes --- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 +++++++++++++++++++ ...0.3809.100-gcc-history-move-noexcept.patch | 42 +++++++++++++++ ...0.3809.100-gcc-no-alignas-and-export.patch | 14 +++++ ...0.3809.100-gcc-themeservice-includes.patch | 36 +++++++++++++ chromium.spec | 14 +++++ 5 files changed, 159 insertions(+) create mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-gcc-no-alignas-and-export.patch create mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..5f45a8f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,53 @@ +From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 18:38:12 +0200 +Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo + +AccountInfo declares them as noexcept and uses default implementation, +so all its members (including AccountId) should be noexcept. But AccountId +is not noexcept. To fix it we just need to make CoreAccountId move +operator/assign operator noexcept. + +Bug: 819294 +Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 +--- + +diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc +index d808082..12eefe3 100644 +--- a/google_apis/gaia/core_account_id.cc ++++ b/google_apis/gaia/core_account_id.cc +@@ -6,8 +6,16 @@ + + CoreAccountId::CoreAccountId() = default; + ++CoreAccountId::CoreAccountId(const CoreAccountId&) = default; ++ ++CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::~CoreAccountId() = default; + ++CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; ++ ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++ + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h +index 5ea602a..c2d1911 100644 +--- a/google_apis/gaia/core_account_id.h ++++ b/google_apis/gaia/core_account_id.h +@@ -14,8 +14,13 @@ + // for design and tracking). + struct CoreAccountId { + CoreAccountId(); ++ CoreAccountId(const CoreAccountId&); ++ CoreAccountId(CoreAccountId&&) noexcept; + ~CoreAccountId(); + ++ CoreAccountId& operator=(const CoreAccountId&); ++ CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing + // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch new file mode 100644 index 0000000..2876de4 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch @@ -0,0 +1,42 @@ +From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 11 Jun 2019 10:27:19 +0200 +Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow + +In GCC, build is failing because history::QueryURLResult declares its move +assignment operator as noexcept using default implementation. That requires +its members to provide a move assignment operator that is noexcept too. + +But URLRow was missing noexcept declaration in move assignment operator (even +though it was providing noexcept to its move constructor). + +Bug: 819294 +Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f +--- + +diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc +index 44c22fd..aec0101 100644 +--- a/components/history/core/browser/url_row.cc ++++ b/components/history/core/browser/url_row.cc +@@ -26,7 +26,7 @@ + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) = default; ++URLRow& URLRow::operator=(URLRow&& other) noexcept = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); +diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h +index 8f6f9cf..31a1ef8 100644 +--- a/components/history/core/browser/url_row.h ++++ b/components/history/core/browser/url_row.h +@@ -35,7 +35,7 @@ + + virtual ~URLRow(); + URLRow& operator=(const URLRow& other); +- URLRow& operator=(URLRow&& other); ++ URLRow& operator=(URLRow&& other) noexcept; + + URLID id() const { return id_; } + diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch new file mode 100644 index 0000000..cc91d1e --- /dev/null +++ b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -0,0 +1,14 @@ +diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h +--- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 ++++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 +@@ -176,8 +176,8 @@ class CSSLazyPropertyParser + DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); + }; + +-class CORE_EXPORT alignas(Member) alignas( +- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet ++class CORE_EXPORT ALIGNAS(alignof(Member)) ++ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet + : public CSSPropertyValueSet { + public: + ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch new file mode 100644 index 0000000..ad40bb9 --- /dev/null +++ b/chromium-76.0.3809.100-gcc-themeservice-includes.patch @@ -0,0 +1,36 @@ +From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 04 Jun 2019 22:01:03 +0200 +Subject: [PATCH] IWYU: ThemeService requires NativeTheme + +As ThemeService referes to NativeTheme through a ScopedObserver, +the full declaration is required. + +Bug: 819294 +Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 +--- + +diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc +index d65388e2..23dc86d 100644 +--- a/chrome/browser/themes/theme_service.cc ++++ b/chrome/browser/themes/theme_service.cc +@@ -54,7 +54,6 @@ + #include "ui/gfx/color_palette.h" + #include "ui/gfx/image/image_skia.h" + #include "ui/native_theme/common_theme.h" +-#include "ui/native_theme/native_theme.h" + + #if BUILDFLAG(ENABLE_EXTENSIONS) + #include "base/scoped_observer.h" +diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h +index 6c79c72..f93dc0d 100644 +--- a/chrome/browser/themes/theme_service.h ++++ b/chrome/browser/themes/theme_service.h +@@ -25,6 +25,7 @@ + #include "extensions/buildflags/buildflags.h" + #include "extensions/common/extension_id.h" + #include "ui/base/theme_provider.h" ++#include "ui/native_theme/native_theme.h" + #include "ui/native_theme/native_theme_observer.h" + + class BrowserThemePack; diff --git a/chromium.spec b/chromium.spec index 64e3243..de9e05b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -291,6 +291,16 @@ Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch # https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch +# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 +Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c +Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 +Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +# TBD - need to submit it +# In GCC one can't use alignas() for exported classes (as described in +# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -860,6 +870,10 @@ udev. %patch55 -p1 -b .gcc-hasfraction-constexpr %patch56 -p1 -b .gcc-move-explicit-initialization %patch57 -p1 -b .gcc-initialization-order +%patch58 -p1 -b .gcc-history-move-noexcept +%patch59 -p1 -b .gcc-accountinfo-move-noexcept +%patch60 -p1 -b .gcc-themeservice-includes +%patch61 -p1 -b .gcc-no-alignas-and-export # EPEL specific patches %if 0%{?rhel} == 7 From b7cedf6c8b4face5dc2fbbc12dac2e79f595f51e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 16 Aug 2019 13:58:53 +0200 Subject: [PATCH 046/171] //third_party dependency missing for remoting --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index de9e05b..f003849 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1207,6 +1207,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/google_input_tools' \ 'third_party/google_input_tools/third_party/closure_library' \ 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ + 'third_party/google_trust_services' \ 'third_party/googletest' \ 'third_party/glslang' \ 'third_party/grpc' \ From f9c9c7947364cd595b70d26ddb65216d73140a98 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 21:36:06 +0200 Subject: [PATCH 047/171] Fix the build of remoting_all target --- ...76.0.3809.100-gcc-remoting-constexpr.patch | 27 +++++++++++++++++++ ...6.0.3809.100-vtable-symbol-undefined.patch | 11 ++++++++ chromium.spec | 11 +++++--- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 chromium-76.0.3809.100-gcc-remoting-constexpr.patch create mode 100644 chromium-76.0.3809.100-vtable-symbol-undefined.patch diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch new file mode 100644 index 0000000..c59702f --- /dev/null +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -0,0 +1,27 @@ +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 +@@ -9,8 +9,7 @@ + namespace remoting { + + // static +-const base::TimeDelta MessageTracker::kCleanupInterval = +- base::TimeDelta::FromMinutes(2); ++constexpr base::TimeDelta MessageTracker::kCleanupInterval; + + MessageTracker::MessageTracker() = default; + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 ++++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 +@@ -36,7 +36,8 @@ class MessageTracker final { + + // All IDs older than now - kCleanupInterval will be eventually removed, but + // they are not guaranteed to be immediately removed after the interval. +- static constexpr base::TimeDelta kCleanupInterval; ++ static constexpr base::TimeDelta kCleanupInterval = ++ base::TimeDelta::FromMinutes(2); + + void RemoveExpiredIds(); + +diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch new file mode 100644 index 0000000..64532df --- /dev/null +++ b/chromium-76.0.3809.100-vtable-symbol-undefined.patch @@ -0,0 +1,11 @@ +diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc +--- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 ++++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 +@@ -18,6 +18,7 @@ + #include "net/quic/crypto/proof_verifier_chromium.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" + #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" ++#include "net/quic/platform/impl/quic_flags_impl.cc" + + DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, + certificate_file, diff --git a/chromium.spec b/chromium.spec index f003849..e06bcdd 100644 --- a/chromium.spec +++ b/chromium.spec @@ -297,10 +297,13 @@ Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch # https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch -# TBD - need to submit it -# In GCC one can't use alignas() for exported classes (as described in -# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103) +# In GCC one can't use alignas() for exported classes +# https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +# Needs to be submitted.. +Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +# Needs to be submitted.. (ugly hack, needs to be added properly to GN files) +Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -874,6 +877,8 @@ udev. %patch59 -p1 -b .gcc-accountinfo-move-noexcept %patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export +%patch62 -p1 -b .gcc-remoting-constexpr +%patch63 -p1 -b .vtable-symbol-undefined # EPEL specific patches %if 0%{?rhel} == 7 From 6b2762ec894618ec9928d55d9a9853ee1e942966 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Aug 2019 22:07:44 +0200 Subject: [PATCH 048/171] Fix the previously uploaded patch --- chromium-76.0.3809.100-gcc-remoting-constexpr.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch index c59702f..aec3107 100644 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch @@ -12,13 +12,13 @@ diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-conste MessageTracker::MessageTracker() = default; diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 21:27:53.539653248 +0200 +--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 +++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 @@ -36,7 +36,8 @@ class MessageTracker final { // All IDs older than now - kCleanupInterval will be eventually removed, but // they are not guaranteed to be immediately removed after the interval. -- static constexpr base::TimeDelta kCleanupInterval; +- static const base::TimeDelta kCleanupInterval; + static constexpr base::TimeDelta kCleanupInterval = + base::TimeDelta::FromMinutes(2); From 50c0a963fb2e55e8364c9416842595bd21bd9f01 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 21 Aug 2019 13:51:11 +0200 Subject: [PATCH 049/171] Update the list of private libraries and remove a pak file that was removed --- chromium.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index e06bcdd..8a246b7 100644 --- a/chromium.spec +++ b/chromium.spec @@ -54,9 +54,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg|libfontconfig +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig %else -%global privlibs libEGL|libGLESv2|libVkICD_mock_icd|libVkLayer_core_validation|libVkLayer_object_lifetimes|libVkLayer_stateless_validation|libVkLayer_thread_safety|libVkLayer_unique_objects|libaccessibility|libandroid_mojo_bindings_shared|libanimation|libapdu|libaura|libaura_extra|libauthenticator_test_mojo_bindings_shared|libbase|libbase_i18n|libbindings|libbindings_base|libblink_common|libblink_controller|libblink_core|libblink_embedded_frame_sink_mojo_bindings_shared|libblink_features|libblink_modules|libblink_mojo_bindings_shared|libblink_mojom_broadcastchannel_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc|libcc_animation|libcc_base|libcc_debug|libcc_mojo_embedder|libcc_paint|libcdm_manager|libcertificate_matching|libchrome_features|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent_service_cpp|libcontent_service_mojom|libcontent_service_mojom_shared|libcrash_key|libcrcrypto|libdbus|libdbus_thread_linux|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevice_vr|libdevice_vr_mojo_bindings|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevices|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libembedder|libembedder_switches|libevents|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents_x|libextras|libfido|libfingerprint|libfreetype_harfbuzz|libgamepad_mojom|libgamepad_mojom_blink|libgamepad_mojom_shared|libgamepad_shared_typemap_traits|libgcm|libgeometry|libgeometry_skia|libgesture_detection|libgfx|libgfx_ipc|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_switches|libgfx_x11|libgin|libgl_in_process_context|libgl_init|libgl_wrapper|libgles2|libgles2_implementation|libgles2_utils|libgpu|libgpu_ipc_service|libgtkui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc|libipc_mojom|libipc_mojom_shared|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|liblearning_common|liblearning_impl|libleveldatabase|liblive_tab_count_metrics|libmanager|libmedia_blink|libmedia_filters_jpeg_parser|libmedia_gpu|libmedia_mojo_services|libmedia_session_cpp|libmedia_webrtc|libmemory_instrumentation|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmirclient.so.9|libmirroring_service|libmojo_base_lib|libmojo_base_mojom|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_shared_typemap_traits|libmojo_core_embedder|libmojo_core_embedder_internal|libmojo_core_ports|libmojo_cpp_platform|libmojo_ime_lib|libmojo_mojom_bindings|libmojo_mojom_bindings_shared|libmojo_public_system|libmojo_public_system_cpp|libmojom_core_shared|libmojom_mhtml_load_result_shared|libmojom_modules_shared|libmojom_platform_shared|libmpris|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp|libnetwork_cpp_base|libnetwork_service|libnetwork_session_configurator|libonc|libos_crypt|libperfetto|libplatform|libplatform_window_handler_libs|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp_features|libresource_coordinator_public_mojom|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libsandbox|libsandbox_services|libscheduling_metrics|libseccomp_bpf|libservice|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom|libservice_manager_mojom_blink|libservice_manager_mojom_constants|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_shared|libservice_manager_mojom_traits|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libtracing_cpp|libtracing_mojom|libtracing_mojom_shared|libui_accessibility_ax_mojom|libui_accessibility_ax_mojom_blink|libui_accessibility_ax_mojom_shared|libui_base|libui_base_clipboard|libui_base_clipboard_types|libui_base_features|libui_base_idle|libui_base_ime|libui_base_ime_init|libui_base_ime_linux|libui_base_ime_types|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl|liburl_ipc|liburl_matcher|libusb_shared|libuser_manager|libuser_prefs|libv8|libv8_libbase|libv8_libplatform|libviews|libviz_common|libviz_resource_format_utils|libviz_vulkan_context_provider|libvr_base|libvr_common|libvulkan_init|libvulkan_wrapper|libvulkan_x11|libweb_dialogs|libweb_feature_mojo_bindings_mojom|libweb_feature_mojo_bindings_mojom_blink|libweb_feature_mojo_bindings_mojom_shared|libwebdata_common|libwebgpu|libwebview|libwm|libwm_public|libwtf|libx11_events_platform|libx11_window|libzygote|libmedia|libffmpeg +%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia %endif %global __requires_exclude ^(%{privlibs})\\.so* @@ -1753,7 +1753,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/chrome_*.pak %{chromium_path}/resources.pak %{chromium_path}/icudtl.dat -%{chromium_path}/views_mus_resources.pak %{chromium_path}/%{chromium_browser_channel} %{chromium_path}/%{chromium_browser_channel}.sh %{chromium_path}/MEIPreload/ From af4746e6db6857279053ac789cb8fe0fe8af4b88 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 07:54:57 +0200 Subject: [PATCH 050/171] Fix the EL7 build as it doesn't like part of the upstream GCC patch --- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 +++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..09fccf6 --- /dev/null +++ b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,23 @@ +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 +@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; +- + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 +@@ -19,7 +19,6 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing diff --git a/chromium.spec b/chromium.spec index 8a246b7..e09a0ac 100644 --- a/chromium.spec +++ b/chromium.spec @@ -311,6 +311,8 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch +# el7 only patch as it doesn't like on of the operator= change in patch59 +Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -885,6 +887,7 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept +%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept %endif # Feature specific patches From aaab3d4ed48f25ec94e1169d61281ab3ceef5d31 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 11:01:37 +0200 Subject: [PATCH 051/171] More el7 fixes Merge the previously committed change in to the el7-noexcept patch and revert another change that is needed on Fedora, but breaking the build on EL7. --- chromium-75.0.3770.100-el7-fix-noexcept.patch | 54 ----------- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 ----- chromium-76.0.3809.100-el7-noexcept.patch | 89 +++++++++++++++++++ chromium.spec | 7 +- 4 files changed, 92 insertions(+), 81 deletions(-) delete mode 100644 chromium-75.0.3770.100-el7-fix-noexcept.patch delete mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-el7-noexcept.patch diff --git a/chromium-75.0.3770.100-el7-fix-noexcept.patch b/chromium-75.0.3770.100-el7-fix-noexcept.patch deleted file mode 100644 index eaba072..0000000 --- a/chromium-75.0.3770.100-el7-fix-noexcept.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc ---- chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-06-18 11:47:55.000000000 -0400 -+++ chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc 2019-06-20 10:17:27.440446569 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-75.0.3770.100/components/policy/core/common/policy_map.cc ---- chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-06-18 11:48:01.000000000 -0400 -+++ chromium-75.0.3770.100/components/policy/core/common/policy_map.cc 2019-06-20 10:17:27.444446463 -0400 -@@ -31,7 +31,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-75.0.3770.100/components/signin/core/browser/account_info.cc ---- chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-06-20 10:17:27.444446463 -0400 -+++ chromium-75.0.3770.100/components/signin/core/browser/account_info.cc 2019-06-20 10:19:17.959532865 -0400 -@@ -51,7 +51,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -diff -up chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept chromium-75.0.3770.100/gpu/config/gpu_info.cc ---- chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept 2019-06-18 11:48:10.000000000 -0400 -+++ chromium-75.0.3770.100/gpu/config/gpu_info.cc 2019-06-20 10:17:27.445446437 -0400 -@@ -181,7 +181,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 09fccf6..0000000 --- a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 -@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -- - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 -@@ -19,7 +19,6 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch new file mode 100644 index 0000000..054d42e --- /dev/null +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -0,0 +1,89 @@ +diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +@@ -19,7 +19,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), diff --git a/chromium.spec b/chromium.spec index e09a0ac..c961abc 100644 --- a/chromium.spec +++ b/chromium.spec @@ -310,9 +310,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch -# el7 only patch as it doesn't like on of the operator= change in patch59 -Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +Patch102: chromium-76.0.3809.100-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -887,7 +885,8 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept +# Revert patch58 because it's breaking the build on el7 +%patch58 -R -p1 %endif # Feature specific patches From e39b8894d22437395e67a474b9b4addd5ef616e2 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 13:48:03 +0200 Subject: [PATCH 052/171] Another el7 noexcept change --- chromium-76.0.3809.100-el7-noexcept.patch | 50 ++++++++++++++++------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 054d42e..99593f7 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -1,6 +1,6 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 @@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id provider_id_(provider_id) {} @@ -16,11 +16,33 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe bool MediaSink::IsMaybeCloudSink() const { switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc +--- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h +--- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 @@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( PolicyMap::Entry::~Entry() = default; @@ -31,8 +53,8 @@ diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7- PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { Entry copy; diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 @@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = default; @@ -52,8 +74,8 @@ diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.e bool AccountInfo::IsEmpty() const { return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 @@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; @@ -64,8 +86,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept CoreAccountId::CoreAccountId(const char* id) : id(id) {} diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 @@ -19,7 +19,7 @@ struct CoreAccountId { ~CoreAccountId(); @@ -76,8 +98,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept // Those implicit constructor and conversion operator allow to // progressively migrate the code to use this struct. Removing diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 @@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: const GPUInfo::GPUDevice& other) = default; From fc327721ea71add7014b3a415a52b0c58f1606de Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 26 Aug 2019 14:40:26 +0200 Subject: [PATCH 053/171] Another noexec fix for EL7 --- chromium-76.0.3809.100-el7-noexcept.patch | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 99593f7..407f8de 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -18,7 +18,7 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe switch (icon_type_) { diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc --- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 @@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& Swap(&other); } @@ -28,9 +28,18 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc Swap(&other); return *this; } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h --- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 @@ -143,7 +143,7 @@ class QueryResults { ~QueryResults(); @@ -40,6 +49,15 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h. void set_reached_beginning(bool reached) { reached_beginning_ = reached; } bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc --- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 +++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 From b82b0a31dd6fca01269e15e1262ee63551753142 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:13:54 +0200 Subject: [PATCH 054/171] Update to 76.0.3809.132 --- ....3809.100-gcc-ambigous-instantiation.patch | 39 ------------------- chromium.spec | 7 +++- sources | 2 +- 3 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch deleted file mode 100644 index 587abf3..0000000 --- a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 19:46:55 +0000 -Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. - -Use brace-list notation to wrap the already existing brace-list for -initializing the flat-set. This resolves an ambiguous instantiation -in GCC. - -Bug: 819294 -Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 -Reviewed-by: Matt Menke -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666401} ---- - -diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc -index 30999c0..60a03f6 100644 ---- a/services/network/cross_origin_read_blocking.cc -+++ b/services/network/cross_origin_read_blocking.cc -@@ -211,7 +211,7 @@ - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -224,7 +224,7 @@ - "application/x-www-form-urlencoded", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium.spec b/chromium.spec index c961abc..cbc4fa4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -171,7 +171,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.100 +Version: %{majorversion}.0.3809.132 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -280,7 +280,7 @@ Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch # https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch # https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch # https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc @@ -1908,6 +1908,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 +- Update to 76.0.3809.132 + * Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 - Update to 76.0.3809.100 diff --git a/sources b/sources index b7a420d..2d38a7c 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 +SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f From 8b5c622431489da2ed177d880f7fddd66e8967d2 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:56:12 +0200 Subject: [PATCH 055/171] Add an updated patch that was missed --- ....3809.132-gcc-ambigous-instantiation.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..73db4d4 --- /dev/null +++ b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch @@ -0,0 +1,21 @@ +diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc +--- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 +@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni + "application/x-protobuf", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. From ed655503ee49db321bfbf84dca4364a8c5979f72 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 07:54:57 +0200 Subject: [PATCH 056/171] Fix the EL7 build as it doesn't like part of the upstream GCC patch --- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 +++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..09fccf6 --- /dev/null +++ b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,23 @@ +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 +@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; +- + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 +@@ -19,7 +19,6 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing diff --git a/chromium.spec b/chromium.spec index 59883f4..6d9a760 100644 --- a/chromium.spec +++ b/chromium.spec @@ -311,6 +311,8 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch +# el7 only patch as it doesn't like on of the operator= change in patch59 +Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -885,6 +887,7 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept +%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept %endif # Feature specific patches From 32cbc6922abb2d6107ff13fd072c874202bcabb8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 11:01:37 +0200 Subject: [PATCH 057/171] More el7 fixes Merge the previously committed change in to the el7-noexcept patch and revert another change that is needed on Fedora, but breaking the build on EL7. --- chromium-75.0.3770.100-el7-fix-noexcept.patch | 54 ----------- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 ----- chromium-76.0.3809.100-el7-noexcept.patch | 89 +++++++++++++++++++ chromium.spec | 7 +- 4 files changed, 92 insertions(+), 81 deletions(-) delete mode 100644 chromium-75.0.3770.100-el7-fix-noexcept.patch delete mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-el7-noexcept.patch diff --git a/chromium-75.0.3770.100-el7-fix-noexcept.patch b/chromium-75.0.3770.100-el7-fix-noexcept.patch deleted file mode 100644 index eaba072..0000000 --- a/chromium-75.0.3770.100-el7-fix-noexcept.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc ---- chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-06-18 11:47:55.000000000 -0400 -+++ chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc 2019-06-20 10:17:27.440446569 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-75.0.3770.100/components/policy/core/common/policy_map.cc ---- chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-06-18 11:48:01.000000000 -0400 -+++ chromium-75.0.3770.100/components/policy/core/common/policy_map.cc 2019-06-20 10:17:27.444446463 -0400 -@@ -31,7 +31,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-75.0.3770.100/components/signin/core/browser/account_info.cc ---- chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-06-20 10:17:27.444446463 -0400 -+++ chromium-75.0.3770.100/components/signin/core/browser/account_info.cc 2019-06-20 10:19:17.959532865 -0400 -@@ -51,7 +51,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -diff -up chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept chromium-75.0.3770.100/gpu/config/gpu_info.cc ---- chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept 2019-06-18 11:48:10.000000000 -0400 -+++ chromium-75.0.3770.100/gpu/config/gpu_info.cc 2019-06-20 10:17:27.445446437 -0400 -@@ -181,7 +181,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 09fccf6..0000000 --- a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 -@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -- - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 -@@ -19,7 +19,6 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch new file mode 100644 index 0000000..054d42e --- /dev/null +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -0,0 +1,89 @@ +diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +@@ -19,7 +19,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), diff --git a/chromium.spec b/chromium.spec index 6d9a760..980cf6b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -310,9 +310,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch -# el7 only patch as it doesn't like on of the operator= change in patch59 -Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +Patch102: chromium-76.0.3809.100-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -887,7 +885,8 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept +# Revert patch58 because it's breaking the build on el7 +%patch58 -R -p1 %endif # Feature specific patches From e79629f80cbd2f675d4076bf19e451106de4edeb Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 13:48:03 +0200 Subject: [PATCH 058/171] Another el7 noexcept change --- chromium-76.0.3809.100-el7-noexcept.patch | 50 ++++++++++++++++------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 054d42e..99593f7 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -1,6 +1,6 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 @@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id provider_id_(provider_id) {} @@ -16,11 +16,33 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe bool MediaSink::IsMaybeCloudSink() const { switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc +--- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h +--- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 @@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( PolicyMap::Entry::~Entry() = default; @@ -31,8 +53,8 @@ diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7- PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { Entry copy; diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 @@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = default; @@ -52,8 +74,8 @@ diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.e bool AccountInfo::IsEmpty() const { return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 @@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; @@ -64,8 +86,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept CoreAccountId::CoreAccountId(const char* id) : id(id) {} diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 @@ -19,7 +19,7 @@ struct CoreAccountId { ~CoreAccountId(); @@ -76,8 +98,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept // Those implicit constructor and conversion operator allow to // progressively migrate the code to use this struct. Removing diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 @@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: const GPUInfo::GPUDevice& other) = default; From 22d44ca53a19cbe79f6355ddefb3304796bb3336 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 26 Aug 2019 14:40:26 +0200 Subject: [PATCH 059/171] Another noexec fix for EL7 --- chromium-76.0.3809.100-el7-noexcept.patch | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 99593f7..407f8de 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -18,7 +18,7 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe switch (icon_type_) { diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc --- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 @@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& Swap(&other); } @@ -28,9 +28,18 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc Swap(&other); return *this; } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h --- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 @@ -143,7 +143,7 @@ class QueryResults { ~QueryResults(); @@ -40,6 +49,15 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h. void set_reached_beginning(bool reached) { reached_beginning_ = reached; } bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc --- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 +++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 From 503e7f07db727ed866a0b344937089c38a6bca75 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:13:54 +0200 Subject: [PATCH 060/171] Update to 76.0.3809.132 --- ....3809.100-gcc-ambigous-instantiation.patch | 39 ------------------- chromium.spec | 7 +++- sources | 2 +- 3 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch deleted file mode 100644 index 587abf3..0000000 --- a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 19:46:55 +0000 -Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. - -Use brace-list notation to wrap the already existing brace-list for -initializing the flat-set. This resolves an ambiguous instantiation -in GCC. - -Bug: 819294 -Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 -Reviewed-by: Matt Menke -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666401} ---- - -diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc -index 30999c0..60a03f6 100644 ---- a/services/network/cross_origin_read_blocking.cc -+++ b/services/network/cross_origin_read_blocking.cc -@@ -211,7 +211,7 @@ - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -224,7 +224,7 @@ - "application/x-www-form-urlencoded", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium.spec b/chromium.spec index 980cf6b..aec9f9f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -171,7 +171,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.100 +Version: %{majorversion}.0.3809.132 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -280,7 +280,7 @@ Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch # https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch # https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch # https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc @@ -1908,6 +1908,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 +- Update to 76.0.3809.132 + * Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 - Update to 76.0.3809.100 diff --git a/sources b/sources index b7a420d..2d38a7c 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 +SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f From 5bc875d20d07ffbc4beede7dcb32efe0f5533bdb Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:56:12 +0200 Subject: [PATCH 061/171] Add an updated patch that was missed --- ....3809.132-gcc-ambigous-instantiation.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..73db4d4 --- /dev/null +++ b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch @@ -0,0 +1,21 @@ +diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc +--- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 +@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni + "application/x-protobuf", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. From 7c18e771ba54f0923dbdf05446074ccb8e67aefe Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 07:54:57 +0200 Subject: [PATCH 062/171] Fix the EL7 build as it doesn't like part of the upstream GCC patch --- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 +++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch new file mode 100644 index 0000000..09fccf6 --- /dev/null +++ b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch @@ -0,0 +1,23 @@ +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 +@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; +- + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + + CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 +@@ -19,7 +19,6 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing diff --git a/chromium.spec b/chromium.spec index 8a246b7..e09a0ac 100644 --- a/chromium.spec +++ b/chromium.spec @@ -311,6 +311,8 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch +# el7 only patch as it doesn't like on of the operator= change in patch59 +Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -885,6 +887,7 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept +%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept %endif # Feature specific patches From 6ad9fbddea2eecba05be099267a9d751cf756dac Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 11:01:37 +0200 Subject: [PATCH 063/171] More el7 fixes Merge the previously committed change in to the el7-noexcept patch and revert another change that is needed on Fedora, but breaking the build on EL7. --- chromium-75.0.3770.100-el7-fix-noexcept.patch | 54 ----------- ...00-el7-gcc-accountinfo-move-noexcept.patch | 23 ----- chromium-76.0.3809.100-el7-noexcept.patch | 89 +++++++++++++++++++ chromium.spec | 7 +- 4 files changed, 92 insertions(+), 81 deletions(-) delete mode 100644 chromium-75.0.3770.100-el7-fix-noexcept.patch delete mode 100644 chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch create mode 100644 chromium-76.0.3809.100-el7-noexcept.patch diff --git a/chromium-75.0.3770.100-el7-fix-noexcept.patch b/chromium-75.0.3770.100-el7-fix-noexcept.patch deleted file mode 100644 index eaba072..0000000 --- a/chromium-75.0.3770.100-el7-fix-noexcept.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc ---- chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-06-18 11:47:55.000000000 -0400 -+++ chromium-75.0.3770.100/chrome/common/media_router/media_sink.cc 2019-06-20 10:17:27.440446569 -0400 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-75.0.3770.100/components/policy/core/common/policy_map.cc ---- chromium-75.0.3770.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-06-18 11:48:01.000000000 -0400 -+++ chromium-75.0.3770.100/components/policy/core/common/policy_map.cc 2019-06-20 10:17:27.444446463 -0400 -@@ -31,7 +31,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-75.0.3770.100/components/signin/core/browser/account_info.cc ---- chromium-75.0.3770.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-06-20 10:17:27.444446463 -0400 -+++ chromium-75.0.3770.100/components/signin/core/browser/account_info.cc 2019-06-20 10:19:17.959532865 -0400 -@@ -51,7 +51,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -diff -up chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept chromium-75.0.3770.100/gpu/config/gpu_info.cc ---- chromium-75.0.3770.100/gpu/config/gpu_info.cc.el7-noexcept 2019-06-18 11:48:10.000000000 -0400 -+++ chromium-75.0.3770.100/gpu/config/gpu_info.cc 2019-06-20 10:17:27.445446437 -0400 -@@ -181,7 +181,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 09fccf6..0000000 --- a/chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:35:16.544308344 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 07:35:34.115441446 +0200 -@@ -14,8 +14,6 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -- - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.gcc-accountinfo-move-noexcept-epel 2019-08-23 07:36:05.994682935 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 07:36:13.039736302 +0200 -@@ -19,7 +19,6 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch new file mode 100644 index 0000000..054d42e --- /dev/null +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -0,0 +1,89 @@ +diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc +diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +@@ -19,7 +19,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), diff --git a/chromium.spec b/chromium.spec index e09a0ac..c961abc 100644 --- a/chromium.spec +++ b/chromium.spec @@ -310,9 +310,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-75.0.3770.100-el7-fix-noexcept.patch -# el7 only patch as it doesn't like on of the operator= change in patch59 -Patch103: chromium-76.0.3809.100-el7-gcc-accountinfo-move-noexcept.patch +Patch102: chromium-76.0.3809.100-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: @@ -887,7 +885,8 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -%patch103 -p1 -b .el7-gcc-accountinfo-move-noexcept +# Revert patch58 because it's breaking the build on el7 +%patch58 -R -p1 %endif # Feature specific patches From 46e50be91c550d58e3a45f8ea693507809f45df9 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 23 Aug 2019 13:48:03 +0200 Subject: [PATCH 064/171] Another el7 noexcept change --- chromium-76.0.3809.100-el7-noexcept.patch | 50 ++++++++++++++++------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 054d42e..99593f7 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -1,6 +1,6 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 10:35:14.911079823 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 10:35:14.911079823 +0200 +--- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 ++++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 @@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id provider_id_(provider_id) {} @@ -16,11 +16,33 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe bool MediaSink::IsMaybeCloudSink() const { switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.cc -diff -up chromium-76.0.3809.100/components/history/core/browser/url_row.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/url_row.h +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc +--- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h +--- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 10:35:01.127962168 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 10:35:01.075961724 +0200 +--- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 ++++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 @@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( PolicyMap::Entry::~Entry() = default; @@ -31,8 +53,8 @@ diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7- PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { Entry copy; diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 10:35:02.341972531 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 10:35:02.314972300 +0200 +--- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 ++++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 @@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = default; @@ -52,8 +74,8 @@ diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.e bool AccountInfo::IsEmpty() const { return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 10:52:29.047592493 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 10:52:48.243763687 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 @@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; @@ -64,8 +86,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept CoreAccountId::CoreAccountId(const char* id) : id(id) {} diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 10:52:31.541614735 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 10:53:03.252898948 +0200 +--- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 ++++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 @@ -19,7 +19,7 @@ struct CoreAccountId { ~CoreAccountId(); @@ -76,8 +98,8 @@ diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept // Those implicit constructor and conversion operator allow to // progressively migrate the code to use this struct. Removing diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-23 10:38:00.659317249 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 10:38:00.656317223 +0200 +--- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 ++++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 @@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: const GPUInfo::GPUDevice& other) = default; From 15f7f78118280501e6633507b74edb2d5688bf7a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 26 Aug 2019 14:40:26 +0200 Subject: [PATCH 065/171] Another noexec fix for EL7 --- chromium-76.0.3809.100-el7-noexcept.patch | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch index 99593f7..407f8de 100644 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ b/chromium-76.0.3809.100-el7-noexcept.patch @@ -18,7 +18,7 @@ diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noe switch (icon_type_) { diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc --- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-23 13:47:02.463525385 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 @@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& Swap(&other); } @@ -28,9 +28,18 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc Swap(&other); return *this; } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h --- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-23 13:46:48.022367596 +0200 ++++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 @@ -143,7 +143,7 @@ class QueryResults { ~QueryResults(); @@ -40,6 +49,15 @@ diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h. void set_reached_beginning(bool reached) { reached_beginning_ = reached; } bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc --- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 +++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 From a09f5470858174d9b79c6c4355f12d428ea97189 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:13:54 +0200 Subject: [PATCH 066/171] Update to 76.0.3809.132 --- ....3809.100-gcc-ambigous-instantiation.patch | 39 ------------------- chromium.spec | 7 +++- sources | 2 +- 3 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 chromium-76.0.3809.100-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch deleted file mode 100644 index 587abf3..0000000 --- a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 19:46:55 +0000 -Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. - -Use brace-list notation to wrap the already existing brace-list for -initializing the flat-set. This resolves an ambiguous instantiation -in GCC. - -Bug: 819294 -Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 -Reviewed-by: Matt Menke -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666401} ---- - -diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc -index 30999c0..60a03f6 100644 ---- a/services/network/cross_origin_read_blocking.cc -+++ b/services/network/cross_origin_read_blocking.cc -@@ -211,7 +211,7 @@ - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -224,7 +224,7 @@ - "application/x-www-form-urlencoded", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium.spec b/chromium.spec index c961abc..cbc4fa4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -171,7 +171,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.100 +Version: %{majorversion}.0.3809.132 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -280,7 +280,7 @@ Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch # https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch # https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch +Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch # https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch # https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc @@ -1908,6 +1908,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 +- Update to 76.0.3809.132 + * Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 - Update to 76.0.3809.100 diff --git a/sources b/sources index b7a420d..2d38a7c 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.100-clean.tar.xz) = 418ade473185717595b47fbf49ad58bd9bf7cece43f9e200108a2f4df1391bc6a09673e7c30a9958205e13650ed220ad289fe3d79d140612ec5c0bb7891fc8c8 +SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f From ea0cafa75a2e7de7b020c34adba5155dde0d2626 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Aug 2019 07:56:12 +0200 Subject: [PATCH 067/171] Add an updated patch that was missed --- ....3809.132-gcc-ambigous-instantiation.patch | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch new file mode 100644 index 0000000..73db4d4 --- /dev/null +++ b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch @@ -0,0 +1,21 @@ +diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc +--- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 +@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse + // confirmation sniffing because images, scripts, etc. are frequently + // mislabelled by http servers as HTML/JSON/XML). + base::flat_set& GetNeverSniffedMimeTypes() { +- static base::NoDestructor> s_types({ ++ static base::NoDestructor> s_types{{ + // The list below has been populated based on most commonly used content + // types according to HTTP Archive - see: + // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 +@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni + "application/x-protobuf", + "application/zip", + "text/event-stream", +- }); ++ }}; + + // All items need to be lower-case, to support case-insensitive comparisons + // later. From bc006359dd8cff1a6890d7791885e572914f8642 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 12:20:51 +0200 Subject: [PATCH 068/171] Backport patch to fix certificate transparency --- ....0.3809.132-certificate-transparency.patch | 206 ++++++++++++++++++ chromium.spec | 8 +- 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.132-certificate-transparency.patch diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch new file mode 100644 index 0000000..25a08af --- /dev/null +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -0,0 +1,206 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 +@@ -4,11 +4,13 @@ + + #include "chrome/browser/net/system_network_context_manager.h" + ++#include + #include + #include + #include + + #include "base/bind.h" ++#include "base/build_time.h" + #include "base/command_line.h" + #include "base/feature_list.h" + #include "base/logging.h" +@@ -51,6 +53,7 @@ + #include "content/public/common/mime_handler_view_mode.h" + #include "content/public/common/service_names.mojom.h" + #include "content/public/common/user_agent.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/associated_interface_ptr.h" + #include "net/dns/public/util.h" + #include "net/net_buildflags.h" +@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau + + bool http_09_on_non_default_ports_enabled = false; + #if !defined(OS_ANDROID) +- // CT is only enabled on Desktop platforms for now. ++ ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_IOS) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID, !OS_IOS) ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) + network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); + for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { + // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. + network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); + log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); + log_info->name = ct_log.log_name; ++ ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } + network_context_params->ct_logs.push_back(std::move(log_info)); + } ++#endif + + const base::Value* value = + g_browser_process->policy_service() +diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc +--- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 +@@ -35,6 +35,7 @@ + #include "components/prefs/pref_registry_simple.h" + #include "components/prefs/pref_service.h" + #include "components/prefs/pref_service_factory.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "net/base/layered_network_delegate.h" + #include "net/base/load_flags.h" +@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A + base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); + #endif // BUILDFLAG(ENABLE_REPORTING) + +-#if BUILDFLAG(IS_CT_SUPPORTED) +- if (params_->enforce_chrome_ct_policy) { +- builder->set_ct_policy_enforcer( +- std::make_unique( +- base::GetBuildTime(), +- certificate_transparency::GetDisqualifiedLogs(), +- certificate_transparency::GetLogsOperatedByGoogle())); +- } +-#endif // BUILDFLAG(IS_CT_SUPPORTED) +- + net::HttpNetworkSession::Params session_params; + bool is_quic_force_disabled = false; + if (network_service_ && network_service_->quic_disabled()) +@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A + + #if BUILDFLAG(IS_CT_SUPPORTED) + std::vector> ct_logs; ++ std::vector> disqualified_logs; ++ std::vector operated_by_google_logs; ++ + if (!params_->ct_logs.empty()) { + for (const auto& log : params_->ct_logs) { ++ if (log->operated_by_google || log->disqualified_at) { ++ std::string log_id = crypto::SHA256HashString(log->public_key); ++ if (log->operated_by_google) ++ operated_by_google_logs.push_back(log_id); ++ if (log->disqualified_at) { ++ disqualified_logs.push_back( ++ std::make_pair(log_id, log->disqualified_at.value())); ++ } ++ } + scoped_refptr log_verifier = + net::CTLogVerifier::Create(log->public_key, log->name); + if (!log_verifier) { +@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A + ct_verifier->AddLogs(ct_logs); + builder->set_ct_verifier(std::move(ct_verifier)); + } ++ ++ if (params_->enforce_chrome_ct_policy) { ++ builder.set_ct_policy_enforcer( ++ std::make_unique( ++ params_->ct_log_update_time, disqualified_logs, ++ operated_by_google_logs)); ++ } + #endif // BUILDFLAG(IS_CT_SUPPORTED) + + const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 +@@ -4,6 +4,8 @@ + + module network.mojom; + ++import "mojo/public/mojom/base/time.mojom"; ++ + // A single Certificate Transparency Log configuration. + struct CTLogInfo { + // The DER-encoded SubjectPublicKeyInfo of the log. +@@ -14,4 +16,13 @@ struct CTLogInfo { + // The human-readable, log-supplied log name. Note that this will not be + // translated. + string name; ++ ++ // Whether or not the log should should be considered a Google Log for the ++ // purposes of enforcing the "Certificate Transparency in Chrome" policy. ++ bool operated_by_google; ++ ++ // If set, the time since the Unix Epoch when the log was disqualified. This ++ // is used to determine the "once or currently qualified" status of the log. ++ // If the log is currently qualified, this will not be set. ++ mojo_base.mojom.TimeDelta? disqualified_at; + }; +diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 +@@ -238,15 +238,6 @@ struct NetworkContextParams { + [EnableIf=is_android] + bool check_clear_text_permitted = false; + +- // True if the "Certificate Transparency in Chrome" policy (see +- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should +- // be enforced for certificates and connections. +- // +- // See //net/docs/certificate-transparency.md before setting this flag to +- // true. +- [EnableIf=is_ct_supported] +- bool enforce_chrome_ct_policy = false; +- + // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. + bool http_09_on_non_default_ports_enabled = false; + +@@ -299,6 +290,15 @@ struct NetworkContextParams { + // servers, so they can discover misconfigurations. + bool enable_certificate_reporting = false; + ++ // True if the "Certificate Transparency in Chrome" policy (see ++ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should ++ // be enforced for certificates and connections. ++ // ++ // See //net/docs/certificate-transparency.md before setting this flag to ++ // true. ++ [EnableIf=is_ct_supported] ++ bool enforce_chrome_ct_policy = false; ++ + // Enables Expect CT reporting, which sends reports for opted-in sites that + // don't serve sufficient Certificate Transparency information. + [EnableIf=is_ct_supported] +@@ -310,6 +310,13 @@ struct NetworkContextParams { + [EnableIf=is_ct_supported] + array ct_logs; + ++ // When the Certificate Transparency logs in |ct_logs| were last updated. If ++ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not ++ // sufficiently recent, enforcement of the "Certificate Transparency in ++ // Chrome" policy will be disabled. ++ [EnableIf=is_ct_supported] ++ mojo_base.mojom.Time ct_log_update_time; ++ + // Specifies the path to the directory where NSS will store its database. + [EnableIf=is_chromeos] + mojo_base.mojom.FilePath? nss_path; diff --git a/chromium.spec b/chromium.spec index cbc4fa4..877f8f7 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3809.132 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -304,6 +304,8 @@ Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +# https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae +Patch64: chromium-76.0.3809.132-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -879,6 +881,7 @@ udev. %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined +%patch64 -p1 -b .certificate-transparency # EPEL specific patches %if 0%{?rhel} == 7 @@ -1908,6 +1911,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 +- Backport patch to fix certificate transparency + * Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 - Update to 76.0.3809.132 From fb0db49d82bdd82577da78dea191d39bf02f0051 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 12:20:51 +0200 Subject: [PATCH 069/171] Backport patch to fix certificate transparency --- ....0.3809.132-certificate-transparency.patch | 206 ++++++++++++++++++ chromium.spec | 8 +- 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.132-certificate-transparency.patch diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch new file mode 100644 index 0000000..25a08af --- /dev/null +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -0,0 +1,206 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 +@@ -4,11 +4,13 @@ + + #include "chrome/browser/net/system_network_context_manager.h" + ++#include + #include + #include + #include + + #include "base/bind.h" ++#include "base/build_time.h" + #include "base/command_line.h" + #include "base/feature_list.h" + #include "base/logging.h" +@@ -51,6 +53,7 @@ + #include "content/public/common/mime_handler_view_mode.h" + #include "content/public/common/service_names.mojom.h" + #include "content/public/common/user_agent.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/associated_interface_ptr.h" + #include "net/dns/public/util.h" + #include "net/net_buildflags.h" +@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau + + bool http_09_on_non_default_ports_enabled = false; + #if !defined(OS_ANDROID) +- // CT is only enabled on Desktop platforms for now. ++ ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_IOS) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID, !OS_IOS) ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) + network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); + for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { + // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. + network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); + log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); + log_info->name = ct_log.log_name; ++ ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } + network_context_params->ct_logs.push_back(std::move(log_info)); + } ++#endif + + const base::Value* value = + g_browser_process->policy_service() +diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc +--- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 +@@ -35,6 +35,7 @@ + #include "components/prefs/pref_registry_simple.h" + #include "components/prefs/pref_service.h" + #include "components/prefs/pref_service_factory.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "net/base/layered_network_delegate.h" + #include "net/base/load_flags.h" +@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A + base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); + #endif // BUILDFLAG(ENABLE_REPORTING) + +-#if BUILDFLAG(IS_CT_SUPPORTED) +- if (params_->enforce_chrome_ct_policy) { +- builder->set_ct_policy_enforcer( +- std::make_unique( +- base::GetBuildTime(), +- certificate_transparency::GetDisqualifiedLogs(), +- certificate_transparency::GetLogsOperatedByGoogle())); +- } +-#endif // BUILDFLAG(IS_CT_SUPPORTED) +- + net::HttpNetworkSession::Params session_params; + bool is_quic_force_disabled = false; + if (network_service_ && network_service_->quic_disabled()) +@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A + + #if BUILDFLAG(IS_CT_SUPPORTED) + std::vector> ct_logs; ++ std::vector> disqualified_logs; ++ std::vector operated_by_google_logs; ++ + if (!params_->ct_logs.empty()) { + for (const auto& log : params_->ct_logs) { ++ if (log->operated_by_google || log->disqualified_at) { ++ std::string log_id = crypto::SHA256HashString(log->public_key); ++ if (log->operated_by_google) ++ operated_by_google_logs.push_back(log_id); ++ if (log->disqualified_at) { ++ disqualified_logs.push_back( ++ std::make_pair(log_id, log->disqualified_at.value())); ++ } ++ } + scoped_refptr log_verifier = + net::CTLogVerifier::Create(log->public_key, log->name); + if (!log_verifier) { +@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A + ct_verifier->AddLogs(ct_logs); + builder->set_ct_verifier(std::move(ct_verifier)); + } ++ ++ if (params_->enforce_chrome_ct_policy) { ++ builder.set_ct_policy_enforcer( ++ std::make_unique( ++ params_->ct_log_update_time, disqualified_logs, ++ operated_by_google_logs)); ++ } + #endif // BUILDFLAG(IS_CT_SUPPORTED) + + const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 +@@ -4,6 +4,8 @@ + + module network.mojom; + ++import "mojo/public/mojom/base/time.mojom"; ++ + // A single Certificate Transparency Log configuration. + struct CTLogInfo { + // The DER-encoded SubjectPublicKeyInfo of the log. +@@ -14,4 +16,13 @@ struct CTLogInfo { + // The human-readable, log-supplied log name. Note that this will not be + // translated. + string name; ++ ++ // Whether or not the log should should be considered a Google Log for the ++ // purposes of enforcing the "Certificate Transparency in Chrome" policy. ++ bool operated_by_google; ++ ++ // If set, the time since the Unix Epoch when the log was disqualified. This ++ // is used to determine the "once or currently qualified" status of the log. ++ // If the log is currently qualified, this will not be set. ++ mojo_base.mojom.TimeDelta? disqualified_at; + }; +diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 +@@ -238,15 +238,6 @@ struct NetworkContextParams { + [EnableIf=is_android] + bool check_clear_text_permitted = false; + +- // True if the "Certificate Transparency in Chrome" policy (see +- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should +- // be enforced for certificates and connections. +- // +- // See //net/docs/certificate-transparency.md before setting this flag to +- // true. +- [EnableIf=is_ct_supported] +- bool enforce_chrome_ct_policy = false; +- + // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. + bool http_09_on_non_default_ports_enabled = false; + +@@ -299,6 +290,15 @@ struct NetworkContextParams { + // servers, so they can discover misconfigurations. + bool enable_certificate_reporting = false; + ++ // True if the "Certificate Transparency in Chrome" policy (see ++ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should ++ // be enforced for certificates and connections. ++ // ++ // See //net/docs/certificate-transparency.md before setting this flag to ++ // true. ++ [EnableIf=is_ct_supported] ++ bool enforce_chrome_ct_policy = false; ++ + // Enables Expect CT reporting, which sends reports for opted-in sites that + // don't serve sufficient Certificate Transparency information. + [EnableIf=is_ct_supported] +@@ -310,6 +310,13 @@ struct NetworkContextParams { + [EnableIf=is_ct_supported] + array ct_logs; + ++ // When the Certificate Transparency logs in |ct_logs| were last updated. If ++ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not ++ // sufficiently recent, enforcement of the "Certificate Transparency in ++ // Chrome" policy will be disabled. ++ [EnableIf=is_ct_supported] ++ mojo_base.mojom.Time ct_log_update_time; ++ + // Specifies the path to the directory where NSS will store its database. + [EnableIf=is_chromeos] + mojo_base.mojom.FilePath? nss_path; diff --git a/chromium.spec b/chromium.spec index aec9f9f..4239a65 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3809.132 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -304,6 +304,8 @@ Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +# https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae +Patch64: chromium-76.0.3809.132-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -879,6 +881,7 @@ udev. %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined +%patch64 -p1 -b .certificate-transparency # EPEL specific patches %if 0%{?rhel} == 7 @@ -1908,6 +1911,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 +- Backport patch to fix certificate transparency + * Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 - Update to 76.0.3809.132 From df09cb5bec0fb8b996887505bbdd979981c43adc Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 12:20:51 +0200 Subject: [PATCH 070/171] Backport patch to fix certificate transparency --- ....0.3809.132-certificate-transparency.patch | 206 ++++++++++++++++++ chromium.spec | 8 +- 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 chromium-76.0.3809.132-certificate-transparency.patch diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch new file mode 100644 index 0000000..25a08af --- /dev/null +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -0,0 +1,206 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 +@@ -4,11 +4,13 @@ + + #include "chrome/browser/net/system_network_context_manager.h" + ++#include + #include + #include + #include + + #include "base/bind.h" ++#include "base/build_time.h" + #include "base/command_line.h" + #include "base/feature_list.h" + #include "base/logging.h" +@@ -51,6 +53,7 @@ + #include "content/public/common/mime_handler_view_mode.h" + #include "content/public/common/service_names.mojom.h" + #include "content/public/common/user_agent.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/associated_interface_ptr.h" + #include "net/dns/public/util.h" + #include "net/net_buildflags.h" +@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau + + bool http_09_on_non_default_ports_enabled = false; + #if !defined(OS_ANDROID) +- // CT is only enabled on Desktop platforms for now. ++ ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_IOS) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID, !OS_IOS) ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) + network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); + for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { + // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. + network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); + log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); + log_info->name = ct_log.log_name; ++ ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } + network_context_params->ct_logs.push_back(std::move(log_info)); + } ++#endif + + const base::Value* value = + g_browser_process->policy_service() +diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc +--- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 +@@ -35,6 +35,7 @@ + #include "components/prefs/pref_registry_simple.h" + #include "components/prefs/pref_service.h" + #include "components/prefs/pref_service_factory.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "net/base/layered_network_delegate.h" + #include "net/base/load_flags.h" +@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A + base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); + #endif // BUILDFLAG(ENABLE_REPORTING) + +-#if BUILDFLAG(IS_CT_SUPPORTED) +- if (params_->enforce_chrome_ct_policy) { +- builder->set_ct_policy_enforcer( +- std::make_unique( +- base::GetBuildTime(), +- certificate_transparency::GetDisqualifiedLogs(), +- certificate_transparency::GetLogsOperatedByGoogle())); +- } +-#endif // BUILDFLAG(IS_CT_SUPPORTED) +- + net::HttpNetworkSession::Params session_params; + bool is_quic_force_disabled = false; + if (network_service_ && network_service_->quic_disabled()) +@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A + + #if BUILDFLAG(IS_CT_SUPPORTED) + std::vector> ct_logs; ++ std::vector> disqualified_logs; ++ std::vector operated_by_google_logs; ++ + if (!params_->ct_logs.empty()) { + for (const auto& log : params_->ct_logs) { ++ if (log->operated_by_google || log->disqualified_at) { ++ std::string log_id = crypto::SHA256HashString(log->public_key); ++ if (log->operated_by_google) ++ operated_by_google_logs.push_back(log_id); ++ if (log->disqualified_at) { ++ disqualified_logs.push_back( ++ std::make_pair(log_id, log->disqualified_at.value())); ++ } ++ } + scoped_refptr log_verifier = + net::CTLogVerifier::Create(log->public_key, log->name); + if (!log_verifier) { +@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A + ct_verifier->AddLogs(ct_logs); + builder->set_ct_verifier(std::move(ct_verifier)); + } ++ ++ if (params_->enforce_chrome_ct_policy) { ++ builder.set_ct_policy_enforcer( ++ std::make_unique( ++ params_->ct_log_update_time, disqualified_logs, ++ operated_by_google_logs)); ++ } + #endif // BUILDFLAG(IS_CT_SUPPORTED) + + const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 +@@ -4,6 +4,8 @@ + + module network.mojom; + ++import "mojo/public/mojom/base/time.mojom"; ++ + // A single Certificate Transparency Log configuration. + struct CTLogInfo { + // The DER-encoded SubjectPublicKeyInfo of the log. +@@ -14,4 +16,13 @@ struct CTLogInfo { + // The human-readable, log-supplied log name. Note that this will not be + // translated. + string name; ++ ++ // Whether or not the log should should be considered a Google Log for the ++ // purposes of enforcing the "Certificate Transparency in Chrome" policy. ++ bool operated_by_google; ++ ++ // If set, the time since the Unix Epoch when the log was disqualified. This ++ // is used to determine the "once or currently qualified" status of the log. ++ // If the log is currently qualified, this will not be set. ++ mojo_base.mojom.TimeDelta? disqualified_at; + }; +diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom +--- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 +@@ -238,15 +238,6 @@ struct NetworkContextParams { + [EnableIf=is_android] + bool check_clear_text_permitted = false; + +- // True if the "Certificate Transparency in Chrome" policy (see +- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should +- // be enforced for certificates and connections. +- // +- // See //net/docs/certificate-transparency.md before setting this flag to +- // true. +- [EnableIf=is_ct_supported] +- bool enforce_chrome_ct_policy = false; +- + // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. + bool http_09_on_non_default_ports_enabled = false; + +@@ -299,6 +290,15 @@ struct NetworkContextParams { + // servers, so they can discover misconfigurations. + bool enable_certificate_reporting = false; + ++ // True if the "Certificate Transparency in Chrome" policy (see ++ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should ++ // be enforced for certificates and connections. ++ // ++ // See //net/docs/certificate-transparency.md before setting this flag to ++ // true. ++ [EnableIf=is_ct_supported] ++ bool enforce_chrome_ct_policy = false; ++ + // Enables Expect CT reporting, which sends reports for opted-in sites that + // don't serve sufficient Certificate Transparency information. + [EnableIf=is_ct_supported] +@@ -310,6 +310,13 @@ struct NetworkContextParams { + [EnableIf=is_ct_supported] + array ct_logs; + ++ // When the Certificate Transparency logs in |ct_logs| were last updated. If ++ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not ++ // sufficiently recent, enforcement of the "Certificate Transparency in ++ // Chrome" policy will be disabled. ++ [EnableIf=is_ct_supported] ++ mojo_base.mojom.Time ct_log_update_time; ++ + // Specifies the path to the directory where NSS will store its database. + [EnableIf=is_chromeos] + mojo_base.mojom.FilePath? nss_path; diff --git a/chromium.spec b/chromium.spec index cbc4fa4..877f8f7 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3809.132 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -304,6 +304,8 @@ Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +# https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae +Patch64: chromium-76.0.3809.132-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -879,6 +881,7 @@ udev. %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined +%patch64 -p1 -b .certificate-transparency # EPEL specific patches %if 0%{?rhel} == 7 @@ -1908,6 +1911,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 +- Backport patch to fix certificate transparency + * Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 - Update to 76.0.3809.132 From b974e5ab1a621f965dba65d413d46ee4a964fbdf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 15:26:53 +0200 Subject: [PATCH 071/171] Fix certificate-transparency patch --- chromium-76.0.3809.132-certificate-transparency.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 25a08af..51937e0 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -121,7 +121,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- } + + if (params_->enforce_chrome_ct_policy) { -+ builder.set_ct_policy_enforcer( ++ builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, + operated_by_google_logs)); From 2f5fd975735eb1a7fd06d9804d0e036372e6ead7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 15:26:53 +0200 Subject: [PATCH 072/171] Fix certificate-transparency patch --- chromium-76.0.3809.132-certificate-transparency.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 25a08af..51937e0 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -121,7 +121,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- } + + if (params_->enforce_chrome_ct_policy) { -+ builder.set_ct_policy_enforcer( ++ builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, + operated_by_google_logs)); From da8d872e924923bdd1d8c7eae0ace87bba8c0309 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 3 Sep 2019 15:26:53 +0200 Subject: [PATCH 073/171] Fix certificate-transparency patch --- chromium-76.0.3809.132-certificate-transparency.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 25a08af..51937e0 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -121,7 +121,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- } + + if (params_->enforce_chrome_ct_policy) { -+ builder.set_ct_policy_enforcer( ++ builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, + operated_by_google_logs)); From 82c3fb0c11b8125b95e298f467ccc77d9f3bafa4 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 4 Sep 2019 10:48:30 +0200 Subject: [PATCH 074/171] More fixes to a backported patch for certificate transparency --- ....0.3809.132-certificate-transparency.patch | 409 ++++++++++++++++-- 1 file changed, 371 insertions(+), 38 deletions(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 51937e0..8bfbced 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -1,6 +1,73 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 +@@ -17,6 +17,7 @@ + #include "chrome/common/pref_names.h" + #include "chrome/test/base/in_process_browser_test.h" + #include "components/prefs/pref_service.h" ++#include "services/network/public/cpp/network_service_buildflags.h" + #include "services/network/public/mojom/network_context.mojom.h" + #include "services/network/public/mojom/network_service.mojom.h" + #include "testing/gmock/include/gmock/gmock.h" +@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont + INSTANTIATE_TEST_SUITE_P(, + SystemNetworkContextManagerStubResolverBrowsertest, + ::testing::Values(false, true)); ++ ++class SystemNetworkContextManagerCertificateTransparencyBrowsertest ++ : public SystemNetworkContextManagerBrowsertest, ++ public testing::WithParamInterface> { ++ public: ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ GetParam()); ++ } ++ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } ++}; ++ ++#if BUILDFLAG(IS_CT_SUPPORTED) ++IN_PROC_BROWSER_TEST_P( ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ CertificateTransparencyConfig) { ++ network::mojom::NetworkContextParamsPtr context_params = ++ g_browser_process->system_network_context_manager() ++ ->CreateDefaultNetworkContextParams(); ++ ++ const bool kDefault = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ true; ++#else ++ false; ++#endif ++ ++ EXPECT_EQ(GetParam().value_or(kDefault), ++ context_params->enforce_chrome_ct_policy); ++ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); ++ ++ if (GetParam().value_or(kDefault)) { ++ bool has_google_log = false; ++ bool has_disqualified_log = false; ++ for (const auto& ct_log : context_params->ct_logs) { ++ has_google_log |= ct_log->operated_by_google; ++ has_disqualified_log |= ct_log->disqualified_at.has_value(); ++ } ++ EXPECT_TRUE(has_google_log); ++ EXPECT_TRUE(has_disqualified_log); ++ } ++} ++#endif ++ ++INSTANTIATE_TEST_SUITE_P( ++ , ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ ::testing::Values(base::nullopt, true, false)); diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc --- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -23,52 +90,205 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau +@@ -81,6 +84,20 @@ + + namespace { + ++constexpr bool kCertificateTransparencyEnabled = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID); OS_IOS does not use this file ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) ++ true; ++#else ++ false; ++#endif ++ ++bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; ++ + // The global instance of the SystemNetworkContextmanager. + SystemNetworkContextManager* g_system_network_context_manager = nullptr; + +@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) - // CT is only enabled on Desktop platforms for now. +- network_context_params->enforce_chrome_ct_policy = true; +- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { +- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. +- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); +- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); +- log_info->name = ct_log.log_name; +- network_context_params->ct_logs.push_back(std::move(log_info)); + -+#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_IOS) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID, !OS_IOS) -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) - network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ if (g_enable_certificate_transparency) { ++ network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); + -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); - for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { - // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. - network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); - log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); - log_info->name = ct_log.log_name; ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); ++ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { ++ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); ++ log_info->name = ct_log.log_name; + -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } ++ network_context_params->ct_logs.push_back(std::move(log_info)); + } - network_context_params->ct_logs.push_back(std::move(log_info)); } -+#endif const base::Value* value = - g_browser_process->policy_service() +@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth + return CreateHttpAuthDynamicParams(g_browser_process->local_state()); + } + ++void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled) { ++ g_enable_certificate_transparency = ++ enabled.value_or(kCertificateTransparencyEnabled); ++} ++ + network::mojom::NetworkContextParamsPtr + SystemNetworkContextManager::CreateNetworkContextParams() { + // TODO(mmenke): Set up parameters here (in memory cookie store, etc). +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 +@@ -158,6 +158,12 @@ class SystemNetworkContextManager { + static network::mojom::HttpAuthDynamicParamsPtr + GetHttpAuthDynamicParamsForTesting(); + ++ // Enables Certificate Transparency and enforcing the Chrome Certificate ++ // Transparency Policy. For test use only. Use base::nullopt_t to reset to ++ // the default state. ++ static void SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled); ++ + private: + class URLLoaderFactoryForSystem; + +diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm + browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); + } + +-IN_PROC_BROWSER_TEST_F(PolicyTest, ++IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, + CertificateTransparencyEnforcementDisabledForCas) { + net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); + https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -8,6 +8,7 @@ + #include "base/callback.h" + #include "base/run_loop.h" + #include "base/test/scoped_feature_list.h" ++#include "chrome/browser/net/system_network_context_manager.h" + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/ssl/cert_verifier_browser_test.h" + #include "chrome/browser/ui/browser.h" +@@ -27,7 +28,17 @@ namespace { + // received by a server. + class ExpectCTBrowserTest : public CertVerifierBrowserTest { + public: +- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} ++ ExpectCTBrowserTest() : CertVerifierBrowserTest() { ++ // Expect-CT reporting depends on actually enforcing Certificate ++ // Transparency. ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~ExpectCTBrowserTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + run_loop_ = std::make_unique(); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi + SecurityStateTabHelperTest() + : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { + https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~SecurityStateTabHelperTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); + } + + void SetUpOnMainThread() override { +diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 +@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : + public: + CertificateTransparencySSLUITest() + : CertVerifierBrowserTest(), +- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} +- ~CertificateTransparencySSLUITest() override {} ++ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ~CertificateTransparencySSLUITest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + CertVerifierBrowserTest::SetUpOnMainThread(); +diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 ++++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne + + void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } + ++ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end ++ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is ++ // correctly constructed). When either this issue or https://crbug.com/848277 ++ // are fixed, the configuration can be tested independently, and these can ++ // be removed. ++ const std::vector& operated_by_google_logs_for_testing() { ++ return operated_by_google_logs_; ++ } ++ const std::vector>& ++ disqualified_logs_for_testing() { ++ return disqualified_logs_; ++ } ++ + private: + // Returns true if the log identified by |log_id| (the SHA-256 hash of the + // log's DER-encoded SPKI) has been disqualified, and sets diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc --- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 @@ -35,6 +35,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" @@ -115,12 +335,16 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A +@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } + + if (params_->enforce_chrome_ct_policy) { ++ std::sort(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs)); ++ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); ++ + builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, @@ -129,9 +353,118 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc +--- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +@@ -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 + #include + #include + #include +@@ -38,10 +39,12 @@ + #include "base/threading/thread_task_runner_handle.h" + #include "base/time/default_clock.h" + #include "base/time/default_tick_clock.h" ++#include "base/time/time.h" + #include "build/build_config.h" + #include "components/network_session_configurator/browser/network_session_configurator.h" + #include "components/network_session_configurator/common/network_switches.h" + #include "components/prefs/testing_pref_service.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/interface_request.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/system/data_pipe_utils.h" +@@ -113,6 +116,11 @@ + #include "url/scheme_host_port.h" + #include "url/url_constants.h" + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" ++#include "services/network/public/mojom/ct_log_info.mojom.h" ++#endif ++ + #if BUILDFLAG(ENABLE_REPORTING) + #include "net/network_error_logging/network_error_logging_service.h" + #include "net/reporting/reporting_cache.h" +@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki + EXPECT_EQ("None", response_body); + } + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++TEST_F(NetworkContextTest, CertificateTransparencyConfig) { ++ mojom::NetworkContextParamsPtr params = CreateContextParams(); ++ params->enforce_chrome_ct_policy = true; ++ params->ct_log_update_time = base::Time::Now(); ++ ++ // The log public keys do not matter for the test, so invalid keys are used. ++ // However, because the log IDs are derived from the SHA-256 hash of the log ++ // key, the log keys are generated such that qualified logs are in the form ++ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the ++ // form of four letters (e.g. "AAAA", "BBBB"). ++ ++ for (int i = 0; i < 6; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII '0' (0x30) ++ log_info->public_key = std::string(4, 0x30 + static_cast(i)); ++ log_info->name = std::string(4, 0x30 + static_cast(i)); ++ log_info->operated_by_google = i % 2; ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ for (int i = 0; i < 3; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII 'A' (0x41) ++ log_info->public_key = std::string(4, 0x41 + static_cast(i)); ++ log_info->name = std::string(4, 0x41 + static_cast(i)); ++ log_info->operated_by_google = false; ++ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ std::unique_ptr network_context = ++ CreateContextWithParams(std::move(params)); ++ ++ net::CTPolicyEnforcer* request_enforcer = ++ network_context->url_request_context()->ct_policy_enforcer(); ++ ASSERT_TRUE(request_enforcer); ++ ++ // Completely unsafe if |enforce_chrome_ct_policy| is false. ++ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = ++ reinterpret_cast( ++ request_enforcer); ++ ++ EXPECT_TRUE(std::is_sorted( ++ policy_enforcer->operated_by_google_logs_for_testing().begin(), ++ policy_enforcer->operated_by_google_logs_for_testing().end())); ++ EXPECT_TRUE( ++ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), ++ policy_enforcer->disqualified_logs_for_testing().end())); ++ ++ EXPECT_THAT( ++ policy_enforcer->operated_by_google_logs_for_testing(), ++ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), ++ crypto::SHA256HashString("3333"), ++ crypto::SHA256HashString("5555")})); ++ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), ++ ::testing::UnorderedElementsAre( ++ ::testing::Pair(crypto::SHA256HashString("AAAA"), ++ base::TimeDelta::FromSeconds(0)), ++ ::testing::Pair(crypto::SHA256HashString("BBBB"), ++ base::TimeDelta::FromSeconds(1)), ++ ::testing::Pair(crypto::SHA256HashString("CCCC"), ++ base::TimeDelta::FromSeconds(2)))); ++} ++#endif ++ + } // namespace + + } // namespace network diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom --- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -148,7 +481,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + + // Whether or not the log should should be considered a Google Log for the + // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google; ++ bool operated_by_google = false; + + // If set, the time since the Unix Epoch when the log was disqualified. This + // is used to determine the "once or currently qualified" status of the log. @@ -157,7 +490,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. }; diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom --- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -238,15 +238,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; From 6140e1104effb04aa4f3c65110ec71eca3efb66d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 4 Sep 2019 10:48:30 +0200 Subject: [PATCH 075/171] More fixes to a backported patch for certificate transparency --- ....0.3809.132-certificate-transparency.patch | 409 ++++++++++++++++-- 1 file changed, 371 insertions(+), 38 deletions(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 51937e0..8bfbced 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -1,6 +1,73 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 +@@ -17,6 +17,7 @@ + #include "chrome/common/pref_names.h" + #include "chrome/test/base/in_process_browser_test.h" + #include "components/prefs/pref_service.h" ++#include "services/network/public/cpp/network_service_buildflags.h" + #include "services/network/public/mojom/network_context.mojom.h" + #include "services/network/public/mojom/network_service.mojom.h" + #include "testing/gmock/include/gmock/gmock.h" +@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont + INSTANTIATE_TEST_SUITE_P(, + SystemNetworkContextManagerStubResolverBrowsertest, + ::testing::Values(false, true)); ++ ++class SystemNetworkContextManagerCertificateTransparencyBrowsertest ++ : public SystemNetworkContextManagerBrowsertest, ++ public testing::WithParamInterface> { ++ public: ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ GetParam()); ++ } ++ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } ++}; ++ ++#if BUILDFLAG(IS_CT_SUPPORTED) ++IN_PROC_BROWSER_TEST_P( ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ CertificateTransparencyConfig) { ++ network::mojom::NetworkContextParamsPtr context_params = ++ g_browser_process->system_network_context_manager() ++ ->CreateDefaultNetworkContextParams(); ++ ++ const bool kDefault = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ true; ++#else ++ false; ++#endif ++ ++ EXPECT_EQ(GetParam().value_or(kDefault), ++ context_params->enforce_chrome_ct_policy); ++ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); ++ ++ if (GetParam().value_or(kDefault)) { ++ bool has_google_log = false; ++ bool has_disqualified_log = false; ++ for (const auto& ct_log : context_params->ct_logs) { ++ has_google_log |= ct_log->operated_by_google; ++ has_disqualified_log |= ct_log->disqualified_at.has_value(); ++ } ++ EXPECT_TRUE(has_google_log); ++ EXPECT_TRUE(has_disqualified_log); ++ } ++} ++#endif ++ ++INSTANTIATE_TEST_SUITE_P( ++ , ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ ::testing::Values(base::nullopt, true, false)); diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc --- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -23,52 +90,205 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau +@@ -81,6 +84,20 @@ + + namespace { + ++constexpr bool kCertificateTransparencyEnabled = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID); OS_IOS does not use this file ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) ++ true; ++#else ++ false; ++#endif ++ ++bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; ++ + // The global instance of the SystemNetworkContextmanager. + SystemNetworkContextManager* g_system_network_context_manager = nullptr; + +@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) - // CT is only enabled on Desktop platforms for now. +- network_context_params->enforce_chrome_ct_policy = true; +- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { +- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. +- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); +- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); +- log_info->name = ct_log.log_name; +- network_context_params->ct_logs.push_back(std::move(log_info)); + -+#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_IOS) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID, !OS_IOS) -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) - network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ if (g_enable_certificate_transparency) { ++ network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); + -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); - for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { - // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. - network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); - log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); - log_info->name = ct_log.log_name; ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); ++ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { ++ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); ++ log_info->name = ct_log.log_name; + -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } ++ network_context_params->ct_logs.push_back(std::move(log_info)); + } - network_context_params->ct_logs.push_back(std::move(log_info)); } -+#endif const base::Value* value = - g_browser_process->policy_service() +@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth + return CreateHttpAuthDynamicParams(g_browser_process->local_state()); + } + ++void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled) { ++ g_enable_certificate_transparency = ++ enabled.value_or(kCertificateTransparencyEnabled); ++} ++ + network::mojom::NetworkContextParamsPtr + SystemNetworkContextManager::CreateNetworkContextParams() { + // TODO(mmenke): Set up parameters here (in memory cookie store, etc). +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 +@@ -158,6 +158,12 @@ class SystemNetworkContextManager { + static network::mojom::HttpAuthDynamicParamsPtr + GetHttpAuthDynamicParamsForTesting(); + ++ // Enables Certificate Transparency and enforcing the Chrome Certificate ++ // Transparency Policy. For test use only. Use base::nullopt_t to reset to ++ // the default state. ++ static void SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled); ++ + private: + class URLLoaderFactoryForSystem; + +diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm + browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); + } + +-IN_PROC_BROWSER_TEST_F(PolicyTest, ++IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, + CertificateTransparencyEnforcementDisabledForCas) { + net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); + https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -8,6 +8,7 @@ + #include "base/callback.h" + #include "base/run_loop.h" + #include "base/test/scoped_feature_list.h" ++#include "chrome/browser/net/system_network_context_manager.h" + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/ssl/cert_verifier_browser_test.h" + #include "chrome/browser/ui/browser.h" +@@ -27,7 +28,17 @@ namespace { + // received by a server. + class ExpectCTBrowserTest : public CertVerifierBrowserTest { + public: +- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} ++ ExpectCTBrowserTest() : CertVerifierBrowserTest() { ++ // Expect-CT reporting depends on actually enforcing Certificate ++ // Transparency. ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~ExpectCTBrowserTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + run_loop_ = std::make_unique(); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi + SecurityStateTabHelperTest() + : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { + https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~SecurityStateTabHelperTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); + } + + void SetUpOnMainThread() override { +diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 +@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : + public: + CertificateTransparencySSLUITest() + : CertVerifierBrowserTest(), +- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} +- ~CertificateTransparencySSLUITest() override {} ++ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ~CertificateTransparencySSLUITest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + CertVerifierBrowserTest::SetUpOnMainThread(); +diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 ++++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne + + void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } + ++ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end ++ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is ++ // correctly constructed). When either this issue or https://crbug.com/848277 ++ // are fixed, the configuration can be tested independently, and these can ++ // be removed. ++ const std::vector& operated_by_google_logs_for_testing() { ++ return operated_by_google_logs_; ++ } ++ const std::vector>& ++ disqualified_logs_for_testing() { ++ return disqualified_logs_; ++ } ++ + private: + // Returns true if the log identified by |log_id| (the SHA-256 hash of the + // log's DER-encoded SPKI) has been disqualified, and sets diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc --- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 @@ -35,6 +35,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" @@ -115,12 +335,16 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A +@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } + + if (params_->enforce_chrome_ct_policy) { ++ std::sort(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs)); ++ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); ++ + builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, @@ -129,9 +353,118 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc +--- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +@@ -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 + #include + #include + #include +@@ -38,10 +39,12 @@ + #include "base/threading/thread_task_runner_handle.h" + #include "base/time/default_clock.h" + #include "base/time/default_tick_clock.h" ++#include "base/time/time.h" + #include "build/build_config.h" + #include "components/network_session_configurator/browser/network_session_configurator.h" + #include "components/network_session_configurator/common/network_switches.h" + #include "components/prefs/testing_pref_service.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/interface_request.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/system/data_pipe_utils.h" +@@ -113,6 +116,11 @@ + #include "url/scheme_host_port.h" + #include "url/url_constants.h" + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" ++#include "services/network/public/mojom/ct_log_info.mojom.h" ++#endif ++ + #if BUILDFLAG(ENABLE_REPORTING) + #include "net/network_error_logging/network_error_logging_service.h" + #include "net/reporting/reporting_cache.h" +@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki + EXPECT_EQ("None", response_body); + } + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++TEST_F(NetworkContextTest, CertificateTransparencyConfig) { ++ mojom::NetworkContextParamsPtr params = CreateContextParams(); ++ params->enforce_chrome_ct_policy = true; ++ params->ct_log_update_time = base::Time::Now(); ++ ++ // The log public keys do not matter for the test, so invalid keys are used. ++ // However, because the log IDs are derived from the SHA-256 hash of the log ++ // key, the log keys are generated such that qualified logs are in the form ++ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the ++ // form of four letters (e.g. "AAAA", "BBBB"). ++ ++ for (int i = 0; i < 6; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII '0' (0x30) ++ log_info->public_key = std::string(4, 0x30 + static_cast(i)); ++ log_info->name = std::string(4, 0x30 + static_cast(i)); ++ log_info->operated_by_google = i % 2; ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ for (int i = 0; i < 3; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII 'A' (0x41) ++ log_info->public_key = std::string(4, 0x41 + static_cast(i)); ++ log_info->name = std::string(4, 0x41 + static_cast(i)); ++ log_info->operated_by_google = false; ++ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ std::unique_ptr network_context = ++ CreateContextWithParams(std::move(params)); ++ ++ net::CTPolicyEnforcer* request_enforcer = ++ network_context->url_request_context()->ct_policy_enforcer(); ++ ASSERT_TRUE(request_enforcer); ++ ++ // Completely unsafe if |enforce_chrome_ct_policy| is false. ++ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = ++ reinterpret_cast( ++ request_enforcer); ++ ++ EXPECT_TRUE(std::is_sorted( ++ policy_enforcer->operated_by_google_logs_for_testing().begin(), ++ policy_enforcer->operated_by_google_logs_for_testing().end())); ++ EXPECT_TRUE( ++ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), ++ policy_enforcer->disqualified_logs_for_testing().end())); ++ ++ EXPECT_THAT( ++ policy_enforcer->operated_by_google_logs_for_testing(), ++ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), ++ crypto::SHA256HashString("3333"), ++ crypto::SHA256HashString("5555")})); ++ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), ++ ::testing::UnorderedElementsAre( ++ ::testing::Pair(crypto::SHA256HashString("AAAA"), ++ base::TimeDelta::FromSeconds(0)), ++ ::testing::Pair(crypto::SHA256HashString("BBBB"), ++ base::TimeDelta::FromSeconds(1)), ++ ::testing::Pair(crypto::SHA256HashString("CCCC"), ++ base::TimeDelta::FromSeconds(2)))); ++} ++#endif ++ + } // namespace + + } // namespace network diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom --- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -148,7 +481,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + + // Whether or not the log should should be considered a Google Log for the + // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google; ++ bool operated_by_google = false; + + // If set, the time since the Unix Epoch when the log was disqualified. This + // is used to determine the "once or currently qualified" status of the log. @@ -157,7 +490,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. }; diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom --- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -238,15 +238,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; From c5383dd2883385aa29924a70ec9e644fb4f86b1a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 4 Sep 2019 10:48:30 +0200 Subject: [PATCH 076/171] More fixes to a backported patch for certificate transparency --- ....0.3809.132-certificate-transparency.patch | 409 ++++++++++++++++-- 1 file changed, 371 insertions(+), 38 deletions(-) diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-76.0.3809.132-certificate-transparency.patch index 51937e0..8bfbced 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-76.0.3809.132-certificate-transparency.patch @@ -1,6 +1,73 @@ +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 +@@ -17,6 +17,7 @@ + #include "chrome/common/pref_names.h" + #include "chrome/test/base/in_process_browser_test.h" + #include "components/prefs/pref_service.h" ++#include "services/network/public/cpp/network_service_buildflags.h" + #include "services/network/public/mojom/network_context.mojom.h" + #include "services/network/public/mojom/network_service.mojom.h" + #include "testing/gmock/include/gmock/gmock.h" +@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont + INSTANTIATE_TEST_SUITE_P(, + SystemNetworkContextManagerStubResolverBrowsertest, + ::testing::Values(false, true)); ++ ++class SystemNetworkContextManagerCertificateTransparencyBrowsertest ++ : public SystemNetworkContextManagerBrowsertest, ++ public testing::WithParamInterface> { ++ public: ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ GetParam()); ++ } ++ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } ++}; ++ ++#if BUILDFLAG(IS_CT_SUPPORTED) ++IN_PROC_BROWSER_TEST_P( ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ CertificateTransparencyConfig) { ++ network::mojom::NetworkContextParamsPtr context_params = ++ g_browser_process->system_network_context_manager() ++ ->CreateDefaultNetworkContextParams(); ++ ++ const bool kDefault = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ true; ++#else ++ false; ++#endif ++ ++ EXPECT_EQ(GetParam().value_or(kDefault), ++ context_params->enforce_chrome_ct_policy); ++ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); ++ ++ if (GetParam().value_or(kDefault)) { ++ bool has_google_log = false; ++ bool has_disqualified_log = false; ++ for (const auto& ct_log : context_params->ct_logs) { ++ has_google_log |= ct_log->operated_by_google; ++ has_disqualified_log |= ct_log->disqualified_at.has_value(); ++ } ++ EXPECT_TRUE(has_google_log); ++ EXPECT_TRUE(has_disqualified_log); ++ } ++} ++#endif ++ ++INSTANTIATE_TEST_SUITE_P( ++ , ++ SystemNetworkContextManagerCertificateTransparencyBrowsertest, ++ ::testing::Values(base::nullopt, true, false)); diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc --- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 12:01:33.004949320 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -23,52 +90,205 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -686,15 +689,41 @@ SystemNetworkContextManager::CreateDefau +@@ -81,6 +84,20 @@ + + namespace { + ++constexpr bool kCertificateTransparencyEnabled = ++#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ ++ !defined(OS_ANDROID) ++ // Certificate Transparency is only enabled if: ++ // - Desktop (!OS_ANDROID); OS_IOS does not use this file ++ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) ++ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) ++ true; ++#else ++ false; ++#endif ++ ++bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; ++ + // The global instance of the SystemNetworkContextmanager. + SystemNetworkContextManager* g_system_network_context_manager = nullptr; + +@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) - // CT is only enabled on Desktop platforms for now. +- network_context_params->enforce_chrome_ct_policy = true; +- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { +- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. +- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); +- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); +- log_info->name = ct_log.log_name; +- network_context_params->ct_logs.push_back(std::move(log_info)); + -+#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_IOS) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID, !OS_IOS) -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BRANDING) - network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); ++ if (g_enable_certificate_transparency) { ++ network_context_params->enforce_chrome_ct_policy = true; ++ network_context_params->ct_log_update_time = base::GetBuildTime(); + -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); - for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { - // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. - network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); - log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); - log_info->name = ct_log.log_name; ++ std::vector operated_by_google_logs = ++ certificate_transparency::GetLogsOperatedByGoogle(); ++ std::vector> disqualified_logs = ++ certificate_transparency::GetDisqualifiedLogs(); ++ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { ++ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); ++ log_info->name = ct_log.log_name; + -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; ++ std::string log_id = crypto::SHA256HashString(log_info->public_key); ++ log_info->operated_by_google = ++ std::binary_search(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs), log_id); ++ auto it = std::lower_bound( ++ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, ++ [](const auto& disqualified_log, const std::string& log_id) { ++ return disqualified_log.first < log_id; ++ }); ++ if (it != std::end(disqualified_logs) && it->first == log_id) { ++ log_info->disqualified_at = it->second; ++ } ++ network_context_params->ct_logs.push_back(std::move(log_info)); + } - network_context_params->ct_logs.push_back(std::move(log_info)); } -+#endif const base::Value* value = - g_browser_process->policy_service() +@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth + return CreateHttpAuthDynamicParams(g_browser_process->local_state()); + } + ++void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled) { ++ g_enable_certificate_transparency = ++ enabled.value_or(kCertificateTransparencyEnabled); ++} ++ + network::mojom::NetworkContextParamsPtr + SystemNetworkContextManager::CreateNetworkContextParams() { + // TODO(mmenke): Set up parameters here (in memory cookie store, etc). +diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h +--- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 +@@ -158,6 +158,12 @@ class SystemNetworkContextManager { + static network::mojom::HttpAuthDynamicParamsPtr + GetHttpAuthDynamicParamsForTesting(); + ++ // Enables Certificate Transparency and enforcing the Chrome Certificate ++ // Transparency Policy. For test use only. Use base::nullopt_t to reset to ++ // the default state. ++ static void SetEnableCertificateTransparencyForTesting( ++ base::Optional enabled); ++ + private: + class URLLoaderFactoryForSystem; + +diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm + browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); + } + +-IN_PROC_BROWSER_TEST_F(PolicyTest, ++IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, + CertificateTransparencyEnforcementDisabledForCas) { + net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); + https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -8,6 +8,7 @@ + #include "base/callback.h" + #include "base/run_loop.h" + #include "base/test/scoped_feature_list.h" ++#include "chrome/browser/net/system_network_context_manager.h" + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/ssl/cert_verifier_browser_test.h" + #include "chrome/browser/ui/browser.h" +@@ -27,7 +28,17 @@ namespace { + // received by a server. + class ExpectCTBrowserTest : public CertVerifierBrowserTest { + public: +- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} ++ ExpectCTBrowserTest() : CertVerifierBrowserTest() { ++ // Expect-CT reporting depends on actually enforcing Certificate ++ // Transparency. ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~ExpectCTBrowserTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + run_loop_ = std::make_unique(); +diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi + SecurityStateTabHelperTest() + : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { + https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ++ ~SecurityStateTabHelperTest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); + } + + void SetUpOnMainThread() override { +diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 ++++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 +@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : + public: + CertificateTransparencySSLUITest() + : CertVerifierBrowserTest(), +- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} +- ~CertificateTransparencySSLUITest() override {} ++ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ true); ++ } ++ ~CertificateTransparencySSLUITest() override { ++ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( ++ base::nullopt); ++ } + + void SetUpOnMainThread() override { + CertVerifierBrowserTest::SetUpOnMainThread(); +diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 ++++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne + + void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } + ++ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end ++ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is ++ // correctly constructed). When either this issue or https://crbug.com/848277 ++ // are fixed, the configuration can be tested independently, and these can ++ // be removed. ++ const std::vector& operated_by_google_logs_for_testing() { ++ return operated_by_google_logs_; ++ } ++ const std::vector>& ++ disqualified_logs_for_testing() { ++ return disqualified_logs_; ++ } ++ + private: + // Returns true if the log identified by |log_id| (the SHA-256 hash of the + // log's DER-encoded SPKI) has been disqualified, and sets diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc --- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 12:04:01.983890928 +0200 ++++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 @@ -35,6 +35,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" @@ -115,12 +335,16 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,13 @@ URLRequestContextOwner NetworkContext::A +@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } + + if (params_->enforce_chrome_ct_policy) { ++ std::sort(std::begin(operated_by_google_logs), ++ std::end(operated_by_google_logs)); ++ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); ++ + builder->set_ct_policy_enforcer( + std::make_unique( + params_->ct_log_update_time, disqualified_logs, @@ -129,9 +353,118 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = +diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc +--- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 ++++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +@@ -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 + #include + #include + #include +@@ -38,10 +39,12 @@ + #include "base/threading/thread_task_runner_handle.h" + #include "base/time/default_clock.h" + #include "base/time/default_tick_clock.h" ++#include "base/time/time.h" + #include "build/build_config.h" + #include "components/network_session_configurator/browser/network_session_configurator.h" + #include "components/network_session_configurator/common/network_switches.h" + #include "components/prefs/testing_pref_service.h" ++#include "crypto/sha2.h" + #include "mojo/public/cpp/bindings/interface_request.h" + #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/system/data_pipe_utils.h" +@@ -113,6 +116,11 @@ + #include "url/scheme_host_port.h" + #include "url/url_constants.h" + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" ++#include "services/network/public/mojom/ct_log_info.mojom.h" ++#endif ++ + #if BUILDFLAG(ENABLE_REPORTING) + #include "net/network_error_logging/network_error_logging_service.h" + #include "net/reporting/reporting_cache.h" +@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki + EXPECT_EQ("None", response_body); + } + ++#if BUILDFLAG(IS_CT_SUPPORTED) ++TEST_F(NetworkContextTest, CertificateTransparencyConfig) { ++ mojom::NetworkContextParamsPtr params = CreateContextParams(); ++ params->enforce_chrome_ct_policy = true; ++ params->ct_log_update_time = base::Time::Now(); ++ ++ // The log public keys do not matter for the test, so invalid keys are used. ++ // However, because the log IDs are derived from the SHA-256 hash of the log ++ // key, the log keys are generated such that qualified logs are in the form ++ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the ++ // form of four letters (e.g. "AAAA", "BBBB"). ++ ++ for (int i = 0; i < 6; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII '0' (0x30) ++ log_info->public_key = std::string(4, 0x30 + static_cast(i)); ++ log_info->name = std::string(4, 0x30 + static_cast(i)); ++ log_info->operated_by_google = i % 2; ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ for (int i = 0; i < 3; ++i) { ++ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); ++ // Shift to ASCII 'A' (0x41) ++ log_info->public_key = std::string(4, 0x41 + static_cast(i)); ++ log_info->name = std::string(4, 0x41 + static_cast(i)); ++ log_info->operated_by_google = false; ++ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); ++ ++ params->ct_logs.push_back(std::move(log_info)); ++ } ++ std::unique_ptr network_context = ++ CreateContextWithParams(std::move(params)); ++ ++ net::CTPolicyEnforcer* request_enforcer = ++ network_context->url_request_context()->ct_policy_enforcer(); ++ ASSERT_TRUE(request_enforcer); ++ ++ // Completely unsafe if |enforce_chrome_ct_policy| is false. ++ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = ++ reinterpret_cast( ++ request_enforcer); ++ ++ EXPECT_TRUE(std::is_sorted( ++ policy_enforcer->operated_by_google_logs_for_testing().begin(), ++ policy_enforcer->operated_by_google_logs_for_testing().end())); ++ EXPECT_TRUE( ++ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), ++ policy_enforcer->disqualified_logs_for_testing().end())); ++ ++ EXPECT_THAT( ++ policy_enforcer->operated_by_google_logs_for_testing(), ++ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), ++ crypto::SHA256HashString("3333"), ++ crypto::SHA256HashString("5555")})); ++ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), ++ ::testing::UnorderedElementsAre( ++ ::testing::Pair(crypto::SHA256HashString("AAAA"), ++ base::TimeDelta::FromSeconds(0)), ++ ::testing::Pair(crypto::SHA256HashString("BBBB"), ++ base::TimeDelta::FromSeconds(1)), ++ ::testing::Pair(crypto::SHA256HashString("CCCC"), ++ base::TimeDelta::FromSeconds(2)))); ++} ++#endif ++ + } // namespace + + } // namespace network diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom --- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 11:59:48.423862022 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -148,7 +481,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + + // Whether or not the log should should be considered a Google Log for the + // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google; ++ bool operated_by_google = false; + + // If set, the time since the Unix Epoch when the log was disqualified. This + // is used to determine the "once or currently qualified" status of the log. @@ -157,7 +490,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. }; diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom --- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 11:59:48.424862032 +0200 ++++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 @@ -238,15 +238,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; From 782a626758b49d8cedf4c7d485190c817455e136 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 12 Sep 2019 17:28:51 +0200 Subject: [PATCH 077/171] Update to 77.0.3865.75 Rebase and clean the patches. --- ...um-61.0.3163.79-gcc-no-opt-safe-math.patch | 13 - chromium-68.0.3440.106-boolfix.patch | 36 --- ...mium-72.0.3626.121-fedora-user-agent.patch | 12 - chromium-72.0.3626.121-gcc5-r3.patch | 36 --- chromium-75.0.3770.100-fix-v8-gcc.patch | 14 -- chromium-75.0.3770.80-no-zlib-mangle.patch | 14 -- ...-75.0.3770.80-pure-virtual-crash-fix.patch | 24 -- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 ----- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 -------- ...0.3809.100-gcc-feature-policy-parser.patch | 76 ------ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 --- ...0.3809.100-gcc-history-move-noexcept.patch | 42 ---- ....0.3809.100-gcc-initialization-order.patch | 33 --- ...100-gcc-move-explicit-initialization.patch | 97 -------- chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ----- ...0.3809.100-gcc-themeservice-includes.patch | 36 --- chromium-76.0.3809.100-gcc-vulkan.patch | 115 --------- ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ------------------ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 --- ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 ----- ....3809.132-gcc-ambigous-instantiation.patch | 21 -- chromium-77.0.3865.75-boolfix.patch | 24 ++ ...7.0.3865.75-certificate-transparency.patch | 132 +++++----- chromium-77.0.3865.75-fedora-user-agent.patch | 12 + chromium-77.0.3865.75-fix-v8-gcc.patch | 14 ++ ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 13 + chromium-77.0.3865.75-gcc5-r3.patch | 36 +++ chromium-77.0.3865.75-no-zlib-mangle.patch | 22 ++ chromium.spec | 68 +----- sources | 2 +- 30 files changed, 199 insertions(+), 1267 deletions(-) delete mode 100644 chromium-61.0.3163.79-gcc-no-opt-safe-math.patch delete mode 100644 chromium-68.0.3440.106-boolfix.patch delete mode 100644 chromium-72.0.3626.121-fedora-user-agent.patch delete mode 100644 chromium-72.0.3626.121-gcc5-r3.patch delete mode 100644 chromium-75.0.3770.100-fix-v8-gcc.patch delete mode 100644 chromium-75.0.3770.80-no-zlib-mangle.patch delete mode 100644 chromium-75.0.3770.80-pure-virtual-crash-fix.patch delete mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch delete mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch delete mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch delete mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch delete mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch delete mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch delete mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch delete mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch delete mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch delete mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch delete mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch delete mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch create mode 100644 chromium-77.0.3865.75-boolfix.patch rename chromium-76.0.3809.132-certificate-transparency.patch => chromium-77.0.3865.75-certificate-transparency.patch (73%) create mode 100644 chromium-77.0.3865.75-fedora-user-agent.patch create mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch create mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch create mode 100644 chromium-77.0.3865.75-gcc5-r3.patch create mode 100644 chromium-77.0.3865.75-no-zlib-mangle.patch diff --git a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch b/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch deleted file mode 100644 index 183b5ab..0000000 --- a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h ---- chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 2017-09-06 16:30:15.898454585 -0400 -+++ chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h 2017-09-06 16:30:27.570229539 -0400 -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-68.0.3440.106-boolfix.patch b/chromium-68.0.3440.106-boolfix.patch deleted file mode 100644 index ed22aa9..0000000 --- a/chromium-68.0.3440.106-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-08-09 03:21:23.066802340 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-08-09 03:25:10.638595925 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-08-09 03:21:23.067802318 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h 2018-08-09 03:24:44.935229067 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-08-08 15:11:05.000000000 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h 2018-08-09 03:21:23.067802318 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-72.0.3626.121-fedora-user-agent.patch b/chromium-72.0.3626.121-fedora-user-agent.patch deleted file mode 100644 index 5cef6f0..0000000 --- a/chromium-72.0.3626.121-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent chromium-72.0.3626.121/content/common/user_agent.cc ---- chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent 2019-03-10 14:21:02.877454982 -0400 -+++ chromium-72.0.3626.121/content/common/user_agent.cc 2019-03-10 14:22:05.728812272 -0400 -@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-72.0.3626.121-gcc5-r3.patch b/chromium-72.0.3626.121-gcc5-r3.patch deleted file mode 100644 index f4cf40b..0000000 --- a/chromium-72.0.3626.121-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-03-01 23:10:21.000000000 -0500 -+++ chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h 2019-03-10 14:07:48.300244125 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-03-01 23:10:31.000000000 -0500 -+++ chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-03-10 14:07:48.303244046 -0400 -@@ -340,7 +340,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-03-10 14:07:48.307243941 -0400 -+++ chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-03-10 14:09:16.565920044 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - #include diff --git a/chromium-75.0.3770.100-fix-v8-gcc.patch b/chromium-75.0.3770.100-fix-v8-gcc.patch deleted file mode 100644 index 4a1a4b0..0000000 --- a/chromium-75.0.3770.100-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-75.0.3770.100/v8/src/objects/js-objects.cc ---- chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-06-25 10:55:08.132254304 -0400 -+++ chromium-75.0.3770.100/v8/src/objects/js-objects.cc 2019-06-25 10:55:23.147933648 -0400 -@@ -3792,6 +3792,10 @@ void JSObject::ApplyAttributesToDictiona - } - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium-75.0.3770.80-no-zlib-mangle.patch b/chromium-75.0.3770.80-no-zlib-mangle.patch deleted file mode 100644 index 998be67..0000000 --- a/chromium-75.0.3770.80-no-zlib-mangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle chromium-75.0.3770.80/third_party/zlib/zconf.h ---- chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle 2019-06-05 11:12:30.420412467 -0400 -+++ chromium-75.0.3770.80/third_party/zlib/zconf.h 2019-06-05 11:17:43.512683058 -0400 -@@ -8,10 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch b/chromium-75.0.3770.80-pure-virtual-crash-fix.patch deleted file mode 100644 index 06c909f..0000000 --- a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix 2019-06-07 15:03:43.302202979 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc 2019-06-07 15:04:25.140393048 -0400 -@@ -116,4 +116,9 @@ void RenderProcessUserData::RenderProces - base::Unretained(process_node_.get()), info.exit_code)); - } - -+void RenderProcessUserData::RenderProcessHostDestroyed( -+ content::RenderProcessHost* host) { -+ host->RemoveUserData(kRenderProcessUserDataKey); -+} -+ - } // namespace performance_manager -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix 2019-06-07 15:04:43.530039597 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h 2019-06-07 15:05:13.770458374 -0400 -@@ -47,6 +47,7 @@ class RenderProcessUserData : public bas - void RenderProcessExited( - content::RenderProcessHost* host, - const content::ChildProcessTerminationInfo& info) override; -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; - - // All instances are linked together in a doubly linked list to allow orderly - // destruction at browser shutdown time. diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 5f45a8f..0000000 --- a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 18:38:12 +0200 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo - -AccountInfo declares them as noexcept and uses default implementation, -so all its members (including AccountId) should be noexcept. But AccountId -is not noexcept. To fix it we just need to make CoreAccountId move -operator/assign operator noexcept. - -Bug: 819294 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 ---- - -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc -index d808082..12eefe3 100644 ---- a/google_apis/gaia/core_account_id.cc -+++ b/google_apis/gaia/core_account_id.cc -@@ -6,8 +6,16 @@ - - CoreAccountId::CoreAccountId() = default; - -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default; -+ -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::~CoreAccountId() = default; - -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; -+ -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h -index 5ea602a..c2d1911 100644 ---- a/google_apis/gaia/core_account_id.h -+++ b/google_apis/gaia/core_account_id.h -@@ -14,8 +14,13 @@ - // for design and tracking). - struct CoreAccountId { - CoreAccountId(); -+ CoreAccountId(const CoreAccountId&); -+ CoreAccountId(CoreAccountId&&) noexcept; - ~CoreAccountId(); - -+ CoreAccountId& operator=(const CoreAccountId&); -+ CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing - // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch deleted file mode 100644 index e4d754a..0000000 --- a/chromium-76.0.3809.100-gcc-cc-no-except.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 07 Jun 2019 09:50:11 +0000 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept - -As LayerTreeHostImpl::UIResourceData move constructor is declared -noexcept with default implementation, the move constructor of its -members should also be noexcept. GCC will fail to build otherwise -for mismatching noexcept declaration. - -We also set the move assignment operator. - -Bug: 819294 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Commit-Queue: José Dapena Paz -Reviewed-by: Daniel Cheng -Cr-Commit-Position: refs/heads/master@{#667064} ---- - -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc -index 2be2570..8426fa8 100644 ---- a/base/memory/shared_memory_mapping.cc -+++ b/base/memory/shared_memory_mapping.cc -@@ -33,7 +33,7 @@ - - SharedMemoryMapping::SharedMemoryMapping() = default; - --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept - : memory_(mapping.memory_), - size_(mapping.size_), - mapped_size_(mapping.mapped_size_), -@@ -42,7 +42,7 @@ - } - - SharedMemoryMapping& SharedMemoryMapping::operator=( -- SharedMemoryMapping&& mapping) { -+ SharedMemoryMapping&& mapping) noexcept { - Unmap(); - memory_ = mapping.memory_; - size_ = mapping.size_; -@@ -90,9 +90,9 @@ - - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - void* address, - size_t size, -@@ -102,9 +102,9 @@ - - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( - void* address, - size_t size, -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h -index d9569af..2b8858e 100644 ---- a/base/memory/shared_memory_mapping.h -+++ b/base/memory/shared_memory_mapping.h -@@ -32,8 +32,8 @@ - SharedMemoryMapping(); - - // Move operations are allowed. -- SharedMemoryMapping(SharedMemoryMapping&& mapping); -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; - - // Unmaps the region if the mapping is valid. - virtual ~SharedMemoryMapping(); -@@ -93,8 +93,9 @@ - ReadOnlySharedMemoryMapping(); - - // Move operations are allowed. -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; -+ ReadOnlySharedMemoryMapping& operator=( -+ ReadOnlySharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is read-only memory. This is - // page-aligned. This is nullptr for invalid instances. -@@ -171,8 +172,9 @@ - WritableSharedMemoryMapping(); - - // Move operations are allowed. -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; -+ WritableSharedMemoryMapping& operator=( -+ WritableSharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is writable memory. This is - // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch deleted file mode 100644 index 0dbffd5..0000000 --- a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 19:44:58 +0200 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace - -Compilation fails because we are declaring ParseValueForFuzzer as friend method, -but we are declaring it is in anonymous namespace. Moving to global namespace -still fails (in this case in Clang). - -So final solution is making it a public static method of FeaturePolicyParser. - -Bug: 819294 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 ---- - -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -index 3b7f4a9..eaee409 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -@@ -317,6 +317,13 @@ - return value; - } - -+void FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType feature_type, -+ const WTF::String& value_string) { -+ bool ok; -+ ParseValueForType(feature_type, value_string, &ok); -+} -+ - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, - const ParsedFeaturePolicy& policy) { - return std::any_of(policy.begin(), policy.end(), -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -index fd25d90..36af405 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -@@ -16,9 +16,6 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --// Forward declare for friendship. --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); -- - namespace blink { - - class Document; -@@ -79,8 +76,9 @@ - const FeatureNameMap& feature_names, - ExecutionContext* execution_context = nullptr); - -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); -+ - private: -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); - static PolicyValue GetFallbackValueForFeature( - mojom::FeaturePolicyFeature feature); - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -index 7f8e6aa..53350e43 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -@@ -23,9 +23,9 @@ - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - static blink::BlinkFuzzerTestSupport test_support = - blink::BlinkFuzzerTestSupport(); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, -- WTF::String(data, size)); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, -- WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); - return 0; - } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch deleted file mode 100644 index 26bba05..0000000 --- a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 17:18:40 +0000 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr - -Other HasFraction methods as in PhysicalUnit are declared already -constexpr and using it. It breaks GCC build. - -Bug: 819294. -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 -Reviewed-by: vmpstr -Reviewed-by: Xianzhu Wang -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666336} ---- - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index f073986..b6dbc76 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -202,7 +202,9 @@ - return value_ > 0 ? LayoutUnit() : *this; - } - -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } -+ constexpr bool HasFraction() const { -+ return RawValue() % kFixedPointDenominator; -+ } - - LayoutUnit Fraction() const { - // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch deleted file mode 100644 index 2876de4..0000000 --- a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch +++ /dev/null @@ -1,42 +0,0 @@ -From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 10:27:19 +0200 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow - -In GCC, build is failing because history::QueryURLResult declares its move -assignment operator as noexcept using default implementation. That requires -its members to provide a move assignment operator that is noexcept too. - -But URLRow was missing noexcept declaration in move assignment operator (even -though it was providing noexcept to its move constructor). - -Bug: 819294 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f ---- - -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc -index 44c22fd..aec0101 100644 ---- a/components/history/core/browser/url_row.cc -+++ b/components/history/core/browser/url_row.cc -@@ -26,7 +26,7 @@ - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) = default; -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h -index 8f6f9cf..31a1ef8 100644 ---- a/components/history/core/browser/url_row.h -+++ b/components/history/core/browser/url_row.h -@@ -35,7 +35,7 @@ - - virtual ~URLRow(); - URLRow& operator=(const URLRow& other); -- URLRow& operator=(URLRow&& other); -+ URLRow& operator=(URLRow&& other) noexcept; - - URLID id() const { return id_; } - diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch deleted file mode 100644 index 3bf394f..0000000 --- a/chromium-76.0.3809.100-gcc-initialization-order.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 21:09:01 +0000 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration - -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the -same order of the declaration. GCC fails because of that. - -Bug: 819294 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 -Reviewed-by: Zhenyao Mo -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666436} ---- - -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f649dd4..0aa6892 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -583,10 +583,10 @@ - - XSetWindowAttributes swa = { - .background_pixmap = 0, -- .bit_gravity = NorthWestGravity, -- .colormap = g_colormap, - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM - .border_pixel = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, - }; - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; - if (ui::IsCompositingManagerPresent() && diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch deleted file mode 100644 index 1d4b90f..0000000 --- a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +++ /dev/null @@ -1,97 +0,0 @@ -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 08:00:13 +0000 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo - -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks -build because of that. Move the template specializations out of RunInfo declaration -in shape_result_inline_headeres.h to fix the GCC build issue. - -Bug: 819294 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#667901} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -index 76ee6091..c14d3a0 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -@@ -251,37 +251,6 @@ - template - struct iterator final {}; - -- // For non-zero glyph offset array -- template <> -- struct iterator final { -- // The constructor for ShapeResult -- explicit iterator(const GlyphOffsetArray& array) -- : pointer(array.storage_.get()) { -- DCHECK(pointer); -- } -- -- // The constructor for ShapeResultView -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -- DCHECK(pointer); -- } -- -- GlyphOffset operator*() const { return *pointer; } -- void operator++() { ++pointer; } -- -- const GlyphOffset* pointer; -- }; -- -- // For zero glyph offset array -- template <> -- struct iterator final { -- explicit iterator(const GlyphOffsetArray& array) { -- DCHECK(!array.HasStorage()); -- } -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -- GlyphOffset operator*() const { return GlyphOffset(); } -- void operator++() {} -- }; -- - template - iterator GetIterator() const { - return iterator(*this); -@@ -495,6 +464,37 @@ - float width_; - }; - -+// For non-zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ // The constructor for ShapeResult -+ explicit iterator(const GlyphOffsetArray& array) -+ : pointer(array.storage_.get()) { -+ DCHECK(pointer); -+ } -+ -+ // The constructor for ShapeResultView -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -+ DCHECK(pointer); -+ } -+ -+ GlyphOffset operator*() const { return *pointer; } -+ void operator++() { ++pointer; } -+ -+ const GlyphOffset* pointer; -+}; -+ -+// For zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ explicit iterator(const GlyphOffsetArray& array) { -+ DCHECK(!array.HasStorage()); -+ } -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -+ GlyphOffset operator*() const { return GlyphOffset(); } -+ void operator++() {} -+}; -+ - // Find the range of HarfBuzzRunGlyphData for the specified character index - // range. This function uses binary search twice, hence O(2 log n). - inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch deleted file mode 100644 index bc0ed98..0000000 --- a/chromium-76.0.3809.100-gcc-net-fetcher.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 16:56:27 +0000 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace - -GCC does not allow friendship declaration to anonymous namespace as done with Job -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just -makes RemoveJob method public, that was the only reason to make Job a friend. - -Error was: -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - std::unique_ptr delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ - -Bug: 819294 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 -Commit-Queue: Eric Roman -Reviewed-by: Eric Roman -Cr-Commit-Position: refs/heads/master@{#668015} ---- - -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc -index 11a1166..349c656 100644 ---- a/net/cert_net/cert_net_fetcher_impl.cc -+++ b/net/cert_net/cert_net_fetcher_impl.cc -@@ -135,21 +135,19 @@ - void Fetch(std::unique_ptr request_params, - scoped_refptr request); - -+ // Removes |job| from the in progress jobs and transfers ownership to the -+ // caller. -+ std::unique_ptr RemoveJob(Job* job); -+ - // Cancels outstanding jobs, which stops network requests and signals the - // corresponding RequestCores that the requests have completed. - void Shutdown(); - - private: -- friend class Job; -- - // Finds a job with a matching RequestPararms or returns nullptr if there was - // no match. - Job* FindJob(const RequestParams& params); - -- // Removes |job| from the in progress jobs and transfers ownership to the -- // caller. -- std::unique_ptr RemoveJob(Job* job); -- - // The in-progress jobs. This set does not contain the job which is actively - // invoking callbacks (OnJobCompleted). - JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch deleted file mode 100644 index ad40bb9..0000000 --- a/chromium-76.0.3809.100-gcc-themeservice-includes.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 22:01:03 +0200 -Subject: [PATCH] IWYU: ThemeService requires NativeTheme - -As ThemeService referes to NativeTheme through a ScopedObserver, -the full declaration is required. - -Bug: 819294 -Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 ---- - -diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc -index d65388e2..23dc86d 100644 ---- a/chrome/browser/themes/theme_service.cc -+++ b/chrome/browser/themes/theme_service.cc -@@ -54,7 +54,6 @@ - #include "ui/gfx/color_palette.h" - #include "ui/gfx/image/image_skia.h" - #include "ui/native_theme/common_theme.h" --#include "ui/native_theme/native_theme.h" - - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "base/scoped_observer.h" -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 6c79c72..f93dc0d 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -25,6 +25,7 @@ - #include "extensions/buildflags/buildflags.h" - #include "extensions/common/extension_id.h" - #include "ui/base/theme_provider.h" -+#include "ui/native_theme/native_theme.h" - #include "ui/native_theme/native_theme_observer.h" - - class BrowserThemePack; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch deleted file mode 100644 index cf93bce..0000000 --- a/chromium-76.0.3809.100-gcc-vulkan.patch +++ /dev/null @@ -1,115 +0,0 @@ -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 17:39:38 +0000 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. - -The notation for initialization of structs referring to its properties -is invalid in C++. This is not accepted in GCC. It was making build -fail in VulkanCommandBuffer. - -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token - .subresourceRange.baseMipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token - .subresourceRange.levelCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token - .subresourceRange.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token - .subresourceRange.layerCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token - .imageSubresource.mipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token - .imageSubresource.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token - .imageSubresource.layerCount = 1, - ^ -Bug: 819294 - -Change-Id: I999abece0c727e77964789183642ba62009c2c22 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 -Commit-Queue: José Dapena Paz -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#668033} ---- - -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc -index ba776e4..4f14c85 100644 ---- a/gpu/vulkan/vulkan_command_buffer.cc -+++ b/gpu/vulkan/vulkan_command_buffer.cc -@@ -207,21 +207,20 @@ - void VulkanCommandBuffer::TransitionImageLayout(VkImage image, - VkImageLayout old_layout, - VkImageLayout new_layout) { -- VkImageMemoryBarrier barrier = { -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, -- .srcAccessMask = GetAccessMask(old_layout), -- .dstAccessMask = GetAccessMask(new_layout), -- .oldLayout = old_layout, -- .newLayout = new_layout, -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .image = image, -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .subresourceRange.baseMipLevel = 0, -- .subresourceRange.levelCount = 1, -- .subresourceRange.baseArrayLayer = 0, -- .subresourceRange.layerCount = 1, -- }; -+ VkImageMemoryBarrier barrier = {}; -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; -+ barrier.srcAccessMask = GetAccessMask(old_layout); -+ barrier.dstAccessMask = GetAccessMask(new_layout); -+ barrier.oldLayout = old_layout; -+ barrier.newLayout = new_layout; -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.image = image; -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ barrier.subresourceRange.baseMipLevel = 0; -+ barrier.subresourceRange.levelCount = 1; -+ barrier.subresourceRange.baseArrayLayer = 0; -+ barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, - nullptr, 1, &barrier); -@@ -233,17 +232,16 @@ - uint32_t buffer_height, - uint32_t width, - uint32_t height) { -- VkBufferImageCopy region = { -- .bufferOffset = 0, -- .bufferRowLength = buffer_width, -- .bufferImageHeight = buffer_height, -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .imageSubresource.mipLevel = 0, -- .imageSubresource.baseArrayLayer = 0, -- .imageSubresource.layerCount = 1, -- .imageOffset = {0, 0, 0}, -- .imageExtent = {width, height, 1}, -- }; -+ VkBufferImageCopy region = {}; -+ region.bufferOffset = 0; -+ region.bufferRowLength = buffer_width; -+ region.bufferImageHeight = buffer_height; -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ region.imageSubresource.mipLevel = 0; -+ region.imageSubresource.baseArrayLayer = 0; -+ region.imageSubresource.layerCount = 1; -+ region.imageOffset = {0, 0, 0}; -+ region.imageExtent = {width, height, 1}; - vkCmdCopyBufferToImage(command_buffer_, buffer, image, - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); - } diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch deleted file mode 100644 index 98789d9..0000000 --- a/chromium-76.0.3809.100-quiche-compile-fix.patch +++ /dev/null @@ -1,225 +0,0 @@ -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 -@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength - std::string TransportParameterIdToString( - TransportParameters::TransportParameterId param_id) { - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - return "original_connection_id"; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - return "idle_timeout"; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - return "stateless_reset_token"; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - return "max_packet_size"; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - return "initial_max_data"; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - return "initial_max_stream_data_bidi_local"; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - return "initial_max_stream_data_bidi_remote"; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - return "initial_max_stream_data_uni"; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - return "initial_max_streams_bidi"; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - return "initial_max_streams_uni"; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - return "ack_delay_exponent"; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - return "max_ack_delay"; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - return "disable_migration"; -- case kPreferredAddress: -+ case TransportParameters::kPreferredAddress: - return "preferred_address"; -- case kGoogleQuicParam: -+ case TransportParameters::kGoogleQuicParam: - return "google"; -- case kGoogleQuicVersion: -+ case TransportParameters::kGoogleQuicVersion: - return "google-version"; - } - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; -@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const - CBB original_connection_id_param; - if (!in.original_connection_id.IsEmpty()) { - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || - !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || - !CBB_add_bytes( - &original_connection_id_param, -@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const - if (!in.stateless_reset_token.empty()) { - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kStatelessResetToken) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || - !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || - !CBB_add_bytes(&stateless_reset_token_param, - in.stateless_reset_token.data(), -@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const - - // disable_migration - if (in.disable_migration) { -- if (!CBB_add_u16(¶ms, kDisableMigration) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || - !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. - QUIC_BUG << "Failed to write disable_migration for " << in; - return false; -@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const - QUIC_BUG << "Bad lengths " << *in.preferred_address; - return false; - } -- if (!CBB_add_u16(¶ms, kPreferredAddress) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || - !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || - !CBB_add_bytes( - &preferred_address_params, -@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const - if (in.google_quic_params) { - const QuicData& serialized_google_quic_params = - in.google_quic_params->GetSerialized(); -- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || - !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || - !CBB_add_bytes(&google_quic_params, - reinterpret_cast( -@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const - - // Google-specific version extension. - CBB google_version_params; -- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || - !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || - !CBB_add_u32(&google_version_params, in.version)) { - QUIC_BUG << "Failed to write Google version extension for " << in; -@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint - } - bool parse_success = true; - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - if (!out->original_connection_id.IsEmpty()) { - QUIC_DLOG(ERROR) << "Received a second original connection ID"; - return false; -@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint - CBS_len(&value)); - } - break; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); - break; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - if (!out->stateless_reset_token.empty()) { - QUIC_DLOG(ERROR) << "Received a second stateless reset token"; - return false; -@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint - out->stateless_reset_token.assign(CBS_data(&value), - CBS_data(&value) + CBS_len(&value)); - break; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - parse_success = out->max_packet_size.ReadFromCbs(&value); - break; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - parse_success = out->initial_max_data.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - parse_success = - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - parse_success = - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); - break; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - parse_success = out->ack_delay_exponent.ReadFromCbs(&value); - break; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - parse_success = out->max_ack_delay.ReadFromCbs(&value); - break; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - if (out->disable_migration) { - QUIC_DLOG(ERROR) << "Received a second disable migration"; - return false; -@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint - } - out->disable_migration = true; - break; -- case kPreferredAddress: { -+ case TransportParameters::kPreferredAddress: { - uint16_t ipv4_port, ipv6_port; - in_addr ipv4_address; - in6_addr ipv6_address; -@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint - QuicMakeUnique( - preferred_address); - } break; -- case kGoogleQuicParam: { -+ case TransportParameters::kGoogleQuicParam: { - if (out->google_quic_params) { - QUIC_DLOG(ERROR) << "Received a second Google parameter"; - return false; -@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint - reinterpret_cast(CBS_data(&value)), CBS_len(&value)); - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); - } break; -- case kGoogleQuicVersion: { -+ case TransportParameters::kGoogleQuicVersion: { - if (!CBS_get_u32(&value, &out->version)) { - QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; - return false; -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 -@@ -2,10 +2,12 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include -- - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" - -+#include -+#include -+#include -+ - namespace quic { - - namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch deleted file mode 100644 index 5e392e6..0000000 --- a/chromium-76.0.3809.100-throttling-dead-beef.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 06 Jun 2019 07:54:05 +0000 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t - -We are setting kAlive and kDead values assigning values that -are bigger than the maximum signed int32. It is better to use -uint32_t in this case. - -Bug: 819294 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666619} ---- - -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h -index 43751c4..3c6f87b 100644 ---- a/services/network/throttling/throttling_controller.h -+++ b/services/network/throttling/throttling_controller.h -@@ -38,7 +38,7 @@ - - // TODO(https://crbug.com/960874): Debugging code to try and shed some light - // on why the owned maps are invalid. -- enum class Liveness : int32_t { -+ enum class Liveness : uint32_t { - kAlive = 0xCA11AB13, - kDead = 0xDEADBEEF, - }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch deleted file mode 100644 index a392971..0000000 --- a/chromium-76.0.3809.100-weak-ptr-no-except.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 18 Jul 2019 14:26:11 +0200 -Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression - -A GCC build regression has happened on DisjointRangeLockManager, as its move -operator and constructor were declared noexcept. This was failing because the -default implementation depended on base::WeakPtr, that did not provide -noexcept declaration for them. - -So make base::WeakPtr noexcept. - -Bug: 819294 -Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 ---- - -diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc -index 64fd499..0efcc44 100644 ---- a/base/memory/weak_ptr.cc -+++ b/base/memory/weak_ptr.cc -@@ -46,7 +46,7 @@ - - WeakReference::~WeakReference() = default; - --WeakReference::WeakReference(WeakReference&& other) = default; -+WeakReference::WeakReference(WeakReference&& other) noexcept = default; - - WeakReference::WeakReference(const WeakReference& other) = default; - -diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h -index 72b5f1f..ccd22fd13 100644 ---- a/base/memory/weak_ptr.h -+++ b/base/memory/weak_ptr.h -@@ -116,9 +116,9 @@ - explicit WeakReference(const scoped_refptr& flag); - ~WeakReference(); - -- WeakReference(WeakReference&& other); -+ WeakReference(WeakReference&& other) noexcept; - WeakReference(const WeakReference& other); -- WeakReference& operator=(WeakReference&& other) = default; -+ WeakReference& operator=(WeakReference&& other) noexcept = default; - WeakReference& operator=(const WeakReference& other) = default; - - bool IsValid() const; -@@ -153,9 +153,9 @@ - ~WeakPtrBase(); - - WeakPtrBase(const WeakPtrBase& other) = default; -- WeakPtrBase(WeakPtrBase&& other) = default; -+ WeakPtrBase(WeakPtrBase&& other) noexcept = default; - WeakPtrBase& operator=(const WeakPtrBase& other) = default; -- WeakPtrBase& operator=(WeakPtrBase&& other) = default; -+ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; - - void reset() { - ref_ = internal::WeakReference(); -@@ -236,7 +236,7 @@ - ptr_ = reinterpret_cast(t); - } - template -- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { -+ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { - // Need to cast from U* to T* to do pointer adjustment in case of multiple - // inheritance. This also enforces the "U is a T" rule. - T* t = reinterpret_cast(other.ptr_); diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch deleted file mode 100644 index 73db4d4..0000000 --- a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc ---- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 -@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni - "application/x-protobuf", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch new file mode 100644 index 0000000..c836214 --- /dev/null +++ b/chromium-77.0.3865.75-boolfix.patch @@ -0,0 +1,24 @@ +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 +@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { + + bool is_valid() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { + return std::move(handle_); +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 +@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { + // handle. + bool is_pending() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } + diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch similarity index 73% rename from chromium-76.0.3809.132-certificate-transparency.patch rename to chromium-77.0.3865.75-certificate-transparency.patch index 8bfbced..82e2958 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-77.0.3865.75-certificate-transparency.patch @@ -1,18 +1,18 @@ -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 -@@ -17,6 +17,7 @@ - #include "chrome/common/pref_names.h" - #include "chrome/test/base/in_process_browser_test.h" - #include "components/prefs/pref_service.h" +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 +@@ -21,6 +21,7 @@ + #include "components/version_info/version_info.h" + #include "content/public/common/content_switches.h" + #include "content/public/common/user_agent.h" +#include "services/network/public/cpp/network_service_buildflags.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/network_service.mojom.h" #include "testing/gmock/include/gmock/gmock.h" -@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont +@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerStubResolverBrowsertest, - ::testing::Values(false, true)); + SystemNetworkContextManagerFreezeQUICUaBrowsertest, + ::testing::Values(true, false)); + +class SystemNetworkContextManagerCertificateTransparencyBrowsertest + : public SystemNetworkContextManagerBrowsertest, @@ -65,9 +65,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage + , + SystemNetworkContextManagerCertificateTransparencyBrowsertest, + ::testing::Values(base::nullopt, true, false)); -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -82,7 +82,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "base/command_line.h" #include "base/feature_list.h" #include "base/logging.h" -@@ -51,6 +53,7 @@ +@@ -50,6 +52,7 @@ #include "content/public/common/mime_handler_view_mode.h" #include "content/public/common/service_names.mojom.h" #include "content/public/common/user_agent.h" @@ -90,7 +90,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -81,6 +84,20 @@ +@@ -79,6 +82,20 @@ namespace { @@ -111,7 +111,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage // The global instance of the SystemNetworkContextmanager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau +@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) @@ -155,7 +155,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage } const base::Value* value = -@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth +@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth return CreateHttpAuthDynamicParams(g_browser_process->local_state()); } @@ -168,10 +168,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetworkContextParams() { // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 -@@ -158,6 +158,12 @@ class SystemNetworkContextManager { +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 +@@ -139,6 +139,12 @@ class SystemNetworkContextManager { static network::mojom::HttpAuthDynamicParamsPtr GetHttpAuthDynamicParamsForTesting(); @@ -184,10 +184,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage private: class URLLoaderFactoryForSystem; -diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm +diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 +@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); } @@ -196,9 +196,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.cert CertificateTransparencyEnforcementDisabledForCas) { net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 @@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/run_loop.h" @@ -226,10 +226,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_bro void SetUpOnMainThread() override { run_loop_ = std::make_unique(); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi +diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 +@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi SecurityStateTabHelperTest() : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); @@ -243,10 +243,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_bro } void SetUpOnMainThread() override { -diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 -@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : +diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 +@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : public: CertificateTransparencySSLUITest() : CertVerifierBrowserTest(), @@ -263,9 +263,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificat void SetUpOnMainThread() override { CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 -+++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 ++++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 @@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } @@ -286,10 +286,10 @@ diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_po private: // Returns true if the log identified by |log_id| (the SHA-256 hash of the // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc ---- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 -@@ -35,6 +35,7 @@ +diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc +--- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 +@@ -36,6 +36,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/prefs/pref_service_factory.h" @@ -297,7 +297,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #include "mojo/public/cpp/bindings/strong_binding.h" #include "net/base/layered_network_delegate.h" #include "net/base/load_flags.h" -@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A +@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); #endif // BUILDFLAG(ENABLE_REPORTING) @@ -314,7 +314,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- net::HttpNetworkSession::Params session_params; bool is_quic_force_disabled = false; if (network_service_ && network_service_->quic_disabled()) -@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A +@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A #if BUILDFLAG(IS_CT_SUPPORTED) std::vector> ct_logs; @@ -335,7 +335,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A +@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } @@ -353,9 +353,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = -diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc ---- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc +--- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -374,10 +374,10 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer #include "components/network_session_configurator/common/network_switches.h" #include "components/prefs/testing_pref_service.h" +#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/interface_request.h" - #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/bindings/remote.h" + #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -113,6 +116,11 @@ +@@ -115,6 +118,11 @@ #include "url/scheme_host_port.h" #include "url/url_constants.h" @@ -386,11 +386,11 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer +#include "services/network/public/mojom/ct_log_info.mojom.h" +#endif + - #if BUILDFLAG(ENABLE_REPORTING) - #include "net/network_error_logging/network_error_logging_service.h" - #include "net/reporting/reporting_cache.h" -@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki - EXPECT_EQ("None", response_body); + #if !BUILDFLAG(DISABLE_FTP_SUPPORT) + #include "net/ftp/ftp_auth_cache.h" + #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) +@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, + true /* was_cached */, true /* is_navigation */); } +#if BUILDFLAG(IS_CT_SUPPORTED) @@ -462,9 +462,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer } // namespace } // namespace network -diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 +diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -488,10 +488,10 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + // If the log is currently qualified, this will not be set. + mojo_base.mojom.TimeDelta? disqualified_at; }; -diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 -@@ -238,15 +238,6 @@ struct NetworkContextParams { +diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 +@@ -239,15 +239,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; @@ -507,7 +507,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. bool http_09_on_non_default_ports_enabled = false; -@@ -299,6 +290,15 @@ struct NetworkContextParams { +@@ -300,6 +291,15 @@ struct NetworkContextParams { // servers, so they can discover misconfigurations. bool enable_certificate_reporting = false; @@ -523,7 +523,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables Expect CT reporting, which sends reports for opted-in sites that // don't serve sufficient Certificate Transparency information. [EnableIf=is_ct_supported] -@@ -310,6 +310,13 @@ struct NetworkContextParams { +@@ -311,6 +311,13 @@ struct NetworkContextParams { [EnableIf=is_ct_supported] array ct_logs; diff --git a/chromium-77.0.3865.75-fedora-user-agent.patch b/chromium-77.0.3865.75-fedora-user-agent.patch new file mode 100644 index 0000000..8f6de51 --- /dev/null +++ b/chromium-77.0.3865.75-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent chromium-77.0.3865.75/content/common/user_agent.cc +--- chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent 2019-09-12 15:49:11.902270729 +0200 ++++ chromium-77.0.3865.75/content/common/user_agent.cc 2019-09-12 15:50:11.555732044 +0200 +@@ -35,7 +35,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MACOSX) + return "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + return "Linux; "; + #elif defined(OS_POSIX) diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch new file mode 100644 index 0000000..385778c --- /dev/null +++ b/chromium-77.0.3865.75-fix-v8-gcc.patch @@ -0,0 +1,14 @@ +diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc +--- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 ++++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 +@@ -3773,6 +3773,10 @@ Handle CreateElementDi + return new_element_dictionary; + } + ++template void JSObject::ApplyAttributesToDictionary( ++ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, ++ const PropertyAttributes attributes); ++ + template + Maybe JSObject::PreventExtensionsWithTransition( + Handle object, ShouldThrow should_throw) { diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch new file mode 100644 index 0000000..d342e2d --- /dev/null +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -0,0 +1,13 @@ +diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 +@@ -24,8 +24,7 @@ + #elif !defined(__native_client__) && \ + ((defined(__clang__) && \ + ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ +- (defined(__GNUC__) && __GNUC__ >= 5)) ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) + #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch new file mode 100644 index 0000000..34b858a --- /dev/null +++ b/chromium-77.0.3865.75-gcc5-r3.patch @@ -0,0 +1,36 @@ +diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 ++++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 ++++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 ++++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch new file mode 100644 index 0000000..c32d226 --- /dev/null +++ b/chromium-77.0.3865.75-no-zlib-mangle.patch @@ -0,0 +1,22 @@ +diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h +--- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 ++++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 +@@ -9,18 +9,6 @@ + #define ZCONF_H + + /* +- * This library is also built as a part of AOSP, which does not need to include +- * chromeconf.h. This config does not want chromeconf.h, so it can set this +- * macro to opt out. While this works today, there's no guarantee that building +- * zlib outside of Chromium keeps working in the future. +- */ +-#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) +-/* This include does prefixing as below, but with an updated set of names. Also +- * sets up export macros in component builds. */ +-#include "chromeconf.h" +-#endif +- +-/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium.spec b/chromium.spec index 877f8f7..a943ad5 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,14 +164,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 76 +%global majorversion 77 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.132 +Version: %{majorversion}.0.3865.75 Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -211,20 +211,20 @@ Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch # Fix libavutil include pathing to find arch specific timer.h # For some reason, this only fails on aarch64. No idea why. Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch # from gentoo -Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch # From gentoo -Patch21: chromium-72.0.3626.121-gcc5-r3.patch +Patch21: chromium-77.0.3865.75-gcc5-r3.patch # To use round with gcc, you need to #include Patch22: chromium-65.0.3325.146-gcc-round-fix.patch # Include proper headers to invoke memcpy() Patch23: chromium-65.0.3325.146-memcpy-fix.patch # ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-68.0.3440.106-boolfix.patch +Patch24: chromium-77.0.3865.75-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch # Do not use unrar code, it is non-free @@ -232,7 +232,7 @@ Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch # Add "Fedora" to the user agent string -Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +Patch29: chromium-77.0.3865.75-fedora-user-agent.patch # Try to fix version.py for Rawhide Patch30: chromium-71.0.3578.98-py2-bootstrap.patch # Fix default on redeclaration error @@ -260,43 +260,11 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# Fix Vulkan compilation with gcc -# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 -Patch47: chromium-76.0.3809.100-gcc-vulkan.patch -# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b -Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch -# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 -Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch -# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c -Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch -# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch -# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e -Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc -Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch -# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb -Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch -# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 -Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch -# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc -Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch -# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 -Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c -Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 -Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -305,7 +273,7 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-76.0.3809.132-certificate-transparency.patch +Patch64: chromium-77.0.3865.75-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -846,7 +814,7 @@ udev. %patch22 -p1 -b .gcc-round-fix %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix -%patch25 -p1 -b .aarch64fix +#%patch25 -p1 -b .aarch64fix %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -861,23 +829,8 @@ udev. %patch38 -p1 -b .disable-ndnpc %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b -%patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .gcc-vulkan -%patch48 -p1 -b .gcc-cc-no-except -%patch49 -p1 -b .gcc-net-fetcher -%patch50 -p1 -b .quiche-compile-fix -%patch51 -p1 -b .throttling-dead-beef -%patch52 -p1 -b .gcc-ambigous-instantiation -%patch53 -p1 -b .weak-ptr-no-except -%patch54 -p1 -b .gcc-feature-policy-parser -%patch55 -p1 -b .gcc-hasfraction-constexpr -%patch56 -p1 -b .gcc-move-explicit-initialization -%patch57 -p1 -b .gcc-initialization-order -%patch58 -p1 -b .gcc-history-move-noexcept -%patch59 -p1 -b .gcc-accountinfo-move-noexcept -%patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined @@ -1466,6 +1419,7 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +echo # Now do the full browser %if 0%{freeworld} ../depot_tools/ninja -C %{target} -vvv media diff --git a/sources b/sources index 2d38a7c..a1d28bf 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 From 6e6dfd56f09be0eb1bd8c1e180b5db4b517958af Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:03 +0200 Subject: [PATCH 078/171] Unbundle the zlib Use the gentoo patch. --- chromium-77.0.3865.75-unbundle-zlib.patch | 25 +++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 chromium-77.0.3865.75-unbundle-zlib.patch diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch new file mode 100644 index 0000000..d6c45ad --- /dev/null +++ b/chromium-77.0.3865.75-unbundle-zlib.patch @@ -0,0 +1,25 @@ +From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 28 Jun 2019 15:56:23 +0000 +Subject: [PATCH] update zlib + +--- + third_party/perfetto/gn/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn +index c951f5f..297eee3 100644 +--- a/third_party/perfetto/gn/BUILD.gn ++++ b/third_party/perfetto/gn/BUILD.gn +@@ -200,7 +200,7 @@ group("zlib") { + "//buildtools:zlib", + ] + } else if (build_with_chromium) { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ + "//third_party/zlib", + ] +-- +2.21.0 + diff --git a/chromium.spec b/chromium.spec index a943ad5..440ec40 100644 --- a/chromium.spec +++ b/chromium.spec @@ -274,6 +274,8 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae Patch64: chromium-77.0.3865.75-certificate-transparency.patch +# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch +Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -835,6 +837,7 @@ udev. %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency +%patch65 -p1 -b .unbundle-zlib # EPEL specific patches %if 0%{?rhel} == 7 From 62d330423a8d7a7ba17fdbee6966abbc76707a4a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:23:46 +0200 Subject: [PATCH 079/171] Missing bundled dependency for headless --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 440ec40..92e6b78 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1230,6 +1230,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %endif 'third_party/openscreen' \ 'third_party/opus' \ + 'third_party/one_euro_filter' \ 'third_party/ots' \ 'third_party/pdfium' \ 'third_party/pdfium/third_party/agg23' \ From 3534908954173e8207dd19ecc36b19eb5666ecb7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:21:43 +0200 Subject: [PATCH 080/171] Fix the previously rebased patched --- chromium-77.0.3865.75-gcc-no-opt-safe-math.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch index d342e2d..920a53e 100644 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -1,13 +1,15 @@ diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 -@@ -24,8 +24,7 @@ +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 +@@ -23,9 +23,8 @@ + // Where available use builtin math overflow support on Clang and GCC. #elif !defined(__native_client__) && \ ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ +- ((__clang_major__ > 3) || \ - (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ - (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) ++ (__clang_major__ > 3) || \ ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) #include "base/numerics/safe_math_clang_gcc_impl.h" #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) #else From aa41a1de67e23ce345062d1753d1f6b3c3d7fad8 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:54 +0200 Subject: [PATCH 081/171] Update the clean-ffmpeg.sh script --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..fd226e8 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -138,6 +138,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/vlc.h \ libavcodec/vorbisdsp.h \ libavcodec/vp3data.h \ + libavcodec/vp4data.h \ libavcodec/vp3dsp.h \ libavcodec/vp56.h \ libavcodec/vp56dsp.h \ diff --git a/sources b/sources index a1d28bf..b9b0498 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 From 1dabe8d36679bcd36e5488c42a5f148a6100f872 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:24:09 +0200 Subject: [PATCH 082/171] Include to fix the headless build --- chromium-77.0.3865.75-gcc-include-memory.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-include-memory.patch diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch new file mode 100644 index 0000000..93b4399 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-include-memory.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h +--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200 ++++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200 +@@ -3,6 +3,8 @@ + + #include "low_pass_filter.h" + ++#include ++ + namespace one_euro_filter { + namespace test { + class OneEuroFilterTest; diff --git a/chromium.spec b/chromium.spec index 92e6b78..980a57d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -276,6 +276,8 @@ Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch Patch64: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +# Needs to be submitted.. +Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -838,6 +840,7 @@ udev. %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib +%patch66 -p1 -b .gcc-include-memory # EPEL specific patches %if 0%{?rhel} == 7 From 670a5ef5afc89028d89ec7486261805cefbd1626 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:00:03 +0200 Subject: [PATCH 083/171] Use the bundled harfbuzz-ng for < F31 Needed because of the hb_subset_input_set_retain_gids(), that's only available in harbuzz 2.4 that's only in F31+ --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 980a57d..129f8b9 100644 --- a/chromium.spec +++ b/chromium.spec @@ -133,9 +133,9 @@ BuildRequires: libicu-devel >= 5.4 %global bundlefontconfig 0 %endif -# Needs at least harfbuzz 2.3.0 now. -# 2019-03-13 -%if 0%{?fedora} < 30 +# Needs at least harfbuzz 2.4.0 now. +# 2019-09-13 +%if 0%{?fedora} < 31 %global bundleharfbuzz 1 %else %global bundleharfbuzz 0 From ce1cdf147b4faa3545fb1f783fed82712f601144 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 21:48:17 +0200 Subject: [PATCH 084/171] Remove an unneeded patch that's breaking the build --- chromium-77.0.3865.75-fix-v8-gcc.patch | 14 -------------- chromium.spec | 4 ---- 2 files changed, 18 deletions(-) delete mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch deleted file mode 100644 index 385778c..0000000 --- a/chromium-77.0.3865.75-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc ---- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 -+++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 -@@ -3773,6 +3773,10 @@ Handle CreateElementDi - return new_element_dictionary; - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium.spec b/chromium.spec index 129f8b9..a6daffc 100644 --- a/chromium.spec +++ b/chromium.spec @@ -262,9 +262,6 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch Patch43: chromium-75.0.3770.80-revert-daff6b.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch -# fix v8 compile with gcc -# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -834,7 +831,6 @@ udev. %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b %patch45 -p1 -b .gettid-fix -%patch46 -p1 -b .fix-v8-gcc %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined From b10ed01ae7f394478f8abea46a1227b93933c576 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:05:31 +0200 Subject: [PATCH 085/171] Another export and alignas gcc compilation fix --- chromium-77.0.3865.75-base-gcc-no-alignas.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-base-gcc-no-alignas.patch diff --git a/chromium-77.0.3865.75-base-gcc-no-alignas.patch b/chromium-77.0.3865.75-base-gcc-no-alignas.patch new file mode 100644 index 0000000..86a2271 --- /dev/null +++ b/chromium-77.0.3865.75-base-gcc-no-alignas.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h +--- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200 ++++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200 +@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList { + + // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can + // be used to store additional state (see static_asserts below). +- class BASE_EXPORT alignas(8) Node { ++ class BASE_EXPORT ALIGNAS(8) Node { + public: + Node(); + explicit Node(Node&& other) noexcept; diff --git a/chromium.spec b/chromium.spec index a6daffc..328b149 100644 --- a/chromium.spec +++ b/chromium.spec @@ -275,6 +275,8 @@ Patch64: chromium-77.0.3865.75-certificate-transparency.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. Patch66: chromium-77.0.3865.75-gcc-include-memory.patch +# Needs to be submitted.. +Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -837,6 +839,7 @@ udev. %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory +%patch67 -p1 -b .base-gcc-no-alignas # EPEL specific patches %if 0%{?rhel} == 7 From a9b565084b2825a476563c1d40597038e8d18971 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:06:07 +0200 Subject: [PATCH 086/171] Preserve the spirv heads for swiftshader compilation --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 328b149..dca072c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1277,6 +1277,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/swiftshader/third_party/subzero' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ + 'third_party/swiftshader/third_party/SPIRV-Headers' \ 'third_party/tcmalloc' \ 'third_party/test_fonts' \ 'third_party/usb_ids' \ From 4287667b770213af574b8adb5d22f919a5c63fca Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:13:56 +0200 Subject: [PATCH 087/171] Fix the release number and add a changelog entry --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index dca072c..b959409 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1872,6 +1872,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 +- Update to 77.0.3865.75 + * Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 - Backport patch to fix certificate transparency From 5316414f65248b78db5678e60a797f2cea4dc493 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:09:46 +0200 Subject: [PATCH 088/171] More of the harfbuzz related fixes --- chromium-77.0.3865.75-harfbuzz-subset.patch | 49 +++++++++++++++++++++ chromium.spec | 7 ++- 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 chromium-77.0.3865.75-harfbuzz-subset.patch diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch new file mode 100644 index 0000000..55d78d1 --- /dev/null +++ b/chromium-77.0.3865.75-harfbuzz-subset.patch @@ -0,0 +1,49 @@ +From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 29 Jul 2019 10:54:28 +0000 +Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true + +When building HarfBuzz as part of Chromium, there is a single source set +with all the files we need in the build. + +Upstream HarfBuzz, on the other hand, produces a few different libraries: +harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is +true, we were only looking for (and using) harfbuzz.pc with pkg-config even +though we also use symbols from libharfbuzz-subset.so. This resulted in +errors when linking: + + ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': + SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' + +as reported in +https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + +Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Dominik Röttsches +Reviewed-by: Dominik Röttsches +Cr-Commit-Position: refs/heads/master@{#681760} +--- + +diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn +index 37d8e33..72013eb1d 100644 +--- a/third_party/harfbuzz-ng/BUILD.gn ++++ b/third_party/harfbuzz-ng/BUILD.gn +@@ -16,7 +16,10 @@ + "//third_party:freetype_harfbuzz", + "//third_party/freetype:freetype_source", + ] +- packages = [ "harfbuzz" ] ++ packages = [ ++ "harfbuzz", ++ "harfbuzz-subset", ++ ] + } + } else { + config("harfbuzz_config") { diff --git a/chromium.spec b/chromium.spec index b959409..277fcfe 100644 --- a/chromium.spec +++ b/chromium.spec @@ -277,6 +277,8 @@ Patch65: chromium-77.0.3865.75-unbundle-zlib.patch Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Needs to be submitted.. Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +# https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 +Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -362,7 +364,7 @@ BuildRequires: gperf %if 0%{?bundleharfbuzz} #nothing %else -BuildRequires: harfbuzz-devel >= 2.3.0 +BuildRequires: harfbuzz-devel >= 2.4.0 %endif BuildRequires: libatomic BuildRequires: libcap-devel @@ -624,7 +626,7 @@ Provides: bundled(freetype) = 2.9.3 %endif Provides: bundled(gperftools) = svn144 %if 0%{?bundleharfbuzz} -Provides: bundled(harfbuzz) = 2.3.0 +Provides: bundled(harfbuzz) = 2.4.0 %endif Provides: bundled(hunspell) = 1.6.0 Provides: bundled(iccjpeg) @@ -840,6 +842,7 @@ udev. %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas +%patch68 -p1 -b .harfbuzz-subset # EPEL specific patches %if 0%{?rhel} == 7 From a159083f2bffc5638c2bc82df2b5187c6b2b6408 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:10:29 +0200 Subject: [PATCH 089/171] Don't remove an additional bundled library --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 277fcfe..4a74346 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1234,6 +1234,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/openh264' \ %endif 'third_party/openscreen' \ + 'third_party/openscreen/src/third_party/tinycbor' \ 'third_party/opus' \ 'third_party/one_euro_filter' \ 'third_party/ots' \ From d0e5893874a5394bcf62cbb090dd7245a080c245 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 17:06:52 +0200 Subject: [PATCH 090/171] Backport another GCC build fix --- ...mium-77.0.3865.75-gcc-abstract-class.patch | 61 +++++++++++++++++++ chromium.spec | 3 + 2 files changed, 64 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-abstract-class.patch diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch new file mode 100644 index 0000000..6d77299 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-abstract-class.patch @@ -0,0 +1,61 @@ +From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 26 Jul 2019 16:48:06 +0000 +Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class + +The method UploadForDeepScanning gets a Request as parameter. But Request is an +abstract class, so GCC will not allow that declaration (polimorphycs should be +passed by reference). Use std::unique_ptr so BinaryUploadService can assume +ownership. + +Bug: 819294 +Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 +Reviewed-by: Daniel Rubery +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#681333} +--- + +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +index 6430c89..4e90487 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +@@ -10,7 +10,7 @@ + namespace safe_browsing { + + void BinaryUploadService::UploadForDeepScanning( +- BinaryUploadService::Request request) { ++ std::unique_ptr request) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + NOTREACHED(); + } +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +index d2dfd83..9b6f395 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +@@ -5,6 +5,8 @@ + #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + ++#include ++ + #include "base/callback.h" + #include "components/safe_browsing/proto/webprotect.pb.h" + +@@ -40,6 +42,7 @@ + public: + // |callback| will run on the UI thread. + explicit Request(Callback callback); ++ virtual ~Request() = default; + Request(const Request&) = delete; + Request& operator=(const Request&) = delete; + +@@ -67,7 +70,7 @@ + // Upload the given file contents for deep scanning. The results will be + // returned asynchronously by calling |request|'s |callback|. This must be + // called on the UI thread. +- void UploadForDeepScanning(Request request); ++ void UploadForDeepScanning(std::unique_ptr request); + }; + + } // namespace safe_browsing diff --git a/chromium.spec b/chromium.spec index 4a74346..625d74d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -279,6 +279,8 @@ Patch66: chromium-77.0.3865.75-gcc-include-memory.patch Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +# https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 +Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -843,6 +845,7 @@ udev. %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset +%patch69 -p1 -b .gcc-abstract-class # EPEL specific patches %if 0%{?rhel} == 7 From d544c78407eac8efb67088cde61ccd4eba574658 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 19:15:24 +0200 Subject: [PATCH 091/171] Customize the ninja status to show the currently build target So one is able to realize faster, where the build is failing. --- chromium.spec | 53 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/chromium.spec b/chromium.spec index 625d74d..760805e 100644 --- a/chromium.spec +++ b/chromium.spec @@ -2,6 +2,13 @@ # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 %global _python_bytecompile_extra 1 +# Fancy build status, so we at least know, where we are.. +# %1 where +# %2 what +%global build_target() \ + export NINJA_STATUS="[%2:%f/%t] " ; \ + ../depot_tools/ninja -C '%1' -vvv '%2' + # This is faster when it works, but it doesn't always. %ifarch aarch64 %global use_jumbo 0 @@ -28,9 +35,9 @@ %global useapikeys 1 # Leave this alone, please. -%global target out/Release -%global headlesstarget out/Headless -%global remotingtarget out/Remoting +%global builddir out/Release +%global headlessbuilddir out/Headless +%global remotingbuilddir out/Remoting # Debuginfo packages aren't very useful here. If you need to debug # you should do a proper debug build (not implemented in this spec yet) @@ -1403,17 +1410,17 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ fi tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{target} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} # do not need to do headless gen %else %if %{build_headless} -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlesstarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} %endif %endif -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingtarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} %if %{bundlelibusbx} # no hackity hack hack @@ -1433,34 +1440,36 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif -echo +echo # Now do the full browser %if 0%{freeworld} -../depot_tools/ninja -C %{target} -vvv media +%build_target %{builddir} media %else %if %{build_headless} -# Do headless first. -../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell +# Do headless first. +%build_target %{headlessbuilddir} headless_shell %endif -../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver clear_key_cdm policy_templates +%build_target %{builddir} chrome +%build_target %{builddir} chrome_sandbox +%build_target %{builddir} chromedriver +%build_target %{builddir} clear_key_cdm +%build_target %{builddir} policy_templates # remote client -pushd remoting - -# ../../depot_tools/ninja -C ../%{target} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources -../../depot_tools/ninja -C ../%{remotingtarget} -vvv remoting_all +# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources +%build_target %{remotingbuilddir} remoting_all %if 0%{?build_remoting_app} %if 0%{?nacl} -GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} ../../depot_tools/ninja -vv -C ../out/Release/ remoting_webapp +export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} +%build_target %{builddir} remoting_webapp %endif %endif -popd %endif # Nuke nacl/pnacl bits at the end of the build -rm -rf out/Release/gen/sdk +rm -rf %{builddir}/gen/sdk rm -rf native_client/toolchain rm -rf third_party/llvm-build/* @@ -1470,7 +1479,7 @@ rm -rf %{buildroot} %if 0%{freeworld} mkdir -p %{buildroot}%{chromium_path} -pushd %{target} +pushd %{builddir} cp -a libffmpeg.so* %{buildroot}%{chromium_path} cp -a libmedia.so* %{buildroot}%{chromium_path} mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} @@ -1499,7 +1508,7 @@ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromiu ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/ -pushd %{target} +pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} %if 0%{?nacl} cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} @@ -1550,7 +1559,7 @@ popd %endif popd -pushd %{remotingtarget} +pushd %{remotingbuilddir} # See remoting/host/installer/linux/Makefile for logic cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host @@ -1593,7 +1602,7 @@ cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} %endif %if %{build_headless} -pushd %{headlesstarget} +pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} popd %endif From f68b7de9c099cd6540f657e6df3d7bccf7ff914b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:08:54 +0200 Subject: [PATCH 092/171] Fix the aarch64 build --- chromium-77.0.3865.75-missing-limits.patch | 28 ++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 31 insertions(+) create mode 100644 chromium-77.0.3865.75-missing-limits.patch diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch new file mode 100644 index 0000000..3ac1770 --- /dev/null +++ b/chromium-77.0.3865.75-missing-limits.patch @@ -0,0 +1,28 @@ +From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 +From: Dave Tapuska +Date: Mon, 12 Aug 2019 22:30:13 +0000 +Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. + +Some configurations fail to build, limits should have been included. + +BUG=992832 + +Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 +Commit-Queue: Dave Tapuska +Reviewed-by: Mostyn Bramley-Moore +Cr-Commit-Position: refs/heads/master@{#686214} +--- + +diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc +index 384566a..68d83e1 100644 +--- a/third_party/blink/renderer/platform/exported/web_time_range.cc ++++ b/third_party/blink/renderer/platform/exported/web_time_range.cc +@@ -31,6 +31,7 @@ + #include "third_party/blink/public/platform/web_time_range.h" + + #include ++#include + + namespace blink { + diff --git a/chromium.spec b/chromium.spec index 760805e..799b55b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,8 @@ Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +# https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 +Patch70: chromium-77.0.3865.75-missing-limits.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -853,6 +855,7 @@ udev. %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset %patch69 -p1 -b .gcc-abstract-class +%patch70 -p1 -b .missing-limits # EPEL specific patches %if 0%{?rhel} == 7 From be307c8f4d884cb12958bb7bc62eb591fcaea35b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:11:22 +0200 Subject: [PATCH 093/171] 22x22 icon was removed and use the symbolic one as well --- chromium.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 799b55b..d2436e2 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1634,8 +1634,8 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/22x22/apps -cp -a chrome/app/theme/chromium/product_logo_22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From 2873f12bb33c082c677cf6764c958a16c21b4d1e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 12 Sep 2019 17:28:51 +0200 Subject: [PATCH 094/171] Update to 77.0.3865.75 Rebase and clean the patches. --- ...um-61.0.3163.79-gcc-no-opt-safe-math.patch | 13 - chromium-68.0.3440.106-boolfix.patch | 36 --- ...mium-72.0.3626.121-fedora-user-agent.patch | 12 - chromium-72.0.3626.121-gcc5-r3.patch | 36 --- chromium-75.0.3770.100-fix-v8-gcc.patch | 14 -- chromium-75.0.3770.80-no-zlib-mangle.patch | 14 -- ...-75.0.3770.80-pure-virtual-crash-fix.patch | 24 -- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 ----- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 -------- ...0.3809.100-gcc-feature-policy-parser.patch | 76 ------ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 --- ...0.3809.100-gcc-history-move-noexcept.patch | 42 ---- ....0.3809.100-gcc-initialization-order.patch | 33 --- ...100-gcc-move-explicit-initialization.patch | 97 -------- chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ----- ...0.3809.100-gcc-themeservice-includes.patch | 36 --- chromium-76.0.3809.100-gcc-vulkan.patch | 115 --------- ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ------------------ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 --- ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 ----- ....3809.132-gcc-ambigous-instantiation.patch | 21 -- chromium-77.0.3865.75-boolfix.patch | 24 ++ ...7.0.3865.75-certificate-transparency.patch | 132 +++++----- chromium-77.0.3865.75-fedora-user-agent.patch | 12 + chromium-77.0.3865.75-fix-v8-gcc.patch | 14 ++ ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 13 + chromium-77.0.3865.75-gcc5-r3.patch | 36 +++ chromium-77.0.3865.75-no-zlib-mangle.patch | 22 ++ chromium.spec | 68 +----- sources | 2 +- 30 files changed, 199 insertions(+), 1267 deletions(-) delete mode 100644 chromium-61.0.3163.79-gcc-no-opt-safe-math.patch delete mode 100644 chromium-68.0.3440.106-boolfix.patch delete mode 100644 chromium-72.0.3626.121-fedora-user-agent.patch delete mode 100644 chromium-72.0.3626.121-gcc5-r3.patch delete mode 100644 chromium-75.0.3770.100-fix-v8-gcc.patch delete mode 100644 chromium-75.0.3770.80-no-zlib-mangle.patch delete mode 100644 chromium-75.0.3770.80-pure-virtual-crash-fix.patch delete mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch delete mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch delete mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch delete mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch delete mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch delete mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch delete mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch delete mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch delete mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch delete mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch delete mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch delete mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch create mode 100644 chromium-77.0.3865.75-boolfix.patch rename chromium-76.0.3809.132-certificate-transparency.patch => chromium-77.0.3865.75-certificate-transparency.patch (73%) create mode 100644 chromium-77.0.3865.75-fedora-user-agent.patch create mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch create mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch create mode 100644 chromium-77.0.3865.75-gcc5-r3.patch create mode 100644 chromium-77.0.3865.75-no-zlib-mangle.patch diff --git a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch b/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch deleted file mode 100644 index 183b5ab..0000000 --- a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h ---- chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 2017-09-06 16:30:15.898454585 -0400 -+++ chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h 2017-09-06 16:30:27.570229539 -0400 -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-68.0.3440.106-boolfix.patch b/chromium-68.0.3440.106-boolfix.patch deleted file mode 100644 index ed22aa9..0000000 --- a/chromium-68.0.3440.106-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-08-09 03:21:23.066802340 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-08-09 03:25:10.638595925 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-08-09 03:21:23.067802318 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h 2018-08-09 03:24:44.935229067 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-08-08 15:11:05.000000000 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h 2018-08-09 03:21:23.067802318 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-72.0.3626.121-fedora-user-agent.patch b/chromium-72.0.3626.121-fedora-user-agent.patch deleted file mode 100644 index 5cef6f0..0000000 --- a/chromium-72.0.3626.121-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent chromium-72.0.3626.121/content/common/user_agent.cc ---- chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent 2019-03-10 14:21:02.877454982 -0400 -+++ chromium-72.0.3626.121/content/common/user_agent.cc 2019-03-10 14:22:05.728812272 -0400 -@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-72.0.3626.121-gcc5-r3.patch b/chromium-72.0.3626.121-gcc5-r3.patch deleted file mode 100644 index f4cf40b..0000000 --- a/chromium-72.0.3626.121-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-03-01 23:10:21.000000000 -0500 -+++ chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h 2019-03-10 14:07:48.300244125 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-03-01 23:10:31.000000000 -0500 -+++ chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-03-10 14:07:48.303244046 -0400 -@@ -340,7 +340,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-03-10 14:07:48.307243941 -0400 -+++ chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-03-10 14:09:16.565920044 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - #include diff --git a/chromium-75.0.3770.100-fix-v8-gcc.patch b/chromium-75.0.3770.100-fix-v8-gcc.patch deleted file mode 100644 index 4a1a4b0..0000000 --- a/chromium-75.0.3770.100-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-75.0.3770.100/v8/src/objects/js-objects.cc ---- chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-06-25 10:55:08.132254304 -0400 -+++ chromium-75.0.3770.100/v8/src/objects/js-objects.cc 2019-06-25 10:55:23.147933648 -0400 -@@ -3792,6 +3792,10 @@ void JSObject::ApplyAttributesToDictiona - } - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium-75.0.3770.80-no-zlib-mangle.patch b/chromium-75.0.3770.80-no-zlib-mangle.patch deleted file mode 100644 index 998be67..0000000 --- a/chromium-75.0.3770.80-no-zlib-mangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle chromium-75.0.3770.80/third_party/zlib/zconf.h ---- chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle 2019-06-05 11:12:30.420412467 -0400 -+++ chromium-75.0.3770.80/third_party/zlib/zconf.h 2019-06-05 11:17:43.512683058 -0400 -@@ -8,10 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch b/chromium-75.0.3770.80-pure-virtual-crash-fix.patch deleted file mode 100644 index 06c909f..0000000 --- a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix 2019-06-07 15:03:43.302202979 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc 2019-06-07 15:04:25.140393048 -0400 -@@ -116,4 +116,9 @@ void RenderProcessUserData::RenderProces - base::Unretained(process_node_.get()), info.exit_code)); - } - -+void RenderProcessUserData::RenderProcessHostDestroyed( -+ content::RenderProcessHost* host) { -+ host->RemoveUserData(kRenderProcessUserDataKey); -+} -+ - } // namespace performance_manager -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix 2019-06-07 15:04:43.530039597 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h 2019-06-07 15:05:13.770458374 -0400 -@@ -47,6 +47,7 @@ class RenderProcessUserData : public bas - void RenderProcessExited( - content::RenderProcessHost* host, - const content::ChildProcessTerminationInfo& info) override; -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; - - // All instances are linked together in a doubly linked list to allow orderly - // destruction at browser shutdown time. diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 5f45a8f..0000000 --- a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 18:38:12 +0200 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo - -AccountInfo declares them as noexcept and uses default implementation, -so all its members (including AccountId) should be noexcept. But AccountId -is not noexcept. To fix it we just need to make CoreAccountId move -operator/assign operator noexcept. - -Bug: 819294 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 ---- - -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc -index d808082..12eefe3 100644 ---- a/google_apis/gaia/core_account_id.cc -+++ b/google_apis/gaia/core_account_id.cc -@@ -6,8 +6,16 @@ - - CoreAccountId::CoreAccountId() = default; - -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default; -+ -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::~CoreAccountId() = default; - -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; -+ -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h -index 5ea602a..c2d1911 100644 ---- a/google_apis/gaia/core_account_id.h -+++ b/google_apis/gaia/core_account_id.h -@@ -14,8 +14,13 @@ - // for design and tracking). - struct CoreAccountId { - CoreAccountId(); -+ CoreAccountId(const CoreAccountId&); -+ CoreAccountId(CoreAccountId&&) noexcept; - ~CoreAccountId(); - -+ CoreAccountId& operator=(const CoreAccountId&); -+ CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing - // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch deleted file mode 100644 index e4d754a..0000000 --- a/chromium-76.0.3809.100-gcc-cc-no-except.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 07 Jun 2019 09:50:11 +0000 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept - -As LayerTreeHostImpl::UIResourceData move constructor is declared -noexcept with default implementation, the move constructor of its -members should also be noexcept. GCC will fail to build otherwise -for mismatching noexcept declaration. - -We also set the move assignment operator. - -Bug: 819294 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Commit-Queue: José Dapena Paz -Reviewed-by: Daniel Cheng -Cr-Commit-Position: refs/heads/master@{#667064} ---- - -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc -index 2be2570..8426fa8 100644 ---- a/base/memory/shared_memory_mapping.cc -+++ b/base/memory/shared_memory_mapping.cc -@@ -33,7 +33,7 @@ - - SharedMemoryMapping::SharedMemoryMapping() = default; - --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept - : memory_(mapping.memory_), - size_(mapping.size_), - mapped_size_(mapping.mapped_size_), -@@ -42,7 +42,7 @@ - } - - SharedMemoryMapping& SharedMemoryMapping::operator=( -- SharedMemoryMapping&& mapping) { -+ SharedMemoryMapping&& mapping) noexcept { - Unmap(); - memory_ = mapping.memory_; - size_ = mapping.size_; -@@ -90,9 +90,9 @@ - - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - void* address, - size_t size, -@@ -102,9 +102,9 @@ - - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( - void* address, - size_t size, -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h -index d9569af..2b8858e 100644 ---- a/base/memory/shared_memory_mapping.h -+++ b/base/memory/shared_memory_mapping.h -@@ -32,8 +32,8 @@ - SharedMemoryMapping(); - - // Move operations are allowed. -- SharedMemoryMapping(SharedMemoryMapping&& mapping); -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; - - // Unmaps the region if the mapping is valid. - virtual ~SharedMemoryMapping(); -@@ -93,8 +93,9 @@ - ReadOnlySharedMemoryMapping(); - - // Move operations are allowed. -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; -+ ReadOnlySharedMemoryMapping& operator=( -+ ReadOnlySharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is read-only memory. This is - // page-aligned. This is nullptr for invalid instances. -@@ -171,8 +172,9 @@ - WritableSharedMemoryMapping(); - - // Move operations are allowed. -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; -+ WritableSharedMemoryMapping& operator=( -+ WritableSharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is writable memory. This is - // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch deleted file mode 100644 index 0dbffd5..0000000 --- a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 19:44:58 +0200 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace - -Compilation fails because we are declaring ParseValueForFuzzer as friend method, -but we are declaring it is in anonymous namespace. Moving to global namespace -still fails (in this case in Clang). - -So final solution is making it a public static method of FeaturePolicyParser. - -Bug: 819294 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 ---- - -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -index 3b7f4a9..eaee409 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -@@ -317,6 +317,13 @@ - return value; - } - -+void FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType feature_type, -+ const WTF::String& value_string) { -+ bool ok; -+ ParseValueForType(feature_type, value_string, &ok); -+} -+ - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, - const ParsedFeaturePolicy& policy) { - return std::any_of(policy.begin(), policy.end(), -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -index fd25d90..36af405 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -@@ -16,9 +16,6 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --// Forward declare for friendship. --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); -- - namespace blink { - - class Document; -@@ -79,8 +76,9 @@ - const FeatureNameMap& feature_names, - ExecutionContext* execution_context = nullptr); - -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); -+ - private: -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); - static PolicyValue GetFallbackValueForFeature( - mojom::FeaturePolicyFeature feature); - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -index 7f8e6aa..53350e43 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -@@ -23,9 +23,9 @@ - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - static blink::BlinkFuzzerTestSupport test_support = - blink::BlinkFuzzerTestSupport(); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, -- WTF::String(data, size)); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, -- WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); - return 0; - } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch deleted file mode 100644 index 26bba05..0000000 --- a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 17:18:40 +0000 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr - -Other HasFraction methods as in PhysicalUnit are declared already -constexpr and using it. It breaks GCC build. - -Bug: 819294. -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 -Reviewed-by: vmpstr -Reviewed-by: Xianzhu Wang -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666336} ---- - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index f073986..b6dbc76 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -202,7 +202,9 @@ - return value_ > 0 ? LayoutUnit() : *this; - } - -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } -+ constexpr bool HasFraction() const { -+ return RawValue() % kFixedPointDenominator; -+ } - - LayoutUnit Fraction() const { - // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch deleted file mode 100644 index 2876de4..0000000 --- a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch +++ /dev/null @@ -1,42 +0,0 @@ -From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 10:27:19 +0200 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow - -In GCC, build is failing because history::QueryURLResult declares its move -assignment operator as noexcept using default implementation. That requires -its members to provide a move assignment operator that is noexcept too. - -But URLRow was missing noexcept declaration in move assignment operator (even -though it was providing noexcept to its move constructor). - -Bug: 819294 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f ---- - -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc -index 44c22fd..aec0101 100644 ---- a/components/history/core/browser/url_row.cc -+++ b/components/history/core/browser/url_row.cc -@@ -26,7 +26,7 @@ - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) = default; -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h -index 8f6f9cf..31a1ef8 100644 ---- a/components/history/core/browser/url_row.h -+++ b/components/history/core/browser/url_row.h -@@ -35,7 +35,7 @@ - - virtual ~URLRow(); - URLRow& operator=(const URLRow& other); -- URLRow& operator=(URLRow&& other); -+ URLRow& operator=(URLRow&& other) noexcept; - - URLID id() const { return id_; } - diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch deleted file mode 100644 index 3bf394f..0000000 --- a/chromium-76.0.3809.100-gcc-initialization-order.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 21:09:01 +0000 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration - -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the -same order of the declaration. GCC fails because of that. - -Bug: 819294 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 -Reviewed-by: Zhenyao Mo -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666436} ---- - -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f649dd4..0aa6892 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -583,10 +583,10 @@ - - XSetWindowAttributes swa = { - .background_pixmap = 0, -- .bit_gravity = NorthWestGravity, -- .colormap = g_colormap, - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM - .border_pixel = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, - }; - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; - if (ui::IsCompositingManagerPresent() && diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch deleted file mode 100644 index 1d4b90f..0000000 --- a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +++ /dev/null @@ -1,97 +0,0 @@ -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 08:00:13 +0000 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo - -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks -build because of that. Move the template specializations out of RunInfo declaration -in shape_result_inline_headeres.h to fix the GCC build issue. - -Bug: 819294 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#667901} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -index 76ee6091..c14d3a0 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -@@ -251,37 +251,6 @@ - template - struct iterator final {}; - -- // For non-zero glyph offset array -- template <> -- struct iterator final { -- // The constructor for ShapeResult -- explicit iterator(const GlyphOffsetArray& array) -- : pointer(array.storage_.get()) { -- DCHECK(pointer); -- } -- -- // The constructor for ShapeResultView -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -- DCHECK(pointer); -- } -- -- GlyphOffset operator*() const { return *pointer; } -- void operator++() { ++pointer; } -- -- const GlyphOffset* pointer; -- }; -- -- // For zero glyph offset array -- template <> -- struct iterator final { -- explicit iterator(const GlyphOffsetArray& array) { -- DCHECK(!array.HasStorage()); -- } -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -- GlyphOffset operator*() const { return GlyphOffset(); } -- void operator++() {} -- }; -- - template - iterator GetIterator() const { - return iterator(*this); -@@ -495,6 +464,37 @@ - float width_; - }; - -+// For non-zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ // The constructor for ShapeResult -+ explicit iterator(const GlyphOffsetArray& array) -+ : pointer(array.storage_.get()) { -+ DCHECK(pointer); -+ } -+ -+ // The constructor for ShapeResultView -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -+ DCHECK(pointer); -+ } -+ -+ GlyphOffset operator*() const { return *pointer; } -+ void operator++() { ++pointer; } -+ -+ const GlyphOffset* pointer; -+}; -+ -+// For zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ explicit iterator(const GlyphOffsetArray& array) { -+ DCHECK(!array.HasStorage()); -+ } -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -+ GlyphOffset operator*() const { return GlyphOffset(); } -+ void operator++() {} -+}; -+ - // Find the range of HarfBuzzRunGlyphData for the specified character index - // range. This function uses binary search twice, hence O(2 log n). - inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch deleted file mode 100644 index bc0ed98..0000000 --- a/chromium-76.0.3809.100-gcc-net-fetcher.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 16:56:27 +0000 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace - -GCC does not allow friendship declaration to anonymous namespace as done with Job -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just -makes RemoveJob method public, that was the only reason to make Job a friend. - -Error was: -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - std::unique_ptr delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ - -Bug: 819294 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 -Commit-Queue: Eric Roman -Reviewed-by: Eric Roman -Cr-Commit-Position: refs/heads/master@{#668015} ---- - -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc -index 11a1166..349c656 100644 ---- a/net/cert_net/cert_net_fetcher_impl.cc -+++ b/net/cert_net/cert_net_fetcher_impl.cc -@@ -135,21 +135,19 @@ - void Fetch(std::unique_ptr request_params, - scoped_refptr request); - -+ // Removes |job| from the in progress jobs and transfers ownership to the -+ // caller. -+ std::unique_ptr RemoveJob(Job* job); -+ - // Cancels outstanding jobs, which stops network requests and signals the - // corresponding RequestCores that the requests have completed. - void Shutdown(); - - private: -- friend class Job; -- - // Finds a job with a matching RequestPararms or returns nullptr if there was - // no match. - Job* FindJob(const RequestParams& params); - -- // Removes |job| from the in progress jobs and transfers ownership to the -- // caller. -- std::unique_ptr RemoveJob(Job* job); -- - // The in-progress jobs. This set does not contain the job which is actively - // invoking callbacks (OnJobCompleted). - JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch deleted file mode 100644 index ad40bb9..0000000 --- a/chromium-76.0.3809.100-gcc-themeservice-includes.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 22:01:03 +0200 -Subject: [PATCH] IWYU: ThemeService requires NativeTheme - -As ThemeService referes to NativeTheme through a ScopedObserver, -the full declaration is required. - -Bug: 819294 -Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 ---- - -diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc -index d65388e2..23dc86d 100644 ---- a/chrome/browser/themes/theme_service.cc -+++ b/chrome/browser/themes/theme_service.cc -@@ -54,7 +54,6 @@ - #include "ui/gfx/color_palette.h" - #include "ui/gfx/image/image_skia.h" - #include "ui/native_theme/common_theme.h" --#include "ui/native_theme/native_theme.h" - - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "base/scoped_observer.h" -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 6c79c72..f93dc0d 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -25,6 +25,7 @@ - #include "extensions/buildflags/buildflags.h" - #include "extensions/common/extension_id.h" - #include "ui/base/theme_provider.h" -+#include "ui/native_theme/native_theme.h" - #include "ui/native_theme/native_theme_observer.h" - - class BrowserThemePack; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch deleted file mode 100644 index cf93bce..0000000 --- a/chromium-76.0.3809.100-gcc-vulkan.patch +++ /dev/null @@ -1,115 +0,0 @@ -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 17:39:38 +0000 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. - -The notation for initialization of structs referring to its properties -is invalid in C++. This is not accepted in GCC. It was making build -fail in VulkanCommandBuffer. - -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token - .subresourceRange.baseMipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token - .subresourceRange.levelCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token - .subresourceRange.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token - .subresourceRange.layerCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token - .imageSubresource.mipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token - .imageSubresource.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token - .imageSubresource.layerCount = 1, - ^ -Bug: 819294 - -Change-Id: I999abece0c727e77964789183642ba62009c2c22 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 -Commit-Queue: José Dapena Paz -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#668033} ---- - -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc -index ba776e4..4f14c85 100644 ---- a/gpu/vulkan/vulkan_command_buffer.cc -+++ b/gpu/vulkan/vulkan_command_buffer.cc -@@ -207,21 +207,20 @@ - void VulkanCommandBuffer::TransitionImageLayout(VkImage image, - VkImageLayout old_layout, - VkImageLayout new_layout) { -- VkImageMemoryBarrier barrier = { -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, -- .srcAccessMask = GetAccessMask(old_layout), -- .dstAccessMask = GetAccessMask(new_layout), -- .oldLayout = old_layout, -- .newLayout = new_layout, -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .image = image, -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .subresourceRange.baseMipLevel = 0, -- .subresourceRange.levelCount = 1, -- .subresourceRange.baseArrayLayer = 0, -- .subresourceRange.layerCount = 1, -- }; -+ VkImageMemoryBarrier barrier = {}; -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; -+ barrier.srcAccessMask = GetAccessMask(old_layout); -+ barrier.dstAccessMask = GetAccessMask(new_layout); -+ barrier.oldLayout = old_layout; -+ barrier.newLayout = new_layout; -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.image = image; -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ barrier.subresourceRange.baseMipLevel = 0; -+ barrier.subresourceRange.levelCount = 1; -+ barrier.subresourceRange.baseArrayLayer = 0; -+ barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, - nullptr, 1, &barrier); -@@ -233,17 +232,16 @@ - uint32_t buffer_height, - uint32_t width, - uint32_t height) { -- VkBufferImageCopy region = { -- .bufferOffset = 0, -- .bufferRowLength = buffer_width, -- .bufferImageHeight = buffer_height, -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .imageSubresource.mipLevel = 0, -- .imageSubresource.baseArrayLayer = 0, -- .imageSubresource.layerCount = 1, -- .imageOffset = {0, 0, 0}, -- .imageExtent = {width, height, 1}, -- }; -+ VkBufferImageCopy region = {}; -+ region.bufferOffset = 0; -+ region.bufferRowLength = buffer_width; -+ region.bufferImageHeight = buffer_height; -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ region.imageSubresource.mipLevel = 0; -+ region.imageSubresource.baseArrayLayer = 0; -+ region.imageSubresource.layerCount = 1; -+ region.imageOffset = {0, 0, 0}; -+ region.imageExtent = {width, height, 1}; - vkCmdCopyBufferToImage(command_buffer_, buffer, image, - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); - } diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch deleted file mode 100644 index 98789d9..0000000 --- a/chromium-76.0.3809.100-quiche-compile-fix.patch +++ /dev/null @@ -1,225 +0,0 @@ -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 -@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength - std::string TransportParameterIdToString( - TransportParameters::TransportParameterId param_id) { - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - return "original_connection_id"; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - return "idle_timeout"; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - return "stateless_reset_token"; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - return "max_packet_size"; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - return "initial_max_data"; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - return "initial_max_stream_data_bidi_local"; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - return "initial_max_stream_data_bidi_remote"; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - return "initial_max_stream_data_uni"; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - return "initial_max_streams_bidi"; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - return "initial_max_streams_uni"; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - return "ack_delay_exponent"; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - return "max_ack_delay"; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - return "disable_migration"; -- case kPreferredAddress: -+ case TransportParameters::kPreferredAddress: - return "preferred_address"; -- case kGoogleQuicParam: -+ case TransportParameters::kGoogleQuicParam: - return "google"; -- case kGoogleQuicVersion: -+ case TransportParameters::kGoogleQuicVersion: - return "google-version"; - } - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; -@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const - CBB original_connection_id_param; - if (!in.original_connection_id.IsEmpty()) { - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || - !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || - !CBB_add_bytes( - &original_connection_id_param, -@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const - if (!in.stateless_reset_token.empty()) { - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kStatelessResetToken) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || - !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || - !CBB_add_bytes(&stateless_reset_token_param, - in.stateless_reset_token.data(), -@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const - - // disable_migration - if (in.disable_migration) { -- if (!CBB_add_u16(¶ms, kDisableMigration) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || - !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. - QUIC_BUG << "Failed to write disable_migration for " << in; - return false; -@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const - QUIC_BUG << "Bad lengths " << *in.preferred_address; - return false; - } -- if (!CBB_add_u16(¶ms, kPreferredAddress) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || - !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || - !CBB_add_bytes( - &preferred_address_params, -@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const - if (in.google_quic_params) { - const QuicData& serialized_google_quic_params = - in.google_quic_params->GetSerialized(); -- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || - !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || - !CBB_add_bytes(&google_quic_params, - reinterpret_cast( -@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const - - // Google-specific version extension. - CBB google_version_params; -- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || - !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || - !CBB_add_u32(&google_version_params, in.version)) { - QUIC_BUG << "Failed to write Google version extension for " << in; -@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint - } - bool parse_success = true; - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - if (!out->original_connection_id.IsEmpty()) { - QUIC_DLOG(ERROR) << "Received a second original connection ID"; - return false; -@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint - CBS_len(&value)); - } - break; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); - break; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - if (!out->stateless_reset_token.empty()) { - QUIC_DLOG(ERROR) << "Received a second stateless reset token"; - return false; -@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint - out->stateless_reset_token.assign(CBS_data(&value), - CBS_data(&value) + CBS_len(&value)); - break; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - parse_success = out->max_packet_size.ReadFromCbs(&value); - break; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - parse_success = out->initial_max_data.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - parse_success = - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - parse_success = - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); - break; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - parse_success = out->ack_delay_exponent.ReadFromCbs(&value); - break; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - parse_success = out->max_ack_delay.ReadFromCbs(&value); - break; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - if (out->disable_migration) { - QUIC_DLOG(ERROR) << "Received a second disable migration"; - return false; -@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint - } - out->disable_migration = true; - break; -- case kPreferredAddress: { -+ case TransportParameters::kPreferredAddress: { - uint16_t ipv4_port, ipv6_port; - in_addr ipv4_address; - in6_addr ipv6_address; -@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint - QuicMakeUnique( - preferred_address); - } break; -- case kGoogleQuicParam: { -+ case TransportParameters::kGoogleQuicParam: { - if (out->google_quic_params) { - QUIC_DLOG(ERROR) << "Received a second Google parameter"; - return false; -@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint - reinterpret_cast(CBS_data(&value)), CBS_len(&value)); - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); - } break; -- case kGoogleQuicVersion: { -+ case TransportParameters::kGoogleQuicVersion: { - if (!CBS_get_u32(&value, &out->version)) { - QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; - return false; -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 -@@ -2,10 +2,12 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include -- - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" - -+#include -+#include -+#include -+ - namespace quic { - - namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch deleted file mode 100644 index 5e392e6..0000000 --- a/chromium-76.0.3809.100-throttling-dead-beef.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 06 Jun 2019 07:54:05 +0000 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t - -We are setting kAlive and kDead values assigning values that -are bigger than the maximum signed int32. It is better to use -uint32_t in this case. - -Bug: 819294 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666619} ---- - -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h -index 43751c4..3c6f87b 100644 ---- a/services/network/throttling/throttling_controller.h -+++ b/services/network/throttling/throttling_controller.h -@@ -38,7 +38,7 @@ - - // TODO(https://crbug.com/960874): Debugging code to try and shed some light - // on why the owned maps are invalid. -- enum class Liveness : int32_t { -+ enum class Liveness : uint32_t { - kAlive = 0xCA11AB13, - kDead = 0xDEADBEEF, - }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch deleted file mode 100644 index a392971..0000000 --- a/chromium-76.0.3809.100-weak-ptr-no-except.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 18 Jul 2019 14:26:11 +0200 -Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression - -A GCC build regression has happened on DisjointRangeLockManager, as its move -operator and constructor were declared noexcept. This was failing because the -default implementation depended on base::WeakPtr, that did not provide -noexcept declaration for them. - -So make base::WeakPtr noexcept. - -Bug: 819294 -Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 ---- - -diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc -index 64fd499..0efcc44 100644 ---- a/base/memory/weak_ptr.cc -+++ b/base/memory/weak_ptr.cc -@@ -46,7 +46,7 @@ - - WeakReference::~WeakReference() = default; - --WeakReference::WeakReference(WeakReference&& other) = default; -+WeakReference::WeakReference(WeakReference&& other) noexcept = default; - - WeakReference::WeakReference(const WeakReference& other) = default; - -diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h -index 72b5f1f..ccd22fd13 100644 ---- a/base/memory/weak_ptr.h -+++ b/base/memory/weak_ptr.h -@@ -116,9 +116,9 @@ - explicit WeakReference(const scoped_refptr& flag); - ~WeakReference(); - -- WeakReference(WeakReference&& other); -+ WeakReference(WeakReference&& other) noexcept; - WeakReference(const WeakReference& other); -- WeakReference& operator=(WeakReference&& other) = default; -+ WeakReference& operator=(WeakReference&& other) noexcept = default; - WeakReference& operator=(const WeakReference& other) = default; - - bool IsValid() const; -@@ -153,9 +153,9 @@ - ~WeakPtrBase(); - - WeakPtrBase(const WeakPtrBase& other) = default; -- WeakPtrBase(WeakPtrBase&& other) = default; -+ WeakPtrBase(WeakPtrBase&& other) noexcept = default; - WeakPtrBase& operator=(const WeakPtrBase& other) = default; -- WeakPtrBase& operator=(WeakPtrBase&& other) = default; -+ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; - - void reset() { - ref_ = internal::WeakReference(); -@@ -236,7 +236,7 @@ - ptr_ = reinterpret_cast(t); - } - template -- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { -+ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { - // Need to cast from U* to T* to do pointer adjustment in case of multiple - // inheritance. This also enforces the "U is a T" rule. - T* t = reinterpret_cast(other.ptr_); diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch deleted file mode 100644 index 73db4d4..0000000 --- a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc ---- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 -@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni - "application/x-protobuf", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch new file mode 100644 index 0000000..c836214 --- /dev/null +++ b/chromium-77.0.3865.75-boolfix.patch @@ -0,0 +1,24 @@ +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 +@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { + + bool is_valid() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { + return std::move(handle_); +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 +@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { + // handle. + bool is_pending() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } + diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch similarity index 73% rename from chromium-76.0.3809.132-certificate-transparency.patch rename to chromium-77.0.3865.75-certificate-transparency.patch index 8bfbced..82e2958 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-77.0.3865.75-certificate-transparency.patch @@ -1,18 +1,18 @@ -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 -@@ -17,6 +17,7 @@ - #include "chrome/common/pref_names.h" - #include "chrome/test/base/in_process_browser_test.h" - #include "components/prefs/pref_service.h" +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 +@@ -21,6 +21,7 @@ + #include "components/version_info/version_info.h" + #include "content/public/common/content_switches.h" + #include "content/public/common/user_agent.h" +#include "services/network/public/cpp/network_service_buildflags.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/network_service.mojom.h" #include "testing/gmock/include/gmock/gmock.h" -@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont +@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerStubResolverBrowsertest, - ::testing::Values(false, true)); + SystemNetworkContextManagerFreezeQUICUaBrowsertest, + ::testing::Values(true, false)); + +class SystemNetworkContextManagerCertificateTransparencyBrowsertest + : public SystemNetworkContextManagerBrowsertest, @@ -65,9 +65,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage + , + SystemNetworkContextManagerCertificateTransparencyBrowsertest, + ::testing::Values(base::nullopt, true, false)); -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -82,7 +82,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "base/command_line.h" #include "base/feature_list.h" #include "base/logging.h" -@@ -51,6 +53,7 @@ +@@ -50,6 +52,7 @@ #include "content/public/common/mime_handler_view_mode.h" #include "content/public/common/service_names.mojom.h" #include "content/public/common/user_agent.h" @@ -90,7 +90,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -81,6 +84,20 @@ +@@ -79,6 +82,20 @@ namespace { @@ -111,7 +111,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage // The global instance of the SystemNetworkContextmanager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau +@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) @@ -155,7 +155,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage } const base::Value* value = -@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth +@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth return CreateHttpAuthDynamicParams(g_browser_process->local_state()); } @@ -168,10 +168,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetworkContextParams() { // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 -@@ -158,6 +158,12 @@ class SystemNetworkContextManager { +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 +@@ -139,6 +139,12 @@ class SystemNetworkContextManager { static network::mojom::HttpAuthDynamicParamsPtr GetHttpAuthDynamicParamsForTesting(); @@ -184,10 +184,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage private: class URLLoaderFactoryForSystem; -diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm +diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 +@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); } @@ -196,9 +196,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.cert CertificateTransparencyEnforcementDisabledForCas) { net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 @@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/run_loop.h" @@ -226,10 +226,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_bro void SetUpOnMainThread() override { run_loop_ = std::make_unique(); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi +diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 +@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi SecurityStateTabHelperTest() : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); @@ -243,10 +243,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_bro } void SetUpOnMainThread() override { -diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 -@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : +diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 +@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : public: CertificateTransparencySSLUITest() : CertVerifierBrowserTest(), @@ -263,9 +263,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificat void SetUpOnMainThread() override { CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 -+++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 ++++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 @@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } @@ -286,10 +286,10 @@ diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_po private: // Returns true if the log identified by |log_id| (the SHA-256 hash of the // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc ---- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 -@@ -35,6 +35,7 @@ +diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc +--- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 +@@ -36,6 +36,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/prefs/pref_service_factory.h" @@ -297,7 +297,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #include "mojo/public/cpp/bindings/strong_binding.h" #include "net/base/layered_network_delegate.h" #include "net/base/load_flags.h" -@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A +@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); #endif // BUILDFLAG(ENABLE_REPORTING) @@ -314,7 +314,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- net::HttpNetworkSession::Params session_params; bool is_quic_force_disabled = false; if (network_service_ && network_service_->quic_disabled()) -@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A +@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A #if BUILDFLAG(IS_CT_SUPPORTED) std::vector> ct_logs; @@ -335,7 +335,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A +@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } @@ -353,9 +353,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = -diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc ---- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc +--- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -374,10 +374,10 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer #include "components/network_session_configurator/common/network_switches.h" #include "components/prefs/testing_pref_service.h" +#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/interface_request.h" - #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/bindings/remote.h" + #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -113,6 +116,11 @@ +@@ -115,6 +118,11 @@ #include "url/scheme_host_port.h" #include "url/url_constants.h" @@ -386,11 +386,11 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer +#include "services/network/public/mojom/ct_log_info.mojom.h" +#endif + - #if BUILDFLAG(ENABLE_REPORTING) - #include "net/network_error_logging/network_error_logging_service.h" - #include "net/reporting/reporting_cache.h" -@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki - EXPECT_EQ("None", response_body); + #if !BUILDFLAG(DISABLE_FTP_SUPPORT) + #include "net/ftp/ftp_auth_cache.h" + #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) +@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, + true /* was_cached */, true /* is_navigation */); } +#if BUILDFLAG(IS_CT_SUPPORTED) @@ -462,9 +462,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer } // namespace } // namespace network -diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 +diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -488,10 +488,10 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + // If the log is currently qualified, this will not be set. + mojo_base.mojom.TimeDelta? disqualified_at; }; -diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 -@@ -238,15 +238,6 @@ struct NetworkContextParams { +diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 +@@ -239,15 +239,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; @@ -507,7 +507,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. bool http_09_on_non_default_ports_enabled = false; -@@ -299,6 +290,15 @@ struct NetworkContextParams { +@@ -300,6 +291,15 @@ struct NetworkContextParams { // servers, so they can discover misconfigurations. bool enable_certificate_reporting = false; @@ -523,7 +523,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables Expect CT reporting, which sends reports for opted-in sites that // don't serve sufficient Certificate Transparency information. [EnableIf=is_ct_supported] -@@ -310,6 +310,13 @@ struct NetworkContextParams { +@@ -311,6 +311,13 @@ struct NetworkContextParams { [EnableIf=is_ct_supported] array ct_logs; diff --git a/chromium-77.0.3865.75-fedora-user-agent.patch b/chromium-77.0.3865.75-fedora-user-agent.patch new file mode 100644 index 0000000..8f6de51 --- /dev/null +++ b/chromium-77.0.3865.75-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent chromium-77.0.3865.75/content/common/user_agent.cc +--- chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent 2019-09-12 15:49:11.902270729 +0200 ++++ chromium-77.0.3865.75/content/common/user_agent.cc 2019-09-12 15:50:11.555732044 +0200 +@@ -35,7 +35,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MACOSX) + return "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + return "Linux; "; + #elif defined(OS_POSIX) diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch new file mode 100644 index 0000000..385778c --- /dev/null +++ b/chromium-77.0.3865.75-fix-v8-gcc.patch @@ -0,0 +1,14 @@ +diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc +--- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 ++++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 +@@ -3773,6 +3773,10 @@ Handle CreateElementDi + return new_element_dictionary; + } + ++template void JSObject::ApplyAttributesToDictionary( ++ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, ++ const PropertyAttributes attributes); ++ + template + Maybe JSObject::PreventExtensionsWithTransition( + Handle object, ShouldThrow should_throw) { diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch new file mode 100644 index 0000000..d342e2d --- /dev/null +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -0,0 +1,13 @@ +diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 +@@ -24,8 +24,7 @@ + #elif !defined(__native_client__) && \ + ((defined(__clang__) && \ + ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ +- (defined(__GNUC__) && __GNUC__ >= 5)) ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) + #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch new file mode 100644 index 0000000..34b858a --- /dev/null +++ b/chromium-77.0.3865.75-gcc5-r3.patch @@ -0,0 +1,36 @@ +diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 ++++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 ++++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 ++++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch new file mode 100644 index 0000000..c32d226 --- /dev/null +++ b/chromium-77.0.3865.75-no-zlib-mangle.patch @@ -0,0 +1,22 @@ +diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h +--- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 ++++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 +@@ -9,18 +9,6 @@ + #define ZCONF_H + + /* +- * This library is also built as a part of AOSP, which does not need to include +- * chromeconf.h. This config does not want chromeconf.h, so it can set this +- * macro to opt out. While this works today, there's no guarantee that building +- * zlib outside of Chromium keeps working in the future. +- */ +-#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) +-/* This include does prefixing as below, but with an updated set of names. Also +- * sets up export macros in component builds. */ +-#include "chromeconf.h" +-#endif +- +-/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium.spec b/chromium.spec index 4239a65..100b665 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,14 +164,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 76 +%global majorversion 77 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.132 +Version: %{majorversion}.0.3865.75 Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -211,20 +211,20 @@ Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch # Fix libavutil include pathing to find arch specific timer.h # For some reason, this only fails on aarch64. No idea why. Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch # from gentoo -Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch # From gentoo -Patch21: chromium-72.0.3626.121-gcc5-r3.patch +Patch21: chromium-77.0.3865.75-gcc5-r3.patch # To use round with gcc, you need to #include Patch22: chromium-65.0.3325.146-gcc-round-fix.patch # Include proper headers to invoke memcpy() Patch23: chromium-65.0.3325.146-memcpy-fix.patch # ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-68.0.3440.106-boolfix.patch +Patch24: chromium-77.0.3865.75-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch # Do not use unrar code, it is non-free @@ -232,7 +232,7 @@ Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch # Add "Fedora" to the user agent string -Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +Patch29: chromium-77.0.3865.75-fedora-user-agent.patch # Try to fix version.py for Rawhide Patch30: chromium-71.0.3578.98-py2-bootstrap.patch # Fix default on redeclaration error @@ -260,43 +260,11 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# Fix Vulkan compilation with gcc -# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 -Patch47: chromium-76.0.3809.100-gcc-vulkan.patch -# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b -Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch -# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 -Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch -# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c -Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch -# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch -# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e -Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc -Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch -# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb -Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch -# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 -Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch -# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc -Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch -# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 -Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c -Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 -Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -305,7 +273,7 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-76.0.3809.132-certificate-transparency.patch +Patch64: chromium-77.0.3865.75-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -846,7 +814,7 @@ udev. %patch22 -p1 -b .gcc-round-fix %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix -%patch25 -p1 -b .aarch64fix +#%patch25 -p1 -b .aarch64fix %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -861,23 +829,8 @@ udev. %patch38 -p1 -b .disable-ndnpc %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b -%patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .gcc-vulkan -%patch48 -p1 -b .gcc-cc-no-except -%patch49 -p1 -b .gcc-net-fetcher -%patch50 -p1 -b .quiche-compile-fix -%patch51 -p1 -b .throttling-dead-beef -%patch52 -p1 -b .gcc-ambigous-instantiation -%patch53 -p1 -b .weak-ptr-no-except -%patch54 -p1 -b .gcc-feature-policy-parser -%patch55 -p1 -b .gcc-hasfraction-constexpr -%patch56 -p1 -b .gcc-move-explicit-initialization -%patch57 -p1 -b .gcc-initialization-order -%patch58 -p1 -b .gcc-history-move-noexcept -%patch59 -p1 -b .gcc-accountinfo-move-noexcept -%patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined @@ -1466,6 +1419,7 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +echo # Now do the full browser %if 0%{freeworld} ../depot_tools/ninja -C %{target} -vvv media diff --git a/sources b/sources index 2d38a7c..a1d28bf 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 From 16423a6aaf33016cb0eeb0c20725d6434ca411c3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:03 +0200 Subject: [PATCH 095/171] Unbundle the zlib Use the gentoo patch. --- chromium-77.0.3865.75-unbundle-zlib.patch | 25 +++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 chromium-77.0.3865.75-unbundle-zlib.patch diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch new file mode 100644 index 0000000..d6c45ad --- /dev/null +++ b/chromium-77.0.3865.75-unbundle-zlib.patch @@ -0,0 +1,25 @@ +From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 28 Jun 2019 15:56:23 +0000 +Subject: [PATCH] update zlib + +--- + third_party/perfetto/gn/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn +index c951f5f..297eee3 100644 +--- a/third_party/perfetto/gn/BUILD.gn ++++ b/third_party/perfetto/gn/BUILD.gn +@@ -200,7 +200,7 @@ group("zlib") { + "//buildtools:zlib", + ] + } else if (build_with_chromium) { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ + "//third_party/zlib", + ] +-- +2.21.0 + diff --git a/chromium.spec b/chromium.spec index 100b665..71a6cfa 100644 --- a/chromium.spec +++ b/chromium.spec @@ -274,6 +274,8 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae Patch64: chromium-77.0.3865.75-certificate-transparency.patch +# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch +Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -835,6 +837,7 @@ udev. %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency +%patch65 -p1 -b .unbundle-zlib # EPEL specific patches %if 0%{?rhel} == 7 From 382929d255c8becf3ff2123e95657adaa8345c84 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:23:46 +0200 Subject: [PATCH 096/171] Missing bundled dependency for headless --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 71a6cfa..fb7886c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1230,6 +1230,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %endif 'third_party/openscreen' \ 'third_party/opus' \ + 'third_party/one_euro_filter' \ 'third_party/ots' \ 'third_party/pdfium' \ 'third_party/pdfium/third_party/agg23' \ From e77d556bade31e19ca7415d6289203b1e604787c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:21:43 +0200 Subject: [PATCH 097/171] Fix the previously rebased patched --- chromium-77.0.3865.75-gcc-no-opt-safe-math.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch index d342e2d..920a53e 100644 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -1,13 +1,15 @@ diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 -@@ -24,8 +24,7 @@ +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 +@@ -23,9 +23,8 @@ + // Where available use builtin math overflow support on Clang and GCC. #elif !defined(__native_client__) && \ ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ +- ((__clang_major__ > 3) || \ - (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ - (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) ++ (__clang_major__ > 3) || \ ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) #include "base/numerics/safe_math_clang_gcc_impl.h" #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) #else From 1302df6eb572e7aac300962907eac7cc6ad9efe5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:54 +0200 Subject: [PATCH 098/171] Update the clean-ffmpeg.sh script --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..fd226e8 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -138,6 +138,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/vlc.h \ libavcodec/vorbisdsp.h \ libavcodec/vp3data.h \ + libavcodec/vp4data.h \ libavcodec/vp3dsp.h \ libavcodec/vp56.h \ libavcodec/vp56dsp.h \ diff --git a/sources b/sources index a1d28bf..b9b0498 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 From f36acf4bdbf61a81f2b142c4d0db230ce56e58e2 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:24:09 +0200 Subject: [PATCH 099/171] Include to fix the headless build --- chromium-77.0.3865.75-gcc-include-memory.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-include-memory.patch diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch new file mode 100644 index 0000000..93b4399 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-include-memory.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h +--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200 ++++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200 +@@ -3,6 +3,8 @@ + + #include "low_pass_filter.h" + ++#include ++ + namespace one_euro_filter { + namespace test { + class OneEuroFilterTest; diff --git a/chromium.spec b/chromium.spec index fb7886c..5b769cb 100644 --- a/chromium.spec +++ b/chromium.spec @@ -276,6 +276,8 @@ Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch Patch64: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +# Needs to be submitted.. +Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -838,6 +840,7 @@ udev. %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib +%patch66 -p1 -b .gcc-include-memory # EPEL specific patches %if 0%{?rhel} == 7 From 0c379302f50ae654e3872cb517a8929d62dfbe22 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:00:03 +0200 Subject: [PATCH 100/171] Use the bundled harfbuzz-ng for < F31 Needed because of the hb_subset_input_set_retain_gids(), that's only available in harbuzz 2.4 that's only in F31+ --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 5b769cb..0a6434d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -133,9 +133,9 @@ BuildRequires: libicu-devel >= 5.4 %global bundlefontconfig 0 %endif -# Needs at least harfbuzz 2.3.0 now. -# 2019-03-13 -%if 0%{?fedora} < 30 +# Needs at least harfbuzz 2.4.0 now. +# 2019-09-13 +%if 0%{?fedora} < 31 %global bundleharfbuzz 1 %else %global bundleharfbuzz 0 From 09209e74278ef53332bc05582bd24314fdbfb4d2 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 21:48:17 +0200 Subject: [PATCH 101/171] Remove an unneeded patch that's breaking the build --- chromium-77.0.3865.75-fix-v8-gcc.patch | 14 -------------- chromium.spec | 4 ---- 2 files changed, 18 deletions(-) delete mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch deleted file mode 100644 index 385778c..0000000 --- a/chromium-77.0.3865.75-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc ---- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 -+++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 -@@ -3773,6 +3773,10 @@ Handle CreateElementDi - return new_element_dictionary; - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium.spec b/chromium.spec index 0a6434d..2bd1b2f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -262,9 +262,6 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch Patch43: chromium-75.0.3770.80-revert-daff6b.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch -# fix v8 compile with gcc -# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -834,7 +831,6 @@ udev. %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b %patch45 -p1 -b .gettid-fix -%patch46 -p1 -b .fix-v8-gcc %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined From e05d0e1ae8e54ea44dd0eee63a9ca3424ef71f23 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:05:31 +0200 Subject: [PATCH 102/171] Another export and alignas gcc compilation fix --- chromium-77.0.3865.75-base-gcc-no-alignas.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-base-gcc-no-alignas.patch diff --git a/chromium-77.0.3865.75-base-gcc-no-alignas.patch b/chromium-77.0.3865.75-base-gcc-no-alignas.patch new file mode 100644 index 0000000..86a2271 --- /dev/null +++ b/chromium-77.0.3865.75-base-gcc-no-alignas.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h +--- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200 ++++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200 +@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList { + + // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can + // be used to store additional state (see static_asserts below). +- class BASE_EXPORT alignas(8) Node { ++ class BASE_EXPORT ALIGNAS(8) Node { + public: + Node(); + explicit Node(Node&& other) noexcept; diff --git a/chromium.spec b/chromium.spec index 2bd1b2f..f6f1614 100644 --- a/chromium.spec +++ b/chromium.spec @@ -275,6 +275,8 @@ Patch64: chromium-77.0.3865.75-certificate-transparency.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. Patch66: chromium-77.0.3865.75-gcc-include-memory.patch +# Needs to be submitted.. +Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -837,6 +839,7 @@ udev. %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory +%patch67 -p1 -b .base-gcc-no-alignas # EPEL specific patches %if 0%{?rhel} == 7 From 2af2caea12b584c709b99b1807387bfab22f11f3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:06:07 +0200 Subject: [PATCH 103/171] Preserve the spirv heads for swiftshader compilation --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index f6f1614..1102cc7 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1277,6 +1277,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/swiftshader/third_party/subzero' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ + 'third_party/swiftshader/third_party/SPIRV-Headers' \ 'third_party/tcmalloc' \ 'third_party/test_fonts' \ 'third_party/usb_ids' \ From f468793c28b6e08c98d91d167a0682371fd0132a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:13:56 +0200 Subject: [PATCH 104/171] Fix the release number and add a changelog entry --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 1102cc7..0698efa 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1872,6 +1872,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 +- Update to 77.0.3865.75 + * Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 - Backport patch to fix certificate transparency From 176f9b5d933c05a0599ab75ec609cc7f58bf8e9d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:09:46 +0200 Subject: [PATCH 105/171] More of the harfbuzz related fixes --- chromium-77.0.3865.75-harfbuzz-subset.patch | 49 +++++++++++++++++++++ chromium.spec | 7 ++- 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 chromium-77.0.3865.75-harfbuzz-subset.patch diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch new file mode 100644 index 0000000..55d78d1 --- /dev/null +++ b/chromium-77.0.3865.75-harfbuzz-subset.patch @@ -0,0 +1,49 @@ +From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 29 Jul 2019 10:54:28 +0000 +Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true + +When building HarfBuzz as part of Chromium, there is a single source set +with all the files we need in the build. + +Upstream HarfBuzz, on the other hand, produces a few different libraries: +harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is +true, we were only looking for (and using) harfbuzz.pc with pkg-config even +though we also use symbols from libharfbuzz-subset.so. This resulted in +errors when linking: + + ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': + SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' + +as reported in +https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + +Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Dominik Röttsches +Reviewed-by: Dominik Röttsches +Cr-Commit-Position: refs/heads/master@{#681760} +--- + +diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn +index 37d8e33..72013eb1d 100644 +--- a/third_party/harfbuzz-ng/BUILD.gn ++++ b/third_party/harfbuzz-ng/BUILD.gn +@@ -16,7 +16,10 @@ + "//third_party:freetype_harfbuzz", + "//third_party/freetype:freetype_source", + ] +- packages = [ "harfbuzz" ] ++ packages = [ ++ "harfbuzz", ++ "harfbuzz-subset", ++ ] + } + } else { + config("harfbuzz_config") { diff --git a/chromium.spec b/chromium.spec index 0698efa..acd3c83 100644 --- a/chromium.spec +++ b/chromium.spec @@ -277,6 +277,8 @@ Patch65: chromium-77.0.3865.75-unbundle-zlib.patch Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Needs to be submitted.. Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +# https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 +Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -362,7 +364,7 @@ BuildRequires: gperf %if 0%{?bundleharfbuzz} #nothing %else -BuildRequires: harfbuzz-devel >= 2.3.0 +BuildRequires: harfbuzz-devel >= 2.4.0 %endif BuildRequires: libatomic BuildRequires: libcap-devel @@ -624,7 +626,7 @@ Provides: bundled(freetype) = 2.9.3 %endif Provides: bundled(gperftools) = svn144 %if 0%{?bundleharfbuzz} -Provides: bundled(harfbuzz) = 2.3.0 +Provides: bundled(harfbuzz) = 2.4.0 %endif Provides: bundled(hunspell) = 1.6.0 Provides: bundled(iccjpeg) @@ -840,6 +842,7 @@ udev. %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas +%patch68 -p1 -b .harfbuzz-subset # EPEL specific patches %if 0%{?rhel} == 7 From 13aab678f5a9b833d2d451491793d823121540b6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:10:29 +0200 Subject: [PATCH 106/171] Don't remove an additional bundled library --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index acd3c83..44e7cf4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1234,6 +1234,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/openh264' \ %endif 'third_party/openscreen' \ + 'third_party/openscreen/src/third_party/tinycbor' \ 'third_party/opus' \ 'third_party/one_euro_filter' \ 'third_party/ots' \ From b30c77e75cc415b2a854f26288ad4e2f071dd1c1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 17:06:52 +0200 Subject: [PATCH 107/171] Backport another GCC build fix --- ...mium-77.0.3865.75-gcc-abstract-class.patch | 61 +++++++++++++++++++ chromium.spec | 3 + 2 files changed, 64 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-abstract-class.patch diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch new file mode 100644 index 0000000..6d77299 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-abstract-class.patch @@ -0,0 +1,61 @@ +From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 26 Jul 2019 16:48:06 +0000 +Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class + +The method UploadForDeepScanning gets a Request as parameter. But Request is an +abstract class, so GCC will not allow that declaration (polimorphycs should be +passed by reference). Use std::unique_ptr so BinaryUploadService can assume +ownership. + +Bug: 819294 +Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 +Reviewed-by: Daniel Rubery +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#681333} +--- + +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +index 6430c89..4e90487 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +@@ -10,7 +10,7 @@ + namespace safe_browsing { + + void BinaryUploadService::UploadForDeepScanning( +- BinaryUploadService::Request request) { ++ std::unique_ptr request) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + NOTREACHED(); + } +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +index d2dfd83..9b6f395 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +@@ -5,6 +5,8 @@ + #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + ++#include ++ + #include "base/callback.h" + #include "components/safe_browsing/proto/webprotect.pb.h" + +@@ -40,6 +42,7 @@ + public: + // |callback| will run on the UI thread. + explicit Request(Callback callback); ++ virtual ~Request() = default; + Request(const Request&) = delete; + Request& operator=(const Request&) = delete; + +@@ -67,7 +70,7 @@ + // Upload the given file contents for deep scanning. The results will be + // returned asynchronously by calling |request|'s |callback|. This must be + // called on the UI thread. +- void UploadForDeepScanning(Request request); ++ void UploadForDeepScanning(std::unique_ptr request); + }; + + } // namespace safe_browsing diff --git a/chromium.spec b/chromium.spec index 44e7cf4..854c788 100644 --- a/chromium.spec +++ b/chromium.spec @@ -279,6 +279,8 @@ Patch66: chromium-77.0.3865.75-gcc-include-memory.patch Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +# https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 +Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -843,6 +845,7 @@ udev. %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset +%patch69 -p1 -b .gcc-abstract-class # EPEL specific patches %if 0%{?rhel} == 7 From e0d06a0fbf5063d875762e3c2cec32e15082c8b3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 19:15:24 +0200 Subject: [PATCH 108/171] Customize the ninja status to show the currently build target So one is able to realize faster, where the build is failing. --- chromium.spec | 53 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/chromium.spec b/chromium.spec index 854c788..247c3e6 100644 --- a/chromium.spec +++ b/chromium.spec @@ -2,6 +2,13 @@ # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 %global _python_bytecompile_extra 1 +# Fancy build status, so we at least know, where we are.. +# %1 where +# %2 what +%global build_target() \ + export NINJA_STATUS="[%2:%f/%t] " ; \ + ../depot_tools/ninja -C '%1' -vvv '%2' + # This is faster when it works, but it doesn't always. %ifarch aarch64 %global use_jumbo 0 @@ -28,9 +35,9 @@ %global useapikeys 1 # Leave this alone, please. -%global target out/Release -%global headlesstarget out/Headless -%global remotingtarget out/Remoting +%global builddir out/Release +%global headlessbuilddir out/Headless +%global remotingbuilddir out/Remoting # Debuginfo packages aren't very useful here. If you need to debug # you should do a proper debug build (not implemented in this spec yet) @@ -1403,17 +1410,17 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ fi tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{target} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} # do not need to do headless gen %else %if %{build_headless} -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlesstarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} %endif %endif -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingtarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} %if %{bundlelibusbx} # no hackity hack hack @@ -1433,34 +1440,36 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif -echo +echo # Now do the full browser %if 0%{freeworld} -../depot_tools/ninja -C %{target} -vvv media +%build_target %{builddir} media %else %if %{build_headless} -# Do headless first. -../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell +# Do headless first. +%build_target %{headlessbuilddir} headless_shell %endif -../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver clear_key_cdm policy_templates +%build_target %{builddir} chrome +%build_target %{builddir} chrome_sandbox +%build_target %{builddir} chromedriver +%build_target %{builddir} clear_key_cdm +%build_target %{builddir} policy_templates # remote client -pushd remoting - -# ../../depot_tools/ninja -C ../%{target} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources -../../depot_tools/ninja -C ../%{remotingtarget} -vvv remoting_all +# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources +%build_target %{remotingbuilddir} remoting_all %if 0%{?build_remoting_app} %if 0%{?nacl} -GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} ../../depot_tools/ninja -vv -C ../out/Release/ remoting_webapp +export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} +%build_target %{builddir} remoting_webapp %endif %endif -popd %endif # Nuke nacl/pnacl bits at the end of the build -rm -rf out/Release/gen/sdk +rm -rf %{builddir}/gen/sdk rm -rf native_client/toolchain rm -rf third_party/llvm-build/* @@ -1470,7 +1479,7 @@ rm -rf %{buildroot} %if 0%{freeworld} mkdir -p %{buildroot}%{chromium_path} -pushd %{target} +pushd %{builddir} cp -a libffmpeg.so* %{buildroot}%{chromium_path} cp -a libmedia.so* %{buildroot}%{chromium_path} mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} @@ -1499,7 +1508,7 @@ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromiu ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/ -pushd %{target} +pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} %if 0%{?nacl} cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} @@ -1550,7 +1559,7 @@ popd %endif popd -pushd %{remotingtarget} +pushd %{remotingbuilddir} # See remoting/host/installer/linux/Makefile for logic cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host @@ -1593,7 +1602,7 @@ cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} %endif %if %{build_headless} -pushd %{headlesstarget} +pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} popd %endif From 91378b7314afaa749fac68da0f10742ce6339b3b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:08:54 +0200 Subject: [PATCH 109/171] Fix the aarch64 build --- chromium-77.0.3865.75-missing-limits.patch | 28 ++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 31 insertions(+) create mode 100644 chromium-77.0.3865.75-missing-limits.patch diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch new file mode 100644 index 0000000..3ac1770 --- /dev/null +++ b/chromium-77.0.3865.75-missing-limits.patch @@ -0,0 +1,28 @@ +From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 +From: Dave Tapuska +Date: Mon, 12 Aug 2019 22:30:13 +0000 +Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. + +Some configurations fail to build, limits should have been included. + +BUG=992832 + +Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 +Commit-Queue: Dave Tapuska +Reviewed-by: Mostyn Bramley-Moore +Cr-Commit-Position: refs/heads/master@{#686214} +--- + +diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc +index 384566a..68d83e1 100644 +--- a/third_party/blink/renderer/platform/exported/web_time_range.cc ++++ b/third_party/blink/renderer/platform/exported/web_time_range.cc +@@ -31,6 +31,7 @@ + #include "third_party/blink/public/platform/web_time_range.h" + + #include ++#include + + namespace blink { + diff --git a/chromium.spec b/chromium.spec index 247c3e6..0155f8b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,8 @@ Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +# https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 +Patch70: chromium-77.0.3865.75-missing-limits.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -853,6 +855,7 @@ udev. %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset %patch69 -p1 -b .gcc-abstract-class +%patch70 -p1 -b .missing-limits # EPEL specific patches %if 0%{?rhel} == 7 From 4dcf0591dcdec5b3da92ea722776011dced3b408 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:11:22 +0200 Subject: [PATCH 110/171] 22x22 icon was removed and use the symbolic one as well --- chromium.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 0155f8b..07dc939 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1634,8 +1634,8 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/22x22/apps -cp -a chrome/app/theme/chromium/product_logo_22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From 2698a79a5d0209e9ab0c131c7c3e076428a29330 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 12 Sep 2019 17:28:51 +0200 Subject: [PATCH 111/171] Update to 77.0.3865.75 Rebase and clean the patches. --- ...um-61.0.3163.79-gcc-no-opt-safe-math.patch | 13 - chromium-68.0.3440.106-boolfix.patch | 36 --- ...mium-72.0.3626.121-fedora-user-agent.patch | 12 - chromium-72.0.3626.121-gcc5-r3.patch | 36 --- chromium-75.0.3770.100-fix-v8-gcc.patch | 14 -- chromium-75.0.3770.80-no-zlib-mangle.patch | 14 -- ...-75.0.3770.80-pure-virtual-crash-fix.patch | 24 -- ...09.100-gcc-accountinfo-move-noexcept.patch | 53 ----- chromium-76.0.3809.100-gcc-cc-no-except.patch | 105 -------- ...0.3809.100-gcc-feature-policy-parser.patch | 76 ------ ...0.3809.100-gcc-hasfraction-constexpr.patch | 32 --- ...0.3809.100-gcc-history-move-noexcept.patch | 42 ---- ....0.3809.100-gcc-initialization-order.patch | 33 --- ...100-gcc-move-explicit-initialization.patch | 97 -------- chromium-76.0.3809.100-gcc-net-fetcher.patch | 63 ----- ...0.3809.100-gcc-themeservice-includes.patch | 36 --- chromium-76.0.3809.100-gcc-vulkan.patch | 115 --------- ...ium-76.0.3809.100-quiche-compile-fix.patch | 225 ------------------ ...m-76.0.3809.100-throttling-dead-beef.patch | 30 --- ...ium-76.0.3809.100-weak-ptr-no-except.patch | 66 ----- ....3809.132-gcc-ambigous-instantiation.patch | 21 -- chromium-77.0.3865.75-boolfix.patch | 24 ++ ...7.0.3865.75-certificate-transparency.patch | 132 +++++----- chromium-77.0.3865.75-fedora-user-agent.patch | 12 + chromium-77.0.3865.75-fix-v8-gcc.patch | 14 ++ ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 13 + chromium-77.0.3865.75-gcc5-r3.patch | 36 +++ chromium-77.0.3865.75-no-zlib-mangle.patch | 22 ++ chromium.spec | 68 +----- sources | 2 +- 30 files changed, 199 insertions(+), 1267 deletions(-) delete mode 100644 chromium-61.0.3163.79-gcc-no-opt-safe-math.patch delete mode 100644 chromium-68.0.3440.106-boolfix.patch delete mode 100644 chromium-72.0.3626.121-fedora-user-agent.patch delete mode 100644 chromium-72.0.3626.121-gcc5-r3.patch delete mode 100644 chromium-75.0.3770.100-fix-v8-gcc.patch delete mode 100644 chromium-75.0.3770.80-no-zlib-mangle.patch delete mode 100644 chromium-75.0.3770.80-pure-virtual-crash-fix.patch delete mode 100644 chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-cc-no-except.patch delete mode 100644 chromium-76.0.3809.100-gcc-feature-policy-parser.patch delete mode 100644 chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch delete mode 100644 chromium-76.0.3809.100-gcc-history-move-noexcept.patch delete mode 100644 chromium-76.0.3809.100-gcc-initialization-order.patch delete mode 100644 chromium-76.0.3809.100-gcc-move-explicit-initialization.patch delete mode 100644 chromium-76.0.3809.100-gcc-net-fetcher.patch delete mode 100644 chromium-76.0.3809.100-gcc-themeservice-includes.patch delete mode 100644 chromium-76.0.3809.100-gcc-vulkan.patch delete mode 100644 chromium-76.0.3809.100-quiche-compile-fix.patch delete mode 100644 chromium-76.0.3809.100-throttling-dead-beef.patch delete mode 100644 chromium-76.0.3809.100-weak-ptr-no-except.patch delete mode 100644 chromium-76.0.3809.132-gcc-ambigous-instantiation.patch create mode 100644 chromium-77.0.3865.75-boolfix.patch rename chromium-76.0.3809.132-certificate-transparency.patch => chromium-77.0.3865.75-certificate-transparency.patch (73%) create mode 100644 chromium-77.0.3865.75-fedora-user-agent.patch create mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch create mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch create mode 100644 chromium-77.0.3865.75-gcc5-r3.patch create mode 100644 chromium-77.0.3865.75-no-zlib-mangle.patch diff --git a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch b/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch deleted file mode 100644 index 183b5ab..0000000 --- a/chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h ---- chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h.fixgcc3 2017-09-06 16:30:15.898454585 -0400 -+++ chromium-61.0.3163.79/base/numerics/safe_math_shared_impl.h 2017-09-06 16:30:27.570229539 -0400 -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-68.0.3440.106-boolfix.patch b/chromium-68.0.3440.106-boolfix.patch deleted file mode 100644 index ed22aa9..0000000 --- a/chromium-68.0.3440.106-boolfix.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-08-09 03:21:23.066802340 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-08-09 03:25:10.638595925 -0400 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-08-09 03:21:23.067802318 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/associated_interface_request.h 2018-08-09 03:24:44.935229067 -0400 -@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - -diff -up chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h ---- chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-08-08 15:11:05.000000000 -0400 -+++ chromium-68.0.3440.106/mojo/public/cpp/bindings/interface_request.h 2018-08-09 03:21:23.067802318 -0400 -@@ -54,7 +54,7 @@ class InterfaceRequest { - // Indicates whether the request currently contains a valid message pipe. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - // Removes the message pipe from the request and returns it. - ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); } diff --git a/chromium-72.0.3626.121-fedora-user-agent.patch b/chromium-72.0.3626.121-fedora-user-agent.patch deleted file mode 100644 index 5cef6f0..0000000 --- a/chromium-72.0.3626.121-fedora-user-agent.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent chromium-72.0.3626.121/content/common/user_agent.cc ---- chromium-72.0.3626.121/content/common/user_agent.cc.fedora-user-agent 2019-03-10 14:21:02.877454982 -0400 -+++ chromium-72.0.3626.121/content/common/user_agent.cc 2019-03-10 14:22:05.728812272 -0400 -@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() { - #elif defined(OS_MACOSX) - "Macintosh; "; - #elif defined(USE_X11) || defined(USE_OZONE) -- "X11; "; // strange, but that's what Firefox uses -+ "X11; Fedora; "; // strange, but that's what Firefox uses - #elif defined(OS_ANDROID) - "Linux; "; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/chromium-72.0.3626.121-gcc5-r3.patch b/chromium-72.0.3626.121-gcc5-r3.patch deleted file mode 100644 index f4cf40b..0000000 --- a/chromium-72.0.3626.121-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-03-01 23:10:21.000000000 -0500 -+++ chromium-72.0.3626.121/gpu/ipc/common/mailbox_struct_traits.h 2019-03-10 14:07:48.300244125 -0400 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-03-01 23:10:31.000000000 -0500 -+++ chromium-72.0.3626.121/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-03-10 14:07:48.303244046 -0400 -@@ -340,7 +340,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-03-10 14:07:48.307243941 -0400 -+++ chromium-72.0.3626.121/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-03-10 14:09:16.565920044 -0400 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - #include diff --git a/chromium-75.0.3770.100-fix-v8-gcc.patch b/chromium-75.0.3770.100-fix-v8-gcc.patch deleted file mode 100644 index 4a1a4b0..0000000 --- a/chromium-75.0.3770.100-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-75.0.3770.100/v8/src/objects/js-objects.cc ---- chromium-75.0.3770.100/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-06-25 10:55:08.132254304 -0400 -+++ chromium-75.0.3770.100/v8/src/objects/js-objects.cc 2019-06-25 10:55:23.147933648 -0400 -@@ -3792,6 +3792,10 @@ void JSObject::ApplyAttributesToDictiona - } - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium-75.0.3770.80-no-zlib-mangle.patch b/chromium-75.0.3770.80-no-zlib-mangle.patch deleted file mode 100644 index 998be67..0000000 --- a/chromium-75.0.3770.80-no-zlib-mangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle chromium-75.0.3770.80/third_party/zlib/zconf.h ---- chromium-75.0.3770.80/third_party/zlib/zconf.h.nozmangle 2019-06-05 11:12:30.420412467 -0400 -+++ chromium-75.0.3770.80/third_party/zlib/zconf.h 2019-06-05 11:17:43.512683058 -0400 -@@ -8,10 +8,6 @@ - #ifndef ZCONF_H - #define ZCONF_H - --/* This include does prefixing as below, but with an updated set of names. Also -- * sets up export macros in component builds. */ --#include "chromeconf.h" -- - /* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. diff --git a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch b/chromium-75.0.3770.80-pure-virtual-crash-fix.patch deleted file mode 100644 index 06c909f..0000000 --- a/chromium-75.0.3770.80-pure-virtual-crash-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc.pure-virtual-fix 2019-06-07 15:03:43.302202979 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.cc 2019-06-07 15:04:25.140393048 -0400 -@@ -116,4 +116,9 @@ void RenderProcessUserData::RenderProces - base::Unretained(process_node_.get()), info.exit_code)); - } - -+void RenderProcessUserData::RenderProcessHostDestroyed( -+ content::RenderProcessHost* host) { -+ host->RemoveUserData(kRenderProcessUserDataKey); -+} -+ - } // namespace performance_manager -diff -up chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h ---- chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h.pure-virtual-fix 2019-06-07 15:04:43.530039597 -0400 -+++ chromium-75.0.3770.80/chrome/browser/performance_manager/render_process_user_data.h 2019-06-07 15:05:13.770458374 -0400 -@@ -47,6 +47,7 @@ class RenderProcessUserData : public bas - void RenderProcessExited( - content::RenderProcessHost* host, - const content::ChildProcessTerminationInfo& info) override; -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; - - // All instances are linked together in a doubly linked list to allow orderly - // destruction at browser shutdown time. diff --git a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch b/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch deleted file mode 100644 index 5f45a8f..0000000 --- a/chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 18:38:12 +0200 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo - -AccountInfo declares them as noexcept and uses default implementation, -so all its members (including AccountId) should be noexcept. But AccountId -is not noexcept. To fix it we just need to make CoreAccountId move -operator/assign operator noexcept. - -Bug: 819294 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 ---- - -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc -index d808082..12eefe3 100644 ---- a/google_apis/gaia/core_account_id.cc -+++ b/google_apis/gaia/core_account_id.cc -@@ -6,8 +6,16 @@ - - CoreAccountId::CoreAccountId() = default; - -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default; -+ -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::~CoreAccountId() = default; - -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; -+ -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h -index 5ea602a..c2d1911 100644 ---- a/google_apis/gaia/core_account_id.h -+++ b/google_apis/gaia/core_account_id.h -@@ -14,8 +14,13 @@ - // for design and tracking). - struct CoreAccountId { - CoreAccountId(); -+ CoreAccountId(const CoreAccountId&); -+ CoreAccountId(CoreAccountId&&) noexcept; - ~CoreAccountId(); - -+ CoreAccountId& operator=(const CoreAccountId&); -+ CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing - // them is tracked by https://crbug.com/959161 diff --git a/chromium-76.0.3809.100-gcc-cc-no-except.patch b/chromium-76.0.3809.100-gcc-cc-no-except.patch deleted file mode 100644 index e4d754a..0000000 --- a/chromium-76.0.3809.100-gcc-cc-no-except.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 07 Jun 2019 09:50:11 +0000 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept - -As LayerTreeHostImpl::UIResourceData move constructor is declared -noexcept with default implementation, the move constructor of its -members should also be noexcept. GCC will fail to build otherwise -for mismatching noexcept declaration. - -We also set the move assignment operator. - -Bug: 819294 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Commit-Queue: José Dapena Paz -Reviewed-by: Daniel Cheng -Cr-Commit-Position: refs/heads/master@{#667064} ---- - -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc -index 2be2570..8426fa8 100644 ---- a/base/memory/shared_memory_mapping.cc -+++ b/base/memory/shared_memory_mapping.cc -@@ -33,7 +33,7 @@ - - SharedMemoryMapping::SharedMemoryMapping() = default; - --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept - : memory_(mapping.memory_), - size_(mapping.size_), - mapped_size_(mapping.mapped_size_), -@@ -42,7 +42,7 @@ - } - - SharedMemoryMapping& SharedMemoryMapping::operator=( -- SharedMemoryMapping&& mapping) { -+ SharedMemoryMapping&& mapping) noexcept { - Unmap(); - memory_ = mapping.memory_; - size_ = mapping.size_; -@@ -90,9 +90,9 @@ - - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - void* address, - size_t size, -@@ -102,9 +102,9 @@ - - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( - void* address, - size_t size, -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h -index d9569af..2b8858e 100644 ---- a/base/memory/shared_memory_mapping.h -+++ b/base/memory/shared_memory_mapping.h -@@ -32,8 +32,8 @@ - SharedMemoryMapping(); - - // Move operations are allowed. -- SharedMemoryMapping(SharedMemoryMapping&& mapping); -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; - - // Unmaps the region if the mapping is valid. - virtual ~SharedMemoryMapping(); -@@ -93,8 +93,9 @@ - ReadOnlySharedMemoryMapping(); - - // Move operations are allowed. -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; -+ ReadOnlySharedMemoryMapping& operator=( -+ ReadOnlySharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is read-only memory. This is - // page-aligned. This is nullptr for invalid instances. -@@ -171,8 +172,9 @@ - WritableSharedMemoryMapping(); - - // Move operations are allowed. -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; -+ WritableSharedMemoryMapping& operator=( -+ WritableSharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is writable memory. This is - // page-aligned. This is nullptr for invalid instances. diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch deleted file mode 100644 index 0dbffd5..0000000 --- a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 19:44:58 +0200 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace - -Compilation fails because we are declaring ParseValueForFuzzer as friend method, -but we are declaring it is in anonymous namespace. Moving to global namespace -still fails (in this case in Clang). - -So final solution is making it a public static method of FeaturePolicyParser. - -Bug: 819294 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 ---- - -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -index 3b7f4a9..eaee409 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -@@ -317,6 +317,13 @@ - return value; - } - -+void FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType feature_type, -+ const WTF::String& value_string) { -+ bool ok; -+ ParseValueForType(feature_type, value_string, &ok); -+} -+ - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, - const ParsedFeaturePolicy& policy) { - return std::any_of(policy.begin(), policy.end(), -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -index fd25d90..36af405 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -@@ -16,9 +16,6 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --// Forward declare for friendship. --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); -- - namespace blink { - - class Document; -@@ -79,8 +76,9 @@ - const FeatureNameMap& feature_names, - ExecutionContext* execution_context = nullptr); - -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); -+ - private: -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); - static PolicyValue GetFallbackValueForFeature( - mojom::FeaturePolicyFeature feature); - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -index 7f8e6aa..53350e43 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -@@ -23,9 +23,9 @@ - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - static blink::BlinkFuzzerTestSupport test_support = - blink::BlinkFuzzerTestSupport(); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, -- WTF::String(data, size)); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, -- WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); - return 0; - } diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch deleted file mode 100644 index 26bba05..0000000 --- a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 17:18:40 +0000 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr - -Other HasFraction methods as in PhysicalUnit are declared already -constexpr and using it. It breaks GCC build. - -Bug: 819294. -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 -Reviewed-by: vmpstr -Reviewed-by: Xianzhu Wang -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666336} ---- - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index f073986..b6dbc76 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -202,7 +202,9 @@ - return value_ > 0 ? LayoutUnit() : *this; - } - -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } -+ constexpr bool HasFraction() const { -+ return RawValue() % kFixedPointDenominator; -+ } - - LayoutUnit Fraction() const { - // Compute fraction using the mod operator to preserve the sign of the value diff --git a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch b/chromium-76.0.3809.100-gcc-history-move-noexcept.patch deleted file mode 100644 index 2876de4..0000000 --- a/chromium-76.0.3809.100-gcc-history-move-noexcept.patch +++ /dev/null @@ -1,42 +0,0 @@ -From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 10:27:19 +0200 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow - -In GCC, build is failing because history::QueryURLResult declares its move -assignment operator as noexcept using default implementation. That requires -its members to provide a move assignment operator that is noexcept too. - -But URLRow was missing noexcept declaration in move assignment operator (even -though it was providing noexcept to its move constructor). - -Bug: 819294 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f ---- - -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc -index 44c22fd..aec0101 100644 ---- a/components/history/core/browser/url_row.cc -+++ b/components/history/core/browser/url_row.cc -@@ -26,7 +26,7 @@ - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) = default; -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h -index 8f6f9cf..31a1ef8 100644 ---- a/components/history/core/browser/url_row.h -+++ b/components/history/core/browser/url_row.h -@@ -35,7 +35,7 @@ - - virtual ~URLRow(); - URLRow& operator=(const URLRow& other); -- URLRow& operator=(URLRow&& other); -+ URLRow& operator=(URLRow&& other) noexcept; - - URLID id() const { return id_; } - diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch deleted file mode 100644 index 3bf394f..0000000 --- a/chromium-76.0.3809.100-gcc-initialization-order.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 05 Jun 2019 21:09:01 +0000 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration - -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the -same order of the declaration. GCC fails because of that. - -Bug: 819294 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 -Reviewed-by: Zhenyao Mo -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666436} ---- - -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f649dd4..0aa6892 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -583,10 +583,10 @@ - - XSetWindowAttributes swa = { - .background_pixmap = 0, -- .bit_gravity = NorthWestGravity, -- .colormap = g_colormap, - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM - .border_pixel = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, - }; - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; - if (ui::IsCompositingManagerPresent() && diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch deleted file mode 100644 index 1d4b90f..0000000 --- a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch +++ /dev/null @@ -1,97 +0,0 @@ -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 08:00:13 +0000 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo - -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks -build because of that. Move the template specializations out of RunInfo declaration -in shape_result_inline_headeres.h to fix the GCC build issue. - -Bug: 819294 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#667901} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -index 76ee6091..c14d3a0 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -@@ -251,37 +251,6 @@ - template - struct iterator final {}; - -- // For non-zero glyph offset array -- template <> -- struct iterator final { -- // The constructor for ShapeResult -- explicit iterator(const GlyphOffsetArray& array) -- : pointer(array.storage_.get()) { -- DCHECK(pointer); -- } -- -- // The constructor for ShapeResultView -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -- DCHECK(pointer); -- } -- -- GlyphOffset operator*() const { return *pointer; } -- void operator++() { ++pointer; } -- -- const GlyphOffset* pointer; -- }; -- -- // For zero glyph offset array -- template <> -- struct iterator final { -- explicit iterator(const GlyphOffsetArray& array) { -- DCHECK(!array.HasStorage()); -- } -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -- GlyphOffset operator*() const { return GlyphOffset(); } -- void operator++() {} -- }; -- - template - iterator GetIterator() const { - return iterator(*this); -@@ -495,6 +464,37 @@ - float width_; - }; - -+// For non-zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ // The constructor for ShapeResult -+ explicit iterator(const GlyphOffsetArray& array) -+ : pointer(array.storage_.get()) { -+ DCHECK(pointer); -+ } -+ -+ // The constructor for ShapeResultView -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -+ DCHECK(pointer); -+ } -+ -+ GlyphOffset operator*() const { return *pointer; } -+ void operator++() { ++pointer; } -+ -+ const GlyphOffset* pointer; -+}; -+ -+// For zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator final { -+ explicit iterator(const GlyphOffsetArray& array) { -+ DCHECK(!array.HasStorage()); -+ } -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -+ GlyphOffset operator*() const { return GlyphOffset(); } -+ void operator++() {} -+}; -+ - // Find the range of HarfBuzzRunGlyphData for the specified character index - // range. This function uses binary search twice, hence O(2 log n). - inline ShapeResult::RunInfo::GlyphDataRange diff --git a/chromium-76.0.3809.100-gcc-net-fetcher.patch b/chromium-76.0.3809.100-gcc-net-fetcher.patch deleted file mode 100644 index bc0ed98..0000000 --- a/chromium-76.0.3809.100-gcc-net-fetcher.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 16:56:27 +0000 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace - -GCC does not allow friendship declaration to anonymous namespace as done with Job -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just -makes RemoveJob method public, that was the only reason to make Job a friend. - -Error was: -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - std::unique_ptr delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr RemoveJob(Job* job); - ^~~~~~~~~ - -Bug: 819294 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 -Commit-Queue: Eric Roman -Reviewed-by: Eric Roman -Cr-Commit-Position: refs/heads/master@{#668015} ---- - -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc -index 11a1166..349c656 100644 ---- a/net/cert_net/cert_net_fetcher_impl.cc -+++ b/net/cert_net/cert_net_fetcher_impl.cc -@@ -135,21 +135,19 @@ - void Fetch(std::unique_ptr request_params, - scoped_refptr request); - -+ // Removes |job| from the in progress jobs and transfers ownership to the -+ // caller. -+ std::unique_ptr RemoveJob(Job* job); -+ - // Cancels outstanding jobs, which stops network requests and signals the - // corresponding RequestCores that the requests have completed. - void Shutdown(); - - private: -- friend class Job; -- - // Finds a job with a matching RequestPararms or returns nullptr if there was - // no match. - Job* FindJob(const RequestParams& params); - -- // Removes |job| from the in progress jobs and transfers ownership to the -- // caller. -- std::unique_ptr RemoveJob(Job* job); -- - // The in-progress jobs. This set does not contain the job which is actively - // invoking callbacks (OnJobCompleted). - JobSet jobs_; diff --git a/chromium-76.0.3809.100-gcc-themeservice-includes.patch b/chromium-76.0.3809.100-gcc-themeservice-includes.patch deleted file mode 100644 index ad40bb9..0000000 --- a/chromium-76.0.3809.100-gcc-themeservice-includes.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 04 Jun 2019 22:01:03 +0200 -Subject: [PATCH] IWYU: ThemeService requires NativeTheme - -As ThemeService referes to NativeTheme through a ScopedObserver, -the full declaration is required. - -Bug: 819294 -Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63 ---- - -diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc -index d65388e2..23dc86d 100644 ---- a/chrome/browser/themes/theme_service.cc -+++ b/chrome/browser/themes/theme_service.cc -@@ -54,7 +54,6 @@ - #include "ui/gfx/color_palette.h" - #include "ui/gfx/image/image_skia.h" - #include "ui/native_theme/common_theme.h" --#include "ui/native_theme/native_theme.h" - - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "base/scoped_observer.h" -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 6c79c72..f93dc0d 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -25,6 +25,7 @@ - #include "extensions/buildflags/buildflags.h" - #include "extensions/common/extension_id.h" - #include "ui/base/theme_provider.h" -+#include "ui/native_theme/native_theme.h" - #include "ui/native_theme/native_theme_observer.h" - - class BrowserThemePack; diff --git a/chromium-76.0.3809.100-gcc-vulkan.patch b/chromium-76.0.3809.100-gcc-vulkan.patch deleted file mode 100644 index cf93bce..0000000 --- a/chromium-76.0.3809.100-gcc-vulkan.patch +++ /dev/null @@ -1,115 +0,0 @@ -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 11 Jun 2019 17:39:38 +0000 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. - -The notation for initialization of structs referring to its properties -is invalid in C++. This is not accepted in GCC. It was making build -fail in VulkanCommandBuffer. - -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token - .subresourceRange.baseMipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token - .subresourceRange.levelCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token - .subresourceRange.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token - .subresourceRange.layerCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token - .imageSubresource.mipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token - .imageSubresource.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token - .imageSubresource.layerCount = 1, - ^ -Bug: 819294 - -Change-Id: I999abece0c727e77964789183642ba62009c2c22 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 -Commit-Queue: José Dapena Paz -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#668033} ---- - -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc -index ba776e4..4f14c85 100644 ---- a/gpu/vulkan/vulkan_command_buffer.cc -+++ b/gpu/vulkan/vulkan_command_buffer.cc -@@ -207,21 +207,20 @@ - void VulkanCommandBuffer::TransitionImageLayout(VkImage image, - VkImageLayout old_layout, - VkImageLayout new_layout) { -- VkImageMemoryBarrier barrier = { -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, -- .srcAccessMask = GetAccessMask(old_layout), -- .dstAccessMask = GetAccessMask(new_layout), -- .oldLayout = old_layout, -- .newLayout = new_layout, -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .image = image, -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .subresourceRange.baseMipLevel = 0, -- .subresourceRange.levelCount = 1, -- .subresourceRange.baseArrayLayer = 0, -- .subresourceRange.layerCount = 1, -- }; -+ VkImageMemoryBarrier barrier = {}; -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; -+ barrier.srcAccessMask = GetAccessMask(old_layout); -+ barrier.dstAccessMask = GetAccessMask(new_layout); -+ barrier.oldLayout = old_layout; -+ barrier.newLayout = new_layout; -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.image = image; -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ barrier.subresourceRange.baseMipLevel = 0; -+ barrier.subresourceRange.levelCount = 1; -+ barrier.subresourceRange.baseArrayLayer = 0; -+ barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, - nullptr, 1, &barrier); -@@ -233,17 +232,16 @@ - uint32_t buffer_height, - uint32_t width, - uint32_t height) { -- VkBufferImageCopy region = { -- .bufferOffset = 0, -- .bufferRowLength = buffer_width, -- .bufferImageHeight = buffer_height, -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .imageSubresource.mipLevel = 0, -- .imageSubresource.baseArrayLayer = 0, -- .imageSubresource.layerCount = 1, -- .imageOffset = {0, 0, 0}, -- .imageExtent = {width, height, 1}, -- }; -+ VkBufferImageCopy region = {}; -+ region.bufferOffset = 0; -+ region.bufferRowLength = buffer_width; -+ region.bufferImageHeight = buffer_height; -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ region.imageSubresource.mipLevel = 0; -+ region.imageSubresource.baseArrayLayer = 0; -+ region.imageSubresource.layerCount = 1; -+ region.imageOffset = {0, 0, 0}; -+ region.imageExtent = {width, height, 1}; - vkCmdCopyBufferToImage(command_buffer_, buffer, image, - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); - } diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch deleted file mode 100644 index 98789d9..0000000 --- a/chromium-76.0.3809.100-quiche-compile-fix.patch +++ /dev/null @@ -1,225 +0,0 @@ -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200 -@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength - std::string TransportParameterIdToString( - TransportParameters::TransportParameterId param_id) { - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - return "original_connection_id"; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - return "idle_timeout"; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - return "stateless_reset_token"; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - return "max_packet_size"; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - return "initial_max_data"; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - return "initial_max_stream_data_bidi_local"; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - return "initial_max_stream_data_bidi_remote"; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - return "initial_max_stream_data_uni"; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - return "initial_max_streams_bidi"; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - return "initial_max_streams_uni"; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - return "ack_delay_exponent"; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - return "max_ack_delay"; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - return "disable_migration"; -- case kPreferredAddress: -+ case TransportParameters::kPreferredAddress: - return "preferred_address"; -- case kGoogleQuicParam: -+ case TransportParameters::kGoogleQuicParam: - return "google"; -- case kGoogleQuicVersion: -+ case TransportParameters::kGoogleQuicVersion: - return "google-version"; - } - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; -@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const - CBB original_connection_id_param; - if (!in.original_connection_id.IsEmpty()) { - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || - !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || - !CBB_add_bytes( - &original_connection_id_param, -@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const - if (!in.stateless_reset_token.empty()) { - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kStatelessResetToken) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || - !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || - !CBB_add_bytes(&stateless_reset_token_param, - in.stateless_reset_token.data(), -@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const - - // disable_migration - if (in.disable_migration) { -- if (!CBB_add_u16(¶ms, kDisableMigration) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || - !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. - QUIC_BUG << "Failed to write disable_migration for " << in; - return false; -@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const - QUIC_BUG << "Bad lengths " << *in.preferred_address; - return false; - } -- if (!CBB_add_u16(¶ms, kPreferredAddress) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || - !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || - !CBB_add_bytes( - &preferred_address_params, -@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const - if (in.google_quic_params) { - const QuicData& serialized_google_quic_params = - in.google_quic_params->GetSerialized(); -- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || - !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || - !CBB_add_bytes(&google_quic_params, - reinterpret_cast( -@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const - - // Google-specific version extension. - CBB google_version_params; -- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || - !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || - !CBB_add_u32(&google_version_params, in.version)) { - QUIC_BUG << "Failed to write Google version extension for " << in; -@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint - } - bool parse_success = true; - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - if (!out->original_connection_id.IsEmpty()) { - QUIC_DLOG(ERROR) << "Received a second original connection ID"; - return false; -@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint - CBS_len(&value)); - } - break; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); - break; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - if (!out->stateless_reset_token.empty()) { - QUIC_DLOG(ERROR) << "Received a second stateless reset token"; - return false; -@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint - out->stateless_reset_token.assign(CBS_data(&value), - CBS_data(&value) + CBS_len(&value)); - break; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - parse_success = out->max_packet_size.ReadFromCbs(&value); - break; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - parse_success = out->initial_max_data.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - parse_success = - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - parse_success = - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); - break; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - parse_success = out->ack_delay_exponent.ReadFromCbs(&value); - break; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - parse_success = out->max_ack_delay.ReadFromCbs(&value); - break; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - if (out->disable_migration) { - QUIC_DLOG(ERROR) << "Received a second disable migration"; - return false; -@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint - } - out->disable_migration = true; - break; -- case kPreferredAddress: { -+ case TransportParameters::kPreferredAddress: { - uint16_t ipv4_port, ipv6_port; - in_addr ipv4_address; - in6_addr ipv6_address; -@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint - QuicMakeUnique( - preferred_address); - } break; -- case kGoogleQuicParam: { -+ case TransportParameters::kGoogleQuicParam: { - if (out->google_quic_params) { - QUIC_DLOG(ERROR) << "Received a second Google parameter"; - return false; -@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint - reinterpret_cast(CBS_data(&value)), CBS_len(&value)); - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); - } break; -- case kGoogleQuicVersion: { -+ case TransportParameters::kGoogleQuicVersion: { - if (!CBS_get_u32(&value, &out->version)) { - QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; - return false; -diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc ---- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200 -+++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200 -@@ -2,10 +2,12 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include -- - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" - -+#include -+#include -+#include -+ - namespace quic { - - namespace { diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch deleted file mode 100644 index 5e392e6..0000000 --- a/chromium-76.0.3809.100-throttling-dead-beef.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 06 Jun 2019 07:54:05 +0000 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t - -We are setting kAlive and kDead values assigning values that -are bigger than the maximum signed int32. It is better to use -uint32_t in this case. - -Bug: 819294 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 -Reviewed-by: Kinuko Yasuda -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#666619} ---- - -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h -index 43751c4..3c6f87b 100644 ---- a/services/network/throttling/throttling_controller.h -+++ b/services/network/throttling/throttling_controller.h -@@ -38,7 +38,7 @@ - - // TODO(https://crbug.com/960874): Debugging code to try and shed some light - // on why the owned maps are invalid. -- enum class Liveness : int32_t { -+ enum class Liveness : uint32_t { - kAlive = 0xCA11AB13, - kDead = 0xDEADBEEF, - }; diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch deleted file mode 100644 index a392971..0000000 --- a/chromium-76.0.3809.100-weak-ptr-no-except.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 18 Jul 2019 14:26:11 +0200 -Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression - -A GCC build regression has happened on DisjointRangeLockManager, as its move -operator and constructor were declared noexcept. This was failing because the -default implementation depended on base::WeakPtr, that did not provide -noexcept declaration for them. - -So make base::WeakPtr noexcept. - -Bug: 819294 -Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95 ---- - -diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc -index 64fd499..0efcc44 100644 ---- a/base/memory/weak_ptr.cc -+++ b/base/memory/weak_ptr.cc -@@ -46,7 +46,7 @@ - - WeakReference::~WeakReference() = default; - --WeakReference::WeakReference(WeakReference&& other) = default; -+WeakReference::WeakReference(WeakReference&& other) noexcept = default; - - WeakReference::WeakReference(const WeakReference& other) = default; - -diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h -index 72b5f1f..ccd22fd13 100644 ---- a/base/memory/weak_ptr.h -+++ b/base/memory/weak_ptr.h -@@ -116,9 +116,9 @@ - explicit WeakReference(const scoped_refptr& flag); - ~WeakReference(); - -- WeakReference(WeakReference&& other); -+ WeakReference(WeakReference&& other) noexcept; - WeakReference(const WeakReference& other); -- WeakReference& operator=(WeakReference&& other) = default; -+ WeakReference& operator=(WeakReference&& other) noexcept = default; - WeakReference& operator=(const WeakReference& other) = default; - - bool IsValid() const; -@@ -153,9 +153,9 @@ - ~WeakPtrBase(); - - WeakPtrBase(const WeakPtrBase& other) = default; -- WeakPtrBase(WeakPtrBase&& other) = default; -+ WeakPtrBase(WeakPtrBase&& other) noexcept = default; - WeakPtrBase& operator=(const WeakPtrBase& other) = default; -- WeakPtrBase& operator=(WeakPtrBase&& other) = default; -+ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default; - - void reset() { - ref_ = internal::WeakReference(); -@@ -236,7 +236,7 @@ - ptr_ = reinterpret_cast(t); - } - template -- WeakPtr(WeakPtr&& other) : WeakPtrBase(std::move(other)) { -+ WeakPtr(WeakPtr&& other) noexcept : WeakPtrBase(std::move(other)) { - // Need to cast from U* to T* to do pointer adjustment in case of multiple - // inheritance. This also enforces the "U is a T" rule. - T* t = reinterpret_cast(other.ptr_); diff --git a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch deleted file mode 100644 index 73db4d4..0000000 --- a/chromium-76.0.3809.132-gcc-ambigous-instantiation.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc ---- chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc.gcc-ambigous-instantiation 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/cross_origin_read_blocking.cc 2019-08-27 06:58:23.963821667 +0200 -@@ -207,7 +207,7 @@ std::set& GetPluginProxyingProcesse - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set& GetNeverSniffedMimeTypes() { -- static base::NoDestructor> s_types({ -+ static base::NoDestructor> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -219,7 +219,7 @@ base::flat_set& GetNeverSni - "application/x-protobuf", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch new file mode 100644 index 0000000..c836214 --- /dev/null +++ b/chromium-77.0.3865.75-boolfix.patch @@ -0,0 +1,24 @@ +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 +@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { + + bool is_valid() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { + return std::move(handle_); +diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h +--- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 ++++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 +@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { + // handle. + bool is_pending() const { return handle_.is_valid(); } + +- explicit operator bool() const { return handle_.is_valid(); } ++ explicit operator bool() const { return (bool) handle_.is_valid(); } + + ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } + diff --git a/chromium-76.0.3809.132-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch similarity index 73% rename from chromium-76.0.3809.132-certificate-transparency.patch rename to chromium-77.0.3865.75-certificate-transparency.patch index 8bfbced..82e2958 100644 --- a/chromium-76.0.3809.132-certificate-transparency.patch +++ b/chromium-77.0.3865.75-certificate-transparency.patch @@ -1,18 +1,18 @@ -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-03 22:08:28.931786496 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-03 22:15:24.743555759 +0200 -@@ -17,6 +17,7 @@ - #include "chrome/common/pref_names.h" - #include "chrome/test/base/in_process_browser_test.h" - #include "components/prefs/pref_service.h" +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 +@@ -21,6 +21,7 @@ + #include "components/version_info/version_info.h" + #include "content/public/common/content_switches.h" + #include "content/public/common/user_agent.h" +#include "services/network/public/cpp/network_service_buildflags.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/network_service.mojom.h" #include "testing/gmock/include/gmock/gmock.h" -@@ -297,3 +298,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont +@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerStubResolverBrowsertest, - ::testing::Values(false, true)); + SystemNetworkContextManagerFreezeQUICUaBrowsertest, + ::testing::Values(true, false)); + +class SystemNetworkContextManagerCertificateTransparencyBrowsertest + : public SystemNetworkContextManagerBrowsertest, @@ -65,9 +65,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage + , + SystemNetworkContextManagerCertificateTransparencyBrowsertest, + ::testing::Values(base::nullopt, true, false)); -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.cc 2019-09-03 22:13:26.451198970 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 @@ -4,11 +4,13 @@ #include "chrome/browser/net/system_network_context_manager.h" @@ -82,7 +82,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "base/command_line.h" #include "base/feature_list.h" #include "base/logging.h" -@@ -51,6 +53,7 @@ +@@ -50,6 +52,7 @@ #include "content/public/common/mime_handler_view_mode.h" #include "content/public/common/service_names.mojom.h" #include "content/public/common/user_agent.h" @@ -90,7 +90,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "net/dns/public/util.h" #include "net/net_buildflags.h" -@@ -81,6 +84,20 @@ +@@ -79,6 +82,20 @@ namespace { @@ -111,7 +111,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage // The global instance of the SystemNetworkContextmanager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -@@ -686,14 +703,35 @@ SystemNetworkContextManager::CreateDefau +@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau bool http_09_on_non_default_ports_enabled = false; #if !defined(OS_ANDROID) @@ -155,7 +155,7 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage } const base::Value* value = -@@ -756,6 +794,12 @@ SystemNetworkContextManager::GetHttpAuth +@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth return CreateHttpAuthDynamicParams(g_browser_process->local_state()); } @@ -168,10 +168,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetworkContextParams() { // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h ---- chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/net/system_network_context_manager.h 2019-09-03 22:08:28.931786496 +0200 -@@ -158,6 +158,12 @@ class SystemNetworkContextManager { +diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h +--- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 +@@ -139,6 +139,12 @@ class SystemNetworkContextManager { static network::mojom::HttpAuthDynamicParamsPtr GetHttpAuthDynamicParamsForTesting(); @@ -184,10 +184,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/net/system_network_context_manage private: class URLLoaderFactoryForSystem; -diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-08-26 21:02:05.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -4834,7 +4834,7 @@ IN_PROC_BROWSER_TEST_P(SSLPolicyTestComm +diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 +@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); } @@ -196,9 +196,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/policy/policy_browsertest.cc.cert CertificateTransparencyEnforcementDisabledForCas) { net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 +diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 @@ -8,6 +8,7 @@ #include "base/callback.h" #include "base/run_loop.h" @@ -226,10 +226,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/chrome_expect_ct_reporter_bro void SetUpOnMainThread() override { run_loop_ = std::make_unique(); -diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-03 22:08:28.932786508 +0200 -@@ -457,6 +457,13 @@ class SecurityStateTabHelperTest : publi +diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 +@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi SecurityStateTabHelperTest() : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); @@ -243,10 +243,10 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/security_state_tab_helper_bro } void SetUpOnMainThread() override { -diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-08-26 21:02:07.000000000 +0200 -+++ chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc 2019-09-03 22:08:28.934786531 +0200 -@@ -2008,8 +2008,14 @@ class CertificateTransparencySSLUITest : +diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc +--- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 ++++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 +@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : public: CertificateTransparencySSLUITest() : CertVerifierBrowserTest(), @@ -263,9 +263,9 @@ diff -up chromium-76.0.3809.132/chrome/browser/ssl/ssl_browsertest.cc.certificat void SetUpOnMainThread() override { CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-08-26 21:02:14.000000000 +0200 -+++ chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-03 22:08:28.934786531 +0200 +diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h +--- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 ++++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 @@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } @@ -286,10 +286,10 @@ diff -up chromium-76.0.3809.132/components/certificate_transparency/chrome_ct_po private: // Returns true if the log identified by |log_id| (the SHA-256 hash of the // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context.cc ---- chromium-76.0.3809.132/services/network/network_context.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context.cc 2019-09-03 22:17:27.977834857 +0200 -@@ -35,6 +35,7 @@ +diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc +--- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 +@@ -36,6 +36,7 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/prefs/pref_service_factory.h" @@ -297,7 +297,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #include "mojo/public/cpp/bindings/strong_binding.h" #include "net/base/layered_network_delegate.h" #include "net/base/load_flags.h" -@@ -1851,16 +1852,6 @@ URLRequestContextOwner NetworkContext::A +@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); #endif // BUILDFLAG(ENABLE_REPORTING) @@ -314,7 +314,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- net::HttpNetworkSession::Params session_params; bool is_quic_force_disabled = false; if (network_service_ && network_service_->quic_disabled()) -@@ -1910,8 +1901,20 @@ URLRequestContextOwner NetworkContext::A +@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A #if BUILDFLAG(IS_CT_SUPPORTED) std::vector> ct_logs; @@ -335,7 +335,7 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- scoped_refptr log_verifier = net::CTLogVerifier::Create(log->public_key, log->name); if (!log_verifier) { -@@ -1924,6 +1927,17 @@ URLRequestContextOwner NetworkContext::A +@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A ct_verifier->AddLogs(ct_logs); builder->set_ct_verifier(std::move(ct_verifier)); } @@ -353,9 +353,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context.cc.certificate- #endif // BUILDFLAG(IS_CT_SUPPORTED) const base::CommandLine* command_line = -diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency chromium-76.0.3809.132/services/network/network_context_unittest.cc ---- chromium-76.0.3809.132/services/network/network_context_unittest.cc.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/network_context_unittest.cc 2019-09-03 22:20:22.382888089 +0200 +diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc +--- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -374,10 +374,10 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer #include "components/network_session_configurator/common/network_switches.h" #include "components/prefs/testing_pref_service.h" +#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/interface_request.h" - #include "mojo/public/cpp/bindings/strong_binding.h" + #include "mojo/public/cpp/bindings/remote.h" + #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -113,6 +116,11 @@ +@@ -115,6 +118,11 @@ #include "url/scheme_host_port.h" #include "url/url_constants.h" @@ -386,11 +386,11 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer +#include "services/network/public/mojom/ct_log_info.mojom.h" +#endif + - #if BUILDFLAG(ENABLE_REPORTING) - #include "net/network_error_logging/network_error_logging_service.h" - #include "net/reporting/reporting_cache.h" -@@ -5566,6 +5574,72 @@ TEST_F(NetworkContextTest, BlockAllCooki - EXPECT_EQ("None", response_body); + #if !BUILDFLAG(DISABLE_FTP_SUPPORT) + #include "net/ftp/ftp_auth_cache.h" + #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) +@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, + true /* was_cached */, true /* is_navigation */); } +#if BUILDFLAG(IS_CT_SUPPORTED) @@ -462,9 +462,9 @@ diff -up chromium-76.0.3809.132/services/network/network_context_unittest.cc.cer } // namespace } // namespace network -diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom 2019-09-03 22:08:28.936786554 +0200 +diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 @@ -4,6 +4,8 @@ module network.mojom; @@ -488,10 +488,10 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/ct_log_info.mojom. + // If the log is currently qualified, this will not be set. + mojo_base.mojom.TimeDelta? disqualified_at; }; -diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom ---- chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-08-26 21:02:33.000000000 +0200 -+++ chromium-76.0.3809.132/services/network/public/mojom/network_context.mojom 2019-09-03 22:08:28.936786554 +0200 -@@ -238,15 +238,6 @@ struct NetworkContextParams { +diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom +--- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 ++++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 +@@ -239,15 +239,6 @@ struct NetworkContextParams { [EnableIf=is_android] bool check_clear_text_permitted = false; @@ -507,7 +507,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. bool http_09_on_non_default_ports_enabled = false; -@@ -299,6 +290,15 @@ struct NetworkContextParams { +@@ -300,6 +291,15 @@ struct NetworkContextParams { // servers, so they can discover misconfigurations. bool enable_certificate_reporting = false; @@ -523,7 +523,7 @@ diff -up chromium-76.0.3809.132/services/network/public/mojom/network_context.mo // Enables Expect CT reporting, which sends reports for opted-in sites that // don't serve sufficient Certificate Transparency information. [EnableIf=is_ct_supported] -@@ -310,6 +310,13 @@ struct NetworkContextParams { +@@ -311,6 +311,13 @@ struct NetworkContextParams { [EnableIf=is_ct_supported] array ct_logs; diff --git a/chromium-77.0.3865.75-fedora-user-agent.patch b/chromium-77.0.3865.75-fedora-user-agent.patch new file mode 100644 index 0000000..8f6de51 --- /dev/null +++ b/chromium-77.0.3865.75-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent chromium-77.0.3865.75/content/common/user_agent.cc +--- chromium-77.0.3865.75/content/common/user_agent.cc.fedora-user-agent 2019-09-12 15:49:11.902270729 +0200 ++++ chromium-77.0.3865.75/content/common/user_agent.cc 2019-09-12 15:50:11.555732044 +0200 +@@ -35,7 +35,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MACOSX) + return "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + return "Linux; "; + #elif defined(OS_POSIX) diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch new file mode 100644 index 0000000..385778c --- /dev/null +++ b/chromium-77.0.3865.75-fix-v8-gcc.patch @@ -0,0 +1,14 @@ +diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc +--- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 ++++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 +@@ -3773,6 +3773,10 @@ Handle CreateElementDi + return new_element_dictionary; + } + ++template void JSObject::ApplyAttributesToDictionary( ++ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, ++ const PropertyAttributes attributes); ++ + template + Maybe JSObject::PreventExtensionsWithTransition( + Handle object, ShouldThrow should_throw) { diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch new file mode 100644 index 0000000..d342e2d --- /dev/null +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -0,0 +1,13 @@ +diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 +@@ -24,8 +24,7 @@ + #elif !defined(__native_client__) && \ + ((defined(__clang__) && \ + ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ +- (defined(__GNUC__) && __GNUC__ >= 5)) ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) + #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch new file mode 100644 index 0000000..34b858a --- /dev/null +++ b/chromium-77.0.3865.75-gcc5-r3.patch @@ -0,0 +1,36 @@ +diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 ++++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 ++++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 +@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 ++++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/chromium-77.0.3865.75-no-zlib-mangle.patch b/chromium-77.0.3865.75-no-zlib-mangle.patch new file mode 100644 index 0000000..c32d226 --- /dev/null +++ b/chromium-77.0.3865.75-no-zlib-mangle.patch @@ -0,0 +1,22 @@ +diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h +--- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200 ++++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200 +@@ -9,18 +9,6 @@ + #define ZCONF_H + + /* +- * This library is also built as a part of AOSP, which does not need to include +- * chromeconf.h. This config does not want chromeconf.h, so it can set this +- * macro to opt out. While this works today, there's no guarantee that building +- * zlib outside of Chromium keeps working in the future. +- */ +-#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) +-/* This include does prefixing as below, but with an updated set of names. Also +- * sets up export macros in component builds. */ +-#include "chromeconf.h" +-#endif +- +-/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set diff --git a/chromium.spec b/chromium.spec index 877f8f7..a943ad5 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,14 +164,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 76 +%global majorversion 77 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3809.132 +Version: %{majorversion}.0.3865.75 Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home @@ -211,20 +211,20 @@ Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-75.0.3770.80-no-zlib-mangle.patch +Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch # Fix libavutil include pathing to find arch specific timer.h # For some reason, this only fails on aarch64. No idea why. Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch # from gentoo -Patch20: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch +Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch # From gentoo -Patch21: chromium-72.0.3626.121-gcc5-r3.patch +Patch21: chromium-77.0.3865.75-gcc5-r3.patch # To use round with gcc, you need to #include Patch22: chromium-65.0.3325.146-gcc-round-fix.patch # Include proper headers to invoke memcpy() Patch23: chromium-65.0.3325.146-memcpy-fix.patch # ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-68.0.3440.106-boolfix.patch +Patch24: chromium-77.0.3865.75-boolfix.patch # From Debian Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch # Do not use unrar code, it is non-free @@ -232,7 +232,7 @@ Patch27: chromium-73.0.3683.75-norar.patch # Upstream GCC fixes Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch # Add "Fedora" to the user agent string -Patch29: chromium-72.0.3626.121-fedora-user-agent.patch +Patch29: chromium-77.0.3865.75-fedora-user-agent.patch # Try to fix version.py for Rawhide Patch30: chromium-71.0.3578.98-py2-bootstrap.patch # Fix default on redeclaration error @@ -260,43 +260,11 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch # Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 # It might make clang happy but it breaks gcc. F*** clang. Patch43: chromium-75.0.3770.80-revert-daff6b.patch -# Avoid pure virtual crash destroying RenderProcessUserData -# https://chromium.googlesource.com/chromium/src/+/cdf306db81efaaaa954487585d5a5a16205a5ebd%5E%21/ -Patch44: chromium-75.0.3770.80-pure-virtual-crash-fix.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch # fix v8 compile with gcc # https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-75.0.3770.100-fix-v8-gcc.patch -# Fix Vulkan compilation with gcc -# https://chromium.googlesource.com/chromium/src/+/fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 -Patch47: chromium-76.0.3809.100-gcc-vulkan.patch -# https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c8236c8649b031fe9915eb5b -Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch -# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b7944790253213cce6dcb8 -Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch -# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5450022185d0ddc3c -Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch -# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e -Patch52: chromium-76.0.3809.132-gcc-ambigous-instantiation.patch -# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c429d2672562188b4107e -Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch -# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc -Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch -# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24a2cf517fa3becdbae8bb -Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch -# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d260aa67b14b2dc996f992 -Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch -# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc -Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch -# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59 -Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c -Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch -# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2 -Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch +Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -305,7 +273,7 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-76.0.3809.132-certificate-transparency.patch +Patch64: chromium-77.0.3865.75-certificate-transparency.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -846,7 +814,7 @@ udev. %patch22 -p1 -b .gcc-round-fix %patch23 -p1 -b .memcpyfix %patch24 -p1 -b .boolfix -%patch25 -p1 -b .aarch64fix +#%patch25 -p1 -b .aarch64fix %patch27 -p1 -b .nounrar %patch28 -p1 -b .gcc-cpolicyprovider %patch29 -p1 -b .fedora-user-agent @@ -861,23 +829,8 @@ udev. %patch38 -p1 -b .disable-ndnpc %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b -%patch44 -p1 -b .pure-virtual-fix %patch45 -p1 -b .gettid-fix %patch46 -p1 -b .fix-v8-gcc -%patch47 -p1 -b .gcc-vulkan -%patch48 -p1 -b .gcc-cc-no-except -%patch49 -p1 -b .gcc-net-fetcher -%patch50 -p1 -b .quiche-compile-fix -%patch51 -p1 -b .throttling-dead-beef -%patch52 -p1 -b .gcc-ambigous-instantiation -%patch53 -p1 -b .weak-ptr-no-except -%patch54 -p1 -b .gcc-feature-policy-parser -%patch55 -p1 -b .gcc-hasfraction-constexpr -%patch56 -p1 -b .gcc-move-explicit-initialization -%patch57 -p1 -b .gcc-initialization-order -%patch58 -p1 -b .gcc-history-move-noexcept -%patch59 -p1 -b .gcc-accountinfo-move-noexcept -%patch60 -p1 -b .gcc-themeservice-includes %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined @@ -1466,6 +1419,7 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +echo # Now do the full browser %if 0%{freeworld} ../depot_tools/ninja -C %{target} -vvv media diff --git a/sources b/sources index 2d38a7c..a1d28bf 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-76.0.3809.132-clean.tar.xz) = fbc5f989945adfaffb9fb5199ccb988accdc53f41a03bba9c4ab3df8585b9267b1f34cd7a6ac487eff34ebb6e65865e32ceea4ad945eec30f871d8eed41f3e6f +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 From e8aad2e8bc7f279896289cf59692f79386fde464 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:03 +0200 Subject: [PATCH 112/171] Unbundle the zlib Use the gentoo patch. --- chromium-77.0.3865.75-unbundle-zlib.patch | 25 +++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 chromium-77.0.3865.75-unbundle-zlib.patch diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch new file mode 100644 index 0000000..d6c45ad --- /dev/null +++ b/chromium-77.0.3865.75-unbundle-zlib.patch @@ -0,0 +1,25 @@ +From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 28 Jun 2019 15:56:23 +0000 +Subject: [PATCH] update zlib + +--- + third_party/perfetto/gn/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn +index c951f5f..297eee3 100644 +--- a/third_party/perfetto/gn/BUILD.gn ++++ b/third_party/perfetto/gn/BUILD.gn +@@ -200,7 +200,7 @@ group("zlib") { + "//buildtools:zlib", + ] + } else if (build_with_chromium) { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ + "//third_party/zlib", + ] +-- +2.21.0 + diff --git a/chromium.spec b/chromium.spec index a943ad5..440ec40 100644 --- a/chromium.spec +++ b/chromium.spec @@ -274,6 +274,8 @@ Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae Patch64: chromium-77.0.3865.75-certificate-transparency.patch +# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch +Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -835,6 +837,7 @@ udev. %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency +%patch65 -p1 -b .unbundle-zlib # EPEL specific patches %if 0%{?rhel} == 7 From 99274dda89d3248891ab242510770ba8ce139f9c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:23:46 +0200 Subject: [PATCH 113/171] Missing bundled dependency for headless --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 440ec40..92e6b78 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1230,6 +1230,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %endif 'third_party/openscreen' \ 'third_party/opus' \ + 'third_party/one_euro_filter' \ 'third_party/ots' \ 'third_party/pdfium' \ 'third_party/pdfium/third_party/agg23' \ From 31afa2bf6dfc8537a79fd58010029ec6622de34a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:21:43 +0200 Subject: [PATCH 114/171] Fix the previously rebased patched --- chromium-77.0.3865.75-gcc-no-opt-safe-math.patch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch index d342e2d..920a53e 100644 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch @@ -1,13 +1,15 @@ diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-12 09:55:13.041038765 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-12 10:11:14.088101504 +0200 -@@ -24,8 +24,7 @@ +--- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 ++++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 +@@ -23,9 +23,8 @@ + // Where available use builtin math overflow support on Clang and GCC. #elif !defined(__native_client__) && \ ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ +- ((__clang_major__ > 3) || \ - (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ - (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) ++ (__clang_major__ > 3) || \ ++ (__clang_major__ == 3 && __clang_minor__ >= 4))) #include "base/numerics/safe_math_clang_gcc_impl.h" #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) #else From 80ef5cb4da29d6d1e0bedffe53af531e28040457 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:18:54 +0200 Subject: [PATCH 115/171] Update the clean-ffmpeg.sh script --- clean_ffmpeg.sh | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2f27435..fd226e8 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -138,6 +138,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/vlc.h \ libavcodec/vorbisdsp.h \ libavcodec/vp3data.h \ + libavcodec/vp4data.h \ libavcodec/vp3dsp.h \ libavcodec/vp56.h \ libavcodec/vp56dsp.h \ diff --git a/sources b/sources index a1d28bf..b9b0498 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = 9531e5d533bf305bd82ae2dbc7bf1a9e081377b61a5611f4bfa14ed389f94d106e26a9981771ed11697ca9c2490eb24c69e992fd907de241698c89a6131db0b6 +SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 From 8b6db4ec93c82a6728a448af05ba5428864c58ab Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:24:09 +0200 Subject: [PATCH 116/171] Include to fix the headless build --- chromium-77.0.3865.75-gcc-include-memory.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-include-memory.patch diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch new file mode 100644 index 0000000..93b4399 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-include-memory.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h +--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200 ++++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200 +@@ -3,6 +3,8 @@ + + #include "low_pass_filter.h" + ++#include ++ + namespace one_euro_filter { + namespace test { + class OneEuroFilterTest; diff --git a/chromium.spec b/chromium.spec index 92e6b78..980a57d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -276,6 +276,8 @@ Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch Patch64: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +# Needs to be submitted.. +Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -838,6 +840,7 @@ udev. %patch63 -p1 -b .vtable-symbol-undefined %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib +%patch66 -p1 -b .gcc-include-memory # EPEL specific patches %if 0%{?rhel} == 7 From e37acb8e8cd7fda722a059bc3aba28632ff869ac Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 15:00:03 +0200 Subject: [PATCH 117/171] Use the bundled harfbuzz-ng for < F31 Needed because of the hb_subset_input_set_retain_gids(), that's only available in harbuzz 2.4 that's only in F31+ --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 980a57d..129f8b9 100644 --- a/chromium.spec +++ b/chromium.spec @@ -133,9 +133,9 @@ BuildRequires: libicu-devel >= 5.4 %global bundlefontconfig 0 %endif -# Needs at least harfbuzz 2.3.0 now. -# 2019-03-13 -%if 0%{?fedora} < 30 +# Needs at least harfbuzz 2.4.0 now. +# 2019-09-13 +%if 0%{?fedora} < 31 %global bundleharfbuzz 1 %else %global bundleharfbuzz 0 From 0d2fa426aafe8f3f7f15c8e101b18fd285a4b31e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 21:48:17 +0200 Subject: [PATCH 118/171] Remove an unneeded patch that's breaking the build --- chromium-77.0.3865.75-fix-v8-gcc.patch | 14 -------------- chromium.spec | 4 ---- 2 files changed, 18 deletions(-) delete mode 100644 chromium-77.0.3865.75-fix-v8-gcc.patch diff --git a/chromium-77.0.3865.75-fix-v8-gcc.patch b/chromium-77.0.3865.75-fix-v8-gcc.patch deleted file mode 100644 index 385778c..0000000 --- a/chromium-77.0.3865.75-fix-v8-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc chromium-77.0.3865.75/v8/src/objects/js-objects.cc ---- chromium-77.0.3865.75/v8/src/objects/js-objects.cc.fix-v8-gcc 2019-09-12 15:55:18.936238980 +0200 -+++ chromium-77.0.3865.75/v8/src/objects/js-objects.cc 2019-09-12 15:56:06.796645726 +0200 -@@ -3773,6 +3773,10 @@ Handle CreateElementDi - return new_element_dictionary; - } - -+template void JSObject::ApplyAttributesToDictionary( -+ Isolate* isolate, ReadOnlyRoots roots, Handle dictionary, -+ const PropertyAttributes attributes); -+ - template - Maybe JSObject::PreventExtensionsWithTransition( - Handle object, ShouldThrow should_throw) { diff --git a/chromium.spec b/chromium.spec index 129f8b9..a6daffc 100644 --- a/chromium.spec +++ b/chromium.spec @@ -262,9 +262,6 @@ Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch Patch43: chromium-75.0.3770.80-revert-daff6b.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch -# fix v8 compile with gcc -# https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550537d6ac3f%5E%21/#F1 -Patch46: chromium-77.0.3865.75-fix-v8-gcc.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch @@ -834,7 +831,6 @@ udev. %patch41 -p1 -b .SIOCGSTAMP %patch43 -p1 -b .revert-daff6b %patch45 -p1 -b .gettid-fix -%patch46 -p1 -b .fix-v8-gcc %patch61 -p1 -b .gcc-no-alignas-and-export %patch62 -p1 -b .gcc-remoting-constexpr %patch63 -p1 -b .vtable-symbol-undefined From fee98db480314bb5e353f827c303625b0075df77 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:05:31 +0200 Subject: [PATCH 119/171] Another export and alignas gcc compilation fix --- chromium-77.0.3865.75-base-gcc-no-alignas.patch | 12 ++++++++++++ chromium.spec | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 chromium-77.0.3865.75-base-gcc-no-alignas.patch diff --git a/chromium-77.0.3865.75-base-gcc-no-alignas.patch b/chromium-77.0.3865.75-base-gcc-no-alignas.patch new file mode 100644 index 0000000..86a2271 --- /dev/null +++ b/chromium-77.0.3865.75-base-gcc-no-alignas.patch @@ -0,0 +1,12 @@ +diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h +--- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200 ++++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200 +@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList { + + // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can + // be used to store additional state (see static_asserts below). +- class BASE_EXPORT alignas(8) Node { ++ class BASE_EXPORT ALIGNAS(8) Node { + public: + Node(); + explicit Node(Node&& other) noexcept; diff --git a/chromium.spec b/chromium.spec index a6daffc..328b149 100644 --- a/chromium.spec +++ b/chromium.spec @@ -275,6 +275,8 @@ Patch64: chromium-77.0.3865.75-certificate-transparency.patch Patch65: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. Patch66: chromium-77.0.3865.75-gcc-include-memory.patch +# Needs to be submitted.. +Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -837,6 +839,7 @@ udev. %patch64 -p1 -b .certificate-transparency %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory +%patch67 -p1 -b .base-gcc-no-alignas # EPEL specific patches %if 0%{?rhel} == 7 From 5008833513c462f884857764071fb645359808b6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:06:07 +0200 Subject: [PATCH 120/171] Preserve the spirv heads for swiftshader compilation --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 328b149..dca072c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1277,6 +1277,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/swiftshader/third_party/subzero' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ + 'third_party/swiftshader/third_party/SPIRV-Headers' \ 'third_party/tcmalloc' \ 'third_party/test_fonts' \ 'third_party/usb_ids' \ From 28b564b6156d6e38ff68ad310283343080df1fa4 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 13 Sep 2019 22:13:56 +0200 Subject: [PATCH 121/171] Fix the release number and add a changelog entry --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index dca072c..b959409 100644 --- a/chromium.spec +++ b/chromium.spec @@ -172,7 +172,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1872,6 +1872,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 +- Update to 77.0.3865.75 + * Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 - Backport patch to fix certificate transparency From 359c9903b5538c413854254c8b26dae0b073807c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:09:46 +0200 Subject: [PATCH 122/171] More of the harfbuzz related fixes --- chromium-77.0.3865.75-harfbuzz-subset.patch | 49 +++++++++++++++++++++ chromium.spec | 7 ++- 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 chromium-77.0.3865.75-harfbuzz-subset.patch diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch new file mode 100644 index 0000000..55d78d1 --- /dev/null +++ b/chromium-77.0.3865.75-harfbuzz-subset.patch @@ -0,0 +1,49 @@ +From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 29 Jul 2019 10:54:28 +0000 +Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true + +When building HarfBuzz as part of Chromium, there is a single source set +with all the files we need in the build. + +Upstream HarfBuzz, on the other hand, produces a few different libraries: +harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is +true, we were only looking for (and using) harfbuzz.pc with pkg-config even +though we also use symbols from libharfbuzz-subset.so. This resulted in +errors when linking: + + ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': + SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' + +as reported in +https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + +Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Dominik Röttsches +Reviewed-by: Dominik Röttsches +Cr-Commit-Position: refs/heads/master@{#681760} +--- + +diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn +index 37d8e33..72013eb1d 100644 +--- a/third_party/harfbuzz-ng/BUILD.gn ++++ b/third_party/harfbuzz-ng/BUILD.gn +@@ -16,7 +16,10 @@ + "//third_party:freetype_harfbuzz", + "//third_party/freetype:freetype_source", + ] +- packages = [ "harfbuzz" ] ++ packages = [ ++ "harfbuzz", ++ "harfbuzz-subset", ++ ] + } + } else { + config("harfbuzz_config") { diff --git a/chromium.spec b/chromium.spec index b959409..277fcfe 100644 --- a/chromium.spec +++ b/chromium.spec @@ -277,6 +277,8 @@ Patch65: chromium-77.0.3865.75-unbundle-zlib.patch Patch66: chromium-77.0.3865.75-gcc-include-memory.patch # Needs to be submitted.. Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +# https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 +Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -362,7 +364,7 @@ BuildRequires: gperf %if 0%{?bundleharfbuzz} #nothing %else -BuildRequires: harfbuzz-devel >= 2.3.0 +BuildRequires: harfbuzz-devel >= 2.4.0 %endif BuildRequires: libatomic BuildRequires: libcap-devel @@ -624,7 +626,7 @@ Provides: bundled(freetype) = 2.9.3 %endif Provides: bundled(gperftools) = svn144 %if 0%{?bundleharfbuzz} -Provides: bundled(harfbuzz) = 2.3.0 +Provides: bundled(harfbuzz) = 2.4.0 %endif Provides: bundled(hunspell) = 1.6.0 Provides: bundled(iccjpeg) @@ -840,6 +842,7 @@ udev. %patch65 -p1 -b .unbundle-zlib %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas +%patch68 -p1 -b .harfbuzz-subset # EPEL specific patches %if 0%{?rhel} == 7 From c8be01a2e685fd25e57c8264adec337b61b66fb4 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 11:10:29 +0200 Subject: [PATCH 123/171] Don't remove an additional bundled library --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 277fcfe..4a74346 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1234,6 +1234,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/openh264' \ %endif 'third_party/openscreen' \ + 'third_party/openscreen/src/third_party/tinycbor' \ 'third_party/opus' \ 'third_party/one_euro_filter' \ 'third_party/ots' \ From 247c850861933c33f91ad4f78ee2c794073c51ec Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 17:06:52 +0200 Subject: [PATCH 124/171] Backport another GCC build fix --- ...mium-77.0.3865.75-gcc-abstract-class.patch | 61 +++++++++++++++++++ chromium.spec | 3 + 2 files changed, 64 insertions(+) create mode 100644 chromium-77.0.3865.75-gcc-abstract-class.patch diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch new file mode 100644 index 0000000..6d77299 --- /dev/null +++ b/chromium-77.0.3865.75-gcc-abstract-class.patch @@ -0,0 +1,61 @@ +From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 26 Jul 2019 16:48:06 +0000 +Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class + +The method UploadForDeepScanning gets a Request as parameter. But Request is an +abstract class, so GCC will not allow that declaration (polimorphycs should be +passed by reference). Use std::unique_ptr so BinaryUploadService can assume +ownership. + +Bug: 819294 +Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 +Reviewed-by: Daniel Rubery +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#681333} +--- + +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +index 6430c89..4e90487 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc +@@ -10,7 +10,7 @@ + namespace safe_browsing { + + void BinaryUploadService::UploadForDeepScanning( +- BinaryUploadService::Request request) { ++ std::unique_ptr request) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + NOTREACHED(); + } +diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +index d2dfd83..9b6f395 100644 +--- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h ++++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h +@@ -5,6 +5,8 @@ + #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ + ++#include ++ + #include "base/callback.h" + #include "components/safe_browsing/proto/webprotect.pb.h" + +@@ -40,6 +42,7 @@ + public: + // |callback| will run on the UI thread. + explicit Request(Callback callback); ++ virtual ~Request() = default; + Request(const Request&) = delete; + Request& operator=(const Request&) = delete; + +@@ -67,7 +70,7 @@ + // Upload the given file contents for deep scanning. The results will be + // returned asynchronously by calling |request|'s |callback|. This must be + // called on the UI thread. +- void UploadForDeepScanning(Request request); ++ void UploadForDeepScanning(std::unique_ptr request); + }; + + } // namespace safe_browsing diff --git a/chromium.spec b/chromium.spec index 4a74346..625d74d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -279,6 +279,8 @@ Patch66: chromium-77.0.3865.75-gcc-include-memory.patch Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +# https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 +Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -843,6 +845,7 @@ udev. %patch66 -p1 -b .gcc-include-memory %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset +%patch69 -p1 -b .gcc-abstract-class # EPEL specific patches %if 0%{?rhel} == 7 From 13a5dba5beca40ad695d05c2534d2791fc19f185 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sat, 14 Sep 2019 19:15:24 +0200 Subject: [PATCH 125/171] Customize the ninja status to show the currently build target So one is able to realize faster, where the build is failing. --- chromium.spec | 53 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/chromium.spec b/chromium.spec index 625d74d..760805e 100644 --- a/chromium.spec +++ b/chromium.spec @@ -2,6 +2,13 @@ # https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 %global _python_bytecompile_extra 1 +# Fancy build status, so we at least know, where we are.. +# %1 where +# %2 what +%global build_target() \ + export NINJA_STATUS="[%2:%f/%t] " ; \ + ../depot_tools/ninja -C '%1' -vvv '%2' + # This is faster when it works, but it doesn't always. %ifarch aarch64 %global use_jumbo 0 @@ -28,9 +35,9 @@ %global useapikeys 1 # Leave this alone, please. -%global target out/Release -%global headlesstarget out/Headless -%global remotingtarget out/Remoting +%global builddir out/Release +%global headlessbuilddir out/Headless +%global remotingbuilddir out/Remoting # Debuginfo packages aren't very useful here. If you need to debug # you should do a proper debug build (not implemented in this spec yet) @@ -1403,17 +1410,17 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ fi tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{target} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} # do not need to do headless gen %else %if %{build_headless} -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlesstarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir} %endif %endif -%{target}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingtarget} +%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} %if %{bundlelibusbx} # no hackity hack hack @@ -1433,34 +1440,36 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif -echo +echo # Now do the full browser %if 0%{freeworld} -../depot_tools/ninja -C %{target} -vvv media +%build_target %{builddir} media %else %if %{build_headless} -# Do headless first. -../depot_tools/ninja -C %{headlesstarget} -vvv headless_shell +# Do headless first. +%build_target %{headlessbuilddir} headless_shell %endif -../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver clear_key_cdm policy_templates +%build_target %{builddir} chrome +%build_target %{builddir} chrome_sandbox +%build_target %{builddir} chromedriver +%build_target %{builddir} clear_key_cdm +%build_target %{builddir} policy_templates # remote client -pushd remoting - -# ../../depot_tools/ninja -C ../%{target} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources -../../depot_tools/ninja -C ../%{remotingtarget} -vvv remoting_all +# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources +%build_target %{remotingbuilddir} remoting_all %if 0%{?build_remoting_app} %if 0%{?nacl} -GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} ../../depot_tools/ninja -vv -C ../out/Release/ remoting_webapp +export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} +%build_target %{builddir} remoting_webapp %endif %endif -popd %endif # Nuke nacl/pnacl bits at the end of the build -rm -rf out/Release/gen/sdk +rm -rf %{builddir}/gen/sdk rm -rf native_client/toolchain rm -rf third_party/llvm-build/* @@ -1470,7 +1479,7 @@ rm -rf %{buildroot} %if 0%{freeworld} mkdir -p %{buildroot}%{chromium_path} -pushd %{target} +pushd %{builddir} cp -a libffmpeg.so* %{buildroot}%{chromium_path} cp -a libmedia.so* %{buildroot}%{chromium_path} mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} @@ -1499,7 +1508,7 @@ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromiu ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} mkdir -p %{buildroot}%{_mandir}/man1/ -pushd %{target} +pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} %if 0%{?nacl} cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} @@ -1550,7 +1559,7 @@ popd %endif popd -pushd %{remotingtarget} +pushd %{remotingbuilddir} # See remoting/host/installer/linux/Makefile for logic cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host @@ -1593,7 +1602,7 @@ cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} %endif %if %{build_headless} -pushd %{headlesstarget} +pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} popd %endif From 78050fc457fd3214d2d039f403eaa7860b19e698 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:08:54 +0200 Subject: [PATCH 126/171] Fix the aarch64 build --- chromium-77.0.3865.75-missing-limits.patch | 28 ++++++++++++++++++++++ chromium.spec | 3 +++ 2 files changed, 31 insertions(+) create mode 100644 chromium-77.0.3865.75-missing-limits.patch diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch new file mode 100644 index 0000000..3ac1770 --- /dev/null +++ b/chromium-77.0.3865.75-missing-limits.patch @@ -0,0 +1,28 @@ +From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 +From: Dave Tapuska +Date: Mon, 12 Aug 2019 22:30:13 +0000 +Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. + +Some configurations fail to build, limits should have been included. + +BUG=992832 + +Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 +Commit-Queue: Dave Tapuska +Reviewed-by: Mostyn Bramley-Moore +Cr-Commit-Position: refs/heads/master@{#686214} +--- + +diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc +index 384566a..68d83e1 100644 +--- a/third_party/blink/renderer/platform/exported/web_time_range.cc ++++ b/third_party/blink/renderer/platform/exported/web_time_range.cc +@@ -31,6 +31,7 @@ + #include "third_party/blink/public/platform/web_time_range.h" + + #include ++#include + + namespace blink { + diff --git a/chromium.spec b/chromium.spec index 760805e..799b55b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,8 @@ Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +# https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 +Patch70: chromium-77.0.3865.75-missing-limits.patch # Apply these changes to work around EPEL7 compiler issues Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch @@ -853,6 +855,7 @@ udev. %patch67 -p1 -b .base-gcc-no-alignas %patch68 -p1 -b .harfbuzz-subset %patch69 -p1 -b .gcc-abstract-class +%patch70 -p1 -b .missing-limits # EPEL specific patches %if 0%{?rhel} == 7 From 91e065368c471af52d51eabc4bb1cecf43d1aa7c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 08:11:22 +0200 Subject: [PATCH 127/171] 22x22 icon was removed and use the symbolic one as well --- chromium.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 799b55b..d2436e2 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1634,8 +1634,8 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/22x22/apps -cp -a chrome/app/theme/chromium/product_logo_22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/%{chromium_browser_channel}.png +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From dd3c28c89ec41f3999f065bab972221f5316b87a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:21:14 +0200 Subject: [PATCH 128/171] Update the list of private libraries --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index d2436e2..496b922 100644 --- a/chromium.spec +++ b/chromium.spec @@ -52,7 +52,7 @@ %global crd_path %{_libdir}/chrome-remote-desktop # We don't want any libs in these directories to generate Provides -# Requires is trickier. +# Requires is trickier. # To generate this list, go into %%{buildroot}%%{chromium_path} and run # for i in `find . -name "*.so"`; do NAME=`basename -s .so $i`; printf "$NAME|"; done @@ -61,9 +61,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido|libfontconfig %else -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido %endif %global __requires_exclude ^(%{privlibs})\\.so* From de3e9b33bbe4855083c5bb26f7e779b7fda87d8b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:23:29 +0200 Subject: [PATCH 129/171] Update the list of private libraries --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 496b922..38911e2 100644 --- a/chromium.spec +++ b/chromium.spec @@ -179,7 +179,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 +- Update the list of private libraries + * Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 - Update to 77.0.3865.75 From 7b0eb5189f249fbbbbdb3898b9b2d6f82193597a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:21:14 +0200 Subject: [PATCH 130/171] Update the list of private libraries --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 07dc939..29a98c0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -52,7 +52,7 @@ %global crd_path %{_libdir}/chrome-remote-desktop # We don't want any libs in these directories to generate Provides -# Requires is trickier. +# Requires is trickier. # To generate this list, go into %%{buildroot}%%{chromium_path} and run # for i in `find . -name "*.so"`; do NAME=`basename -s .so $i`; printf "$NAME|"; done @@ -61,9 +61,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido|libfontconfig %else -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido %endif %global __requires_exclude ^(%{privlibs})\\.so* From d8c8b864697a920d705fe5ff2336dd234582b1fc Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:23:29 +0200 Subject: [PATCH 131/171] Update the list of private libraries --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 29a98c0..8df9fa0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -179,7 +179,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 +- Update the list of private libraries + * Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 - Update to 77.0.3865.75 From 8f89cb9012b72ef618828a06e3fd2cff52812c75 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:21:14 +0200 Subject: [PATCH 132/171] Update the list of private libraries --- chromium.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index d2436e2..496b922 100644 --- a/chromium.spec +++ b/chromium.spec @@ -52,7 +52,7 @@ %global crd_path %{_libdir}/chrome-remote-desktop # We don't want any libs in these directories to generate Provides -# Requires is trickier. +# Requires is trickier. # To generate this list, go into %%{buildroot}%%{chromium_path} and run # for i in `find . -name "*.so"`; do NAME=`basename -s .so $i`; printf "$NAME|"; done @@ -61,9 +61,9 @@ %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so|%{chromium_path}/lib/.*\\.so.* %if 0%{?rhel} == 7 -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia|libfontconfig +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido|libfontconfig %else -%global privlibs libevents_devices_x11|libgfx_x11|libevents_x|libgl_wrapper|libmemory_instrumentation|libdevice_vr_mojo_bindings|libdiscardable_memory_common|libui_base_ime_init|libnetwork_cpp_base|libos_crypt|libmessage_center|libmanager|libdevice_gamepad|libembedder|libGLESv2|libtracing|libskia|libgl_in_process_context|libapdu|libbluetooth|libviz_resource_format_utils|libmojo_mojom_bindings|libblink_platform|libmojom_modules_shared|libwebdata_common|libshell_dialogs|libresource_coordinator_public_mojom_blink|libgles2_utils|libgpu_ipc_service|libcaptive_portal|libvr_common|libgles2|libdisplay|libgfx_ipc_geometry|libcc_paint|libandroid_mojo_bindings_shared|libipc_mojom_shared|libffmpeg|liburl_matcher|libbindings|libservice|libwtf|libcommon|libleveldatabase|libnetwork_session_configurator|libaura|libcloud_policy_proto_generated_compile|libservice_manager_mojom_constants|libui_touch_selection|libmojo_base_lib|libservice_manager_cpp_types|libservice_manager_mojom_blink|libmojo_core_embedder|libblink_embedded_frame_sink_mojo_bindings_shared|libgesture_detection|liburl_ipc|libweb_feature_mojo_bindings_mojom|libscheduling_metrics|libresource_coordinator_cpp_features|libcc|libdiscardable_memory_client|libsessions|libblink_common|libipc|libvulkan_init|libblink_mojom_broadcastchannel_bindings_shared|libheadless_non_renderer|libcbor|libmojo_core_embedder_internal|libmojo_public_system_cpp|libmojom_core_shared|libgfx|libusb_shared|libtracing_mojom|libuser_manager|libnet|libwebgpu|libplatform_window_handler_libs|libmojo_base_mojom_shared|libui_base|libprinting|libcontent_service_mojom_shared|libstartup_tracing|libdevice_vr_mojo_bindings_blink|libraster|libsandbox|libv8_libbase|libevents|libui_base_idle|libgles2_implementation|libkeyed_service_content|libprefs|libVkLayer_core_validation|libchrome_features|libdiscardable_memory_service|libcapture_lib|libperfetto|libicui18n|libdomain_reliability|libweb_dialogs|libcc_animation|libbase|libtracing_cpp|libGLESv2|libEGL|libVkLayer_thread_safety|libmedia_gpu|libparsers|libservice_manager_cpp|liblearning_common|libdevices|libvulkan_wrapper|libservice_manager_mojom_shared|libgfx_switches|libkeycodes_x11|libweb_feature_mojo_bindings_mojom_shared|liburl|libmpris|libppapi_proxy|libmojo_base_mojom|libprotobuf_lite|libui_base_features|libdevice_vr|libwm_public|libcolor_space|libseccomp_bpf|libinterfaces_shared|libui_base_x|libicuuc|libwebview|libdevice_event_log|libVkLayer_object_lifetimes|libvulkan_x11|libproxy_config|libnetwork_cpp|libextras|libVkICD_mock_icd|libv8_libplatform|libresource_coordinator_public_mojom|libwm|libviews|libsuid_sandbox_client|libEGL|libcapture_base|libnative_theme|libcrcrypto|libmojo_public_system|libservice_manager_mojom_constants_shared|libui_accessibility_ax_mojom_blink|libplatform|libui_data_pack|libgfx_ipc_buffer_types|libclearkeycdm|libmetrics_cpp|libmojo_base_shared_typemap_traits|libx11_events_platform|libcrash_key|libclient|libblink_controller|libfido|libfreetype_harfbuzz|libmojo_mojom_bindings_shared|libaccessibility|libstub_window|libui_base_ime|libpolicy_component|libweb_bluetooth_mojo_bindings_shared|libmojo_core_ports|libsandbox_services|libstorage_common|libviz_vulkan_context_provider|libcontent_common_mojo_bindings_shared|libgamepad_mojom_blink|libkeyed_service_core|libmedia_mojo_services|libmojo_ime_lib|libblink_modules|libgcm|libsql|libgeometry_skia|libVkLayer_unique_objects|libweb_feature_mojo_bindings_mojom_blink|libui_base_ime_linux|libdisplay_types|libdevice_vr_mojo_bindings_shared|libcc_base|libtracing_mojom_shared|libmedia_blink|libcc_mojo_embedder|libpdfium|libevents_ozone_layout|libgfx_ipc_color|libgtkui|libpolicy_proto|libcodec|libgpu|libcontent_service_cpp|libmojom_mhtml_load_result_shared|libdisplay_util|libcontent_service_mojom|libbase_i18n|libservice_manager_mojom_constants_blink|libcompositor|libmojo_base_mojom_blink|libui_message_center_cpp|libsnapshot|libdbus_thread_linux|libtab_count_metrics|libpublic|libui_accessibility_ax_mojom|liblearning_impl|librange|libbrowser_ui_views|libcontent|libvr_base|libppapi_host|libservice_manager_mojom_traits|libgamepad_mojom|libcertificate_matching|libgfx_ipc|libgl_init|libVkLayer_stateless_validation|libshared_with_blink|libshared_memory_support|libevents_base|libnet_with_v8|libmedia_webrtc|libsurface|libcontent_public_common_mojo_bindings_shared|libaura_extra|libdevice_base|libonc|libcdm_manager|libmojom_platform_shared|libui_accessibility_ax_mojom_shared|libhost|libblink_features|libdevice_features|libmirroring_service|libdbus|libgeometry|libchromium_sqlite3|libgamepad_mojom_shared|libauthenticator_test_mojo_bindings_shared|libboringssl|libembedder_switches|libgfx_ipc_skia|libzygote|libmedia_session_cpp|libv8|libnetwork_service|libx11_window|libui_base_clipboard|libanimation|libmessage_support|libui_devtools|libgamepad_shared_typemap_traits|libfingerprint|libviz_common|libppapi_shared|libstorage_browser|libbindings_base|libservice_manager_mojom|libblink_core|libgin|libresource_coordinator_public_mojom_shared|libuser_prefs|libui_base_ime_types|libipc_mojom|libmidi|libmojo_cpp_platform|libcc_debug|libui_base_clipboard_types|libmedia +%global privlibs libservice|libui_accessibility_ax_mojom_blink|libmojo_mojom_bindings_shared|libcolor_space|libui_base_ime_linux|libv8|libtracing_cpp|libprotobuf_lite|librange|libui_touch_selection|libgtkui|libraster|libstub_window|libmessage_center|libv8_libplatform|libtab_count_metrics|libclient|libaura|libresource_coordinator_public_mojom_shared|libbluetooth|libipc_mojom_shared|libdevice_event_log|libcc_debug|libnet_with_v8|libcc_paint|libwm_public|libnetwork_cpp_base|libservice_manager_mojom|libaura_extra|libmojo_public_system|libpdfium|libui_base_ime_init|libmpris|libcc|libservice_manager_cpp|libblink_mojom_broadcastchannel_bindings_shared|libinterfaces_shared|libservice_manager_cpp_types|libservice_manager_mojom_shared|libwm|libbase_i18n|libnetwork_session_configurator|libwebview|libplatform_window_handler_libs|libx11_events_platform|libmojo_cpp_platform|libandroid_mojo_bindings_shared|libpublic|libmirroring_service|libmedia_session_cpp|libblink_platform|libicui18n|libwebdata_common|libgin|libdevice_gamepad|libdevice_vr_mojo_bindings|libffmpeg|libmetrics_cpp|liburl_matcher|libpolicy_proto|libshared_memory_support|libparsers|libgles2_utils|libweb_feature_mojo_bindings_mojom|libui_base_idle|libmojo_public_system_cpp|libsuid_sandbox_client|libgfx_ipc_skia|libmojo_base_shared_typemap_traits|libcapture_lib|libgl_init|libblink_common|libcc_base|libmojo_base_mojom|libtracing_mojom_shared|libgpu_ipc_service|libui_accessibility_ax_mojom|libweb_feature_mojo_bindings_mojom_shared|libgfx_switches|libmedia_session_base_cpp|libmessage_support|libvulkan_init|libonc|libgpu|libmojom_modules_shared|libnative_theme|libgcm|libvr_base|libmojo_core_embedder_internal|libuser_prefs|libweb_bluetooth_mojo_bindings_shared|libos_crypt|libbrowser_ui_views|libembedder_switches|libcontent_service_mojom_shared|libsandbox|libvulkan_x11|libdevice_vr_test_mojo_bindings|libmojo_core_ports|libblink_core|libx11_window|libmojo_mojom_bindings|libipc|libmojo_base_mojom_blink|libgl_wrapper|libprinting|libgesture_detection|libdiscardable_memory_service|libmojom_core_shared|libviz_vulkan_context_provider|libpolicy_component|libdisplay|libvr_common|libdevice_vr_test_mojo_bindings_shared|libui_accessibility_ax_mojom_shared|libresource_coordinator_public_mojom|libvulkan_wrapper|libcrcrypto|libGLESv2|libv8_libbase|libcrash_key|libchrome_features|libdiscardable_memory_common|libbindings|libfreetype_harfbuzz|libcapture_base|libmojo_core_embedder|libprefs|libdevice_features|libresource_coordinator_cpp_features|libgfx_ipc_geometry|libgfx|libui_devtools|libweb_dialogs|libkeyed_service_core|libcontent|libgeometry_skia|libdisplay_util|libservice_manager_mojom_traits|libkeycodes_x11|libipc_mojom|libmojo_base_lib|libui_base_clipboard_types|libtracing_mojom|libmanager|libmedia_webrtc|libmedia_mojo_services|libcontent_public_common_mojo_bindings_shared|libgfx_ipc|libdiscardable_memory_client|libmemory_instrumentation|libui_base_ime|libskia|libgfx_ipc_color|libshell_dialogs|libEGL|libmedia_blink|libmedia_message_center|libblink_controller|libdevice_vr_mojo_bindings_shared|libmidi|libapdu|libseccomp_bpf|libboringssl|libcolor_utils|libdbus|libproxy_config|libblink_features|libmojom_platform_shared|libshared_with_blink|libui_data_pack|libevents_x|libleveldatabase|libevents_ozone_layout|libgfx_x11|libsurface|liblearning_impl|libgamepad_mojom|libcontent_service_cpp|libui_base|libzygote|libevents|libvulkan|libGLESv2|libEGL|libcertificate_matching|libusb_shared|libbindings_base|libgfx_ipc_buffer_types|libcodec|libmojom_mhtml_load_result_shared|libstorage_common|libdevice_vr|libviz_resource_format_utils|libservice_manager_mojom_blink|libgles2|libauthenticator_test_mojo_bindings_shared|libui_base_clipboard|libgamepad_mojom_shared|libdomain_reliability|libmenu|libblink_embedded_frame_sink_mojo_bindings_shared|libwebgpu|liburl_ipc|libnet|libmedia_gpu|libservice_manager_mojom_constants_shared|libaccessibility|libservice_manager_mojom_constants|libembedder|libgamepad_mojom_blink|libcc_animation|libplatform|libdevice_base|libanimation|libgamepad_shared_typemap_traits|libwtf|libthread_linux|libui_base_x|libcloud_policy_proto_generated_compile|libsql|libhost|libextras|libchromium_sqlite3|libnetwork_cpp|libmojo_base_mojom_shared|libgeometry|libppapi_proxy|libweb_feature_mojo_bindings_mojom_blink|libcontent_common_mojo_bindings_shared|libVkICD_mock_icd|libdevice_vr_mojo_bindings_blink|libservice_manager_mojom_constants_blink|libevents_base|liburl|libresource_coordinator_public_mojom_blink|libppapi_host|libppapi_shared|libmedia|libtracing|libsandbox_services|libcontent_service_mojom|libevents_devices_x11|libcompositor|libfingerprint|libuser_manager|libstorage_browser|libbase|libkeyed_service_content|libviews|libcaptive_portal|libcbor|libviz_common|libcc_mojo_embedder|libheadless_non_renderer|libui_base_features|libsnapshot|libcommon|libnetwork_service|liblearning_common|libblink_modules|libscheduling_metrics|libperfetto|libgles2_implementation|libsessions|libdevices|libstartup_tracing|libdisplay_types|libgl_in_process_context|libui_base_ime_types|libui_message_center_cpp|libclearkeycdm|libicuuc|libfido %endif %global __requires_exclude ^(%{privlibs})\\.so* From 33d340b63aeeede9ceb7a646d3d4d06faae0178a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 16 Sep 2019 14:23:29 +0200 Subject: [PATCH 133/171] Update the list of private libraries --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 496b922..38911e2 100644 --- a/chromium.spec +++ b/chromium.spec @@ -179,7 +179,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.75 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 +- Update the list of private libraries + * Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 - Update to 77.0.3865.75 From 10a2ce3a34eeaa2c0a4286cd682bd448e0f0c727 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 06:35:01 +0200 Subject: [PATCH 134/171] Update the el7 noexcept patch and fix the el7 build --- chromium-76.0.3809.100-el7-noexcept.patch | 129 ------------------ chromium-77.0.3865.75-el7-noexcept.patch | 153 ++++++++++++++++++++++ chromium.spec | 2 +- 3 files changed, 154 insertions(+), 130 deletions(-) delete mode 100644 chromium-76.0.3809.100-el7-noexcept.patch create mode 100644 chromium-77.0.3865.75-el7-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch deleted file mode 100644 index 407f8de..0000000 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc ---- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 -@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& - Swap(&other); - } - --QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { -+QueryResults& QueryResults::operator=(QueryResults&& other) { - Swap(&other); - return *this; - } -@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR - - QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; - --QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; -+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; - - // MostVisitedURL -------------------------------------------------------------- - -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h ---- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 -@@ -143,7 +143,7 @@ class QueryResults { - ~QueryResults(); - - QueryResults(QueryResults&& other) noexcept; -- QueryResults& operator=(QueryResults&& other) noexcept; -+ QueryResults& operator=(QueryResults&& other); - - void set_reached_beginning(bool reached) { reached_beginning_ = reached; } - bool reached_beginning() { return reached_beginning_; } -@@ -278,7 +278,7 @@ struct QueryURLResult { - QueryURLResult(const QueryURLResult&); - QueryURLResult(QueryURLResult&&) noexcept; - QueryURLResult& operator=(const QueryURLResult&); -- QueryURLResult& operator=(QueryURLResult&&) noexcept; -+ QueryURLResult& operator=(QueryURLResult&&); - ~QueryURLResult(); - - // Indicates whether the call to HistoryBackend::QueryURL was successfull -diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 -@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 -@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 -@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; - - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 -@@ -19,7 +19,7 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ CoreAccountId& operator=(CoreAccountId&&); - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing -diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 -@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch new file mode 100644 index 0000000..59b6fa9 --- /dev/null +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -0,0 +1,153 @@ +diff -up chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc +--- chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-09-17 18:42:37.137393137 +0200 ++++ chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc 2019-09-17 18:42:37.145393201 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.cc +--- chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept 2019-09-17 18:42:09.417172829 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.cc 2019-09-17 18:42:09.385172574 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.h +--- chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept 2019-09-17 18:42:09.437172988 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.h 2019-09-17 18:42:09.365172415 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc +--- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 ++++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 +@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + const TextField&) = default; + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( +- TextField&&) noexcept = default; ++ TextField&&) = default; + + // static + bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, +diff -up chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-77.0.3865.75/components/policy/core/common/policy_map.cc +--- chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-09-17 18:42:14.622214197 +0200 ++++ chromium-77.0.3865.75/components/policy/core/common/policy_map.cc 2019-09-17 18:42:14.556213673 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc +--- chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2019-09-17 21:06:27.037828110 +0200 ++++ chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc 2019-09-17 21:07:20.726472932 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-09-17 18:43:12.969677930 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc 2019-09-17 18:43:12.989678089 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.h +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept 2019-09-17 18:43:12.978678001 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.h 2019-09-17 18:43:12.983678041 +0200 +@@ -20,7 +20,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept chromium-77.0.3865.75/gpu/config/gpu_info.cc +--- chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept 2019-09-17 18:42:25.049297073 +0200 ++++ chromium-77.0.3865.75/gpu/config/gpu_info.cc 2019-09-17 18:42:25.049297073 +0200 +@@ -170,7 +170,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), +diff -up chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h +--- chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2019-09-17 21:46:46.378655525 +0200 ++++ chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h 2019-09-17 21:47:16.897035418 +0200 +@@ -21,7 +21,7 @@ struct ServiceInfo { + ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; + ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; + +- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; ++ ServiceInfo& operator=(ServiceInfo&&) = default; + ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; + + bool operator==(const ServiceInfo& other) const; diff --git a/chromium.spec b/chromium.spec index 38911e2..2b39cea 100644 --- a/chromium.spec +++ b/chromium.spec @@ -296,7 +296,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-76.0.3809.100-el7-noexcept.patch +Patch102: chromium-77.0.3865.75-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: From c8786bde9b73d933dab3ea7f6c581461882d9c45 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 08:05:03 +0200 Subject: [PATCH 135/171] Forget to generate diff for one affected el7-noexcept file --- chromium-77.0.3865.75-el7-noexcept.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch index 59b6fa9..366c139 100644 --- a/chromium-77.0.3865.75-el7-noexcept.patch +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -58,6 +58,18 @@ diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.e ~QueryURLResult(); // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/url_row.cc +--- chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept 2019-09-18 08:03:25.458138423 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/url_row.cc 2019-09-18 08:03:34.363234155 +0200 +@@ -26,7 +26,7 @@ URLRow::~URLRow() { + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) noexcept = default; ++URLRow& URLRow::operator=(URLRow&& other) = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc --- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 +++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 From 2a431ec174c08be608abec360a4fb191aa9464e4 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 19 Sep 2019 07:58:49 +0200 Subject: [PATCH 136/171] Update to 77.0.3865.90 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 2b39cea..6b2691a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -178,8 +178,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.90 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 +- Update to 77.0.3865.90 + * Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 - Update the list of private libraries diff --git a/sources b/sources index b9b0498..13e91e7 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 +SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 From 65bf37589cce82019ca9f09951e2dcc54da36b6a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 06:35:01 +0200 Subject: [PATCH 137/171] Update the el7 noexcept patch and fix the el7 build --- chromium-76.0.3809.100-el7-noexcept.patch | 129 ------------------ chromium-77.0.3865.75-el7-noexcept.patch | 153 ++++++++++++++++++++++ chromium.spec | 2 +- 3 files changed, 154 insertions(+), 130 deletions(-) delete mode 100644 chromium-76.0.3809.100-el7-noexcept.patch create mode 100644 chromium-77.0.3865.75-el7-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch deleted file mode 100644 index 407f8de..0000000 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc ---- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 -@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& - Swap(&other); - } - --QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { -+QueryResults& QueryResults::operator=(QueryResults&& other) { - Swap(&other); - return *this; - } -@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR - - QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; - --QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; -+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; - - // MostVisitedURL -------------------------------------------------------------- - -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h ---- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 -@@ -143,7 +143,7 @@ class QueryResults { - ~QueryResults(); - - QueryResults(QueryResults&& other) noexcept; -- QueryResults& operator=(QueryResults&& other) noexcept; -+ QueryResults& operator=(QueryResults&& other); - - void set_reached_beginning(bool reached) { reached_beginning_ = reached; } - bool reached_beginning() { return reached_beginning_; } -@@ -278,7 +278,7 @@ struct QueryURLResult { - QueryURLResult(const QueryURLResult&); - QueryURLResult(QueryURLResult&&) noexcept; - QueryURLResult& operator=(const QueryURLResult&); -- QueryURLResult& operator=(QueryURLResult&&) noexcept; -+ QueryURLResult& operator=(QueryURLResult&&); - ~QueryURLResult(); - - // Indicates whether the call to HistoryBackend::QueryURL was successfull -diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 -@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 -@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 -@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; - - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 -@@ -19,7 +19,7 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ CoreAccountId& operator=(CoreAccountId&&); - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing -diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 -@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch new file mode 100644 index 0000000..59b6fa9 --- /dev/null +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -0,0 +1,153 @@ +diff -up chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc +--- chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-09-17 18:42:37.137393137 +0200 ++++ chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc 2019-09-17 18:42:37.145393201 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.cc +--- chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept 2019-09-17 18:42:09.417172829 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.cc 2019-09-17 18:42:09.385172574 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.h +--- chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept 2019-09-17 18:42:09.437172988 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.h 2019-09-17 18:42:09.365172415 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc +--- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 ++++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 +@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + const TextField&) = default; + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( +- TextField&&) noexcept = default; ++ TextField&&) = default; + + // static + bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, +diff -up chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-77.0.3865.75/components/policy/core/common/policy_map.cc +--- chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-09-17 18:42:14.622214197 +0200 ++++ chromium-77.0.3865.75/components/policy/core/common/policy_map.cc 2019-09-17 18:42:14.556213673 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc +--- chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2019-09-17 21:06:27.037828110 +0200 ++++ chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc 2019-09-17 21:07:20.726472932 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-09-17 18:43:12.969677930 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc 2019-09-17 18:43:12.989678089 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.h +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept 2019-09-17 18:43:12.978678001 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.h 2019-09-17 18:43:12.983678041 +0200 +@@ -20,7 +20,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept chromium-77.0.3865.75/gpu/config/gpu_info.cc +--- chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept 2019-09-17 18:42:25.049297073 +0200 ++++ chromium-77.0.3865.75/gpu/config/gpu_info.cc 2019-09-17 18:42:25.049297073 +0200 +@@ -170,7 +170,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), +diff -up chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h +--- chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2019-09-17 21:46:46.378655525 +0200 ++++ chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h 2019-09-17 21:47:16.897035418 +0200 +@@ -21,7 +21,7 @@ struct ServiceInfo { + ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; + ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; + +- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; ++ ServiceInfo& operator=(ServiceInfo&&) = default; + ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; + + bool operator==(const ServiceInfo& other) const; diff --git a/chromium.spec b/chromium.spec index 8df9fa0..1c05a5b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -296,7 +296,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-76.0.3809.100-el7-noexcept.patch +Patch102: chromium-77.0.3865.75-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: From 8564a8c0249dfd591b07c9414454f817c61af1ab Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 08:05:03 +0200 Subject: [PATCH 138/171] Forget to generate diff for one affected el7-noexcept file --- chromium-77.0.3865.75-el7-noexcept.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch index 59b6fa9..366c139 100644 --- a/chromium-77.0.3865.75-el7-noexcept.patch +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -58,6 +58,18 @@ diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.e ~QueryURLResult(); // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/url_row.cc +--- chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept 2019-09-18 08:03:25.458138423 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/url_row.cc 2019-09-18 08:03:34.363234155 +0200 +@@ -26,7 +26,7 @@ URLRow::~URLRow() { + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) noexcept = default; ++URLRow& URLRow::operator=(URLRow&& other) = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc --- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 +++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 From d30cc0e5c57bc0e11e6af60e0d278ab72f83f6eb Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 19 Sep 2019 07:58:49 +0200 Subject: [PATCH 139/171] Update to 77.0.3865.90 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 1c05a5b..883277c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -178,8 +178,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.90 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 +- Update to 77.0.3865.90 + * Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 - Update the list of private libraries diff --git a/sources b/sources index b9b0498..13e91e7 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 +SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 From 7b637c4471031d1d30a2204758e1e820f8dfebce Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 06:35:01 +0200 Subject: [PATCH 140/171] Update the el7 noexcept patch and fix the el7 build --- chromium-76.0.3809.100-el7-noexcept.patch | 129 ------------------ chromium-77.0.3865.75-el7-noexcept.patch | 153 ++++++++++++++++++++++ chromium.spec | 2 +- 3 files changed, 154 insertions(+), 130 deletions(-) delete mode 100644 chromium-76.0.3809.100-el7-noexcept.patch create mode 100644 chromium-77.0.3865.75-el7-noexcept.patch diff --git a/chromium-76.0.3809.100-el7-noexcept.patch b/chromium-76.0.3809.100-el7-noexcept.patch deleted file mode 100644 index 407f8de..0000000 --- a/chromium-76.0.3809.100-el7-noexcept.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff -up chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc ---- chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-08-23 13:41:04.842597850 +0200 -+++ chromium-76.0.3809.100/chrome/common/media_router/media_sink.cc 2019-08-23 13:41:04.842597850 +0200 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.cc ---- chromium-76.0.3809.100/components/history/core/browser/history_types.cc.el7-noexcept 2019-08-23 13:45:57.673815531 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.cc 2019-08-26 10:13:00.815409764 +0200 -@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& - Swap(&other); - } - --QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { -+QueryResults& QueryResults::operator=(QueryResults&& other) { - Swap(&other); - return *this; - } -@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR - - QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; - --QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; -+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; - - // MostVisitedURL -------------------------------------------------------------- - -diff -up chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept chromium-76.0.3809.100/components/history/core/browser/history_types.h ---- chromium-76.0.3809.100/components/history/core/browser/history_types.h.el7-noexcept 2019-08-23 13:46:11.455966965 +0200 -+++ chromium-76.0.3809.100/components/history/core/browser/history_types.h 2019-08-26 10:13:49.951881558 +0200 -@@ -143,7 +143,7 @@ class QueryResults { - ~QueryResults(); - - QueryResults(QueryResults&& other) noexcept; -- QueryResults& operator=(QueryResults&& other) noexcept; -+ QueryResults& operator=(QueryResults&& other); - - void set_reached_beginning(bool reached) { reached_beginning_ = reached; } - bool reached_beginning() { return reached_beginning_; } -@@ -278,7 +278,7 @@ struct QueryURLResult { - QueryURLResult(const QueryURLResult&); - QueryURLResult(QueryURLResult&&) noexcept; - QueryURLResult& operator=(const QueryURLResult&); -- QueryURLResult& operator=(QueryURLResult&&) noexcept; -+ QueryURLResult& operator=(QueryURLResult&&); - ~QueryURLResult(); - - // Indicates whether the call to HistoryBackend::QueryURL was successfull -diff -up chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept chromium-76.0.3809.100/components/policy/core/common/policy_map.cc ---- chromium-76.0.3809.100/components/policy/core/common/policy_map.cc.el7-noexcept 2019-08-23 13:40:42.633353810 +0200 -+++ chromium-76.0.3809.100/components/policy/core/common/policy_map.cc 2019-08-23 13:40:42.576353183 +0200 -@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept chromium-76.0.3809.100/components/signin/core/browser/account_info.cc ---- chromium-76.0.3809.100/components/signin/core/browser/account_info.cc.el7-noexcept 2019-08-23 13:40:44.224371292 +0200 -+++ chromium-76.0.3809.100/components/signin/core/browser/account_info.cc 2019-08-23 13:40:44.190370918 +0200 -@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.cc 2019-08-23 13:40:25.481165338 +0200 -@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; - - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - -diff -up chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept chromium-76.0.3809.100/google_apis/gaia/core_account_id.h ---- chromium-76.0.3809.100/google_apis/gaia/core_account_id.h.el7-noexcept 2019-08-23 13:40:25.468165195 +0200 -+++ chromium-76.0.3809.100/google_apis/gaia/core_account_id.h 2019-08-23 13:40:25.481165338 +0200 -@@ -19,7 +19,7 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ CoreAccountId& operator=(CoreAccountId&&); - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing -diff -up chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept chromium-76.0.3809.100/gpu/config/gpu_info.cc ---- chromium-76.0.3809.100/gpu/config/gpu_info.cc.el7-noexcept 2019-08-09 16:48:01.000000000 +0200 -+++ chromium-76.0.3809.100/gpu/config/gpu_info.cc 2019-08-23 13:40:25.482165349 +0200 -@@ -166,7 +166,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch new file mode 100644 index 0000000..59b6fa9 --- /dev/null +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -0,0 +1,153 @@ +diff -up chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc +--- chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-09-17 18:42:37.137393137 +0200 ++++ chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc 2019-09-17 18:42:37.145393201 +0200 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.cc +--- chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept 2019-09-17 18:42:09.417172829 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.cc 2019-09-17 18:42:09.385172574 +0200 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + +diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.h +--- chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept 2019-09-17 18:42:09.437172988 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/history_types.h 2019-09-17 18:42:09.365172415 +0200 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc +--- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 ++++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 +@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + const TextField&) = default; + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( +- TextField&&) noexcept = default; ++ TextField&&) = default; + + // static + bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, +diff -up chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-77.0.3865.75/components/policy/core/common/policy_map.cc +--- chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-09-17 18:42:14.622214197 +0200 ++++ chromium-77.0.3865.75/components/policy/core/common/policy_map.cc 2019-09-17 18:42:14.556213673 +0200 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc +--- chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2019-09-17 21:06:27.037828110 +0200 ++++ chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc 2019-09-17 21:07:20.726472932 +0200 +@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-09-17 18:43:12.969677930 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc 2019-09-17 18:43:12.989678089 +0200 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.h +--- chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept 2019-09-17 18:43:12.978678001 +0200 ++++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.h 2019-09-17 18:43:12.983678041 +0200 +@@ -20,7 +20,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept chromium-77.0.3865.75/gpu/config/gpu_info.cc +--- chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept 2019-09-17 18:42:25.049297073 +0200 ++++ chromium-77.0.3865.75/gpu/config/gpu_info.cc 2019-09-17 18:42:25.049297073 +0200 +@@ -170,7 +170,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), +diff -up chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h +--- chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2019-09-17 21:46:46.378655525 +0200 ++++ chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h 2019-09-17 21:47:16.897035418 +0200 +@@ -21,7 +21,7 @@ struct ServiceInfo { + ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; + ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; + +- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; ++ ServiceInfo& operator=(ServiceInfo&&) = default; + ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; + + bool operator==(const ServiceInfo& other) const; diff --git a/chromium.spec b/chromium.spec index 38911e2..2b39cea 100644 --- a/chromium.spec +++ b/chromium.spec @@ -296,7 +296,7 @@ Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-76.0.3809.100-el7-noexcept.patch +Patch102: chromium-77.0.3865.75-el7-noexcept.patch # In file included from ../linux/directory.c:21: # In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: From 2aa7959287a7aaf9cd5dd371c01fe46e93b35d4e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 18 Sep 2019 08:05:03 +0200 Subject: [PATCH 141/171] Forget to generate diff for one affected el7-noexcept file --- chromium-77.0.3865.75-el7-noexcept.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch index 59b6fa9..366c139 100644 --- a/chromium-77.0.3865.75-el7-noexcept.patch +++ b/chromium-77.0.3865.75-el7-noexcept.patch @@ -58,6 +58,18 @@ diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.e ~QueryURLResult(); // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/url_row.cc +--- chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept 2019-09-18 08:03:25.458138423 +0200 ++++ chromium-77.0.3865.75/components/history/core/browser/url_row.cc 2019-09-18 08:03:34.363234155 +0200 +@@ -26,7 +26,7 @@ URLRow::~URLRow() { + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) noexcept = default; ++URLRow& URLRow::operator=(URLRow&& other) = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc --- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 +++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 From 67cc152547bab79180a8595720d72dd9ef7ccfbe Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 19 Sep 2019 07:58:49 +0200 Subject: [PATCH 142/171] Update to 77.0.3865.90 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index 2b39cea..6b2691a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -178,8 +178,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.75 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.90 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1891,6 +1891,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 +- Update to 77.0.3865.90 + * Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 - Update the list of private libraries diff --git a/sources b/sources index b9b0498..13e91e7 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.75-clean.tar.xz) = ca7a71586a60abeacb70b9d08ba9a28455d875bfa5232070fdff079e52395924b80f05d7627e3a5d5c7a3df606a39a31e05634683a052c9efb634ed536afc092 +SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 From 47afdc42ed500067d2e4cc5b3df8295c0e08eac6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 13:36:44 +0200 Subject: [PATCH 143/171] Don't try to revert a previously removed patch --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 6b2691a..38d8c20 100644 --- a/chromium.spec +++ b/chromium.spec @@ -862,8 +862,6 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -# Revert patch58 because it's breaking the build on el7 -%patch58 -R -p1 %endif # Feature specific patches From 51e320816fc4959c841fc78bb7ef205c79024064 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:37:33 +0200 Subject: [PATCH 144/171] Remove support for (p)NaCL We don't build it for quite some time and will by killed by Google in Spring 2020. Let's drop the support for it from the SPEC file. We can revert this patch if needed. --- ...526.80-nacl-ignore-broken-fd-counter.patch | 27 --- ...m-47.0.2526.80-pnacl-fgnu-inline-asm.patch | 11 -- chromium.spec | 187 ------------------ 3 files changed, 225 deletions(-) delete mode 100644 chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch delete mode 100644 chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch diff --git a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch b/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch deleted file mode 100644 index c422957..0000000 --- a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc ---- chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count 2015-12-15 14:48:07.119011866 -0500 -+++ chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc 2015-12-15 14:48:14.151850055 -0500 -@@ -153,6 +153,14 @@ void NaClSandbox::InitializeLayerOneSand - } - - void NaClSandbox::CheckForExpectedNumberOfOpenFds() { -+ // Whatever logic this code is using is wrong more often than it is right. -+ // If you set expected_num_fds to 6, it finds 7. -+ // If you set expected_num_fds to 7, it finds 6. -+ // Code like this makes a packager drink. And not the good stuff either. -+ // Instead, we're just going to smile and tell it to never care about the -+ // number of FDs open. Stupid code. We hates it. -+ -+#if 0 - // We expect to have the following FDs open: - // 1-3) stdin, stdout, stderr. - // 4) The /dev/urandom FD used by base::GetUrandomFD(). -@@ -171,6 +179,8 @@ void NaClSandbox::CheckForExpectedNumber - } - - CHECK_EQ(expected_num_fds, sandbox::ProcUtil::CountOpenFds(proc_fd_.get())); -+#endif -+ - } - - void NaClSandbox::InitializeLayerTwoSandbox(bool uses_nonsfi_mode) { diff --git a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch b/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch deleted file mode 100644 index bfe0422..0000000 --- a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme chromium-47.0.2526.80/native_client/build/untrusted.gypi ---- chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme 2015-12-09 11:54:27.584962337 -0500 -+++ chromium-47.0.2526.80/native_client/build/untrusted.gypi 2015-12-09 11:54:45.033571750 -0500 -@@ -1564,6 +1564,7 @@ - '-Wno-char-subscripts', - '-Wno-unused-function', - '-std=gnu++11', -+ '-fgnu-inline-asm', - ], - 'native_irt_compile_flags': [ - # IRT compile/link flags to make the binary smaller. diff --git a/chromium.spec b/chromium.spec index 38d8c20..7fe074d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -70,32 +70,11 @@ # If we build with shared on, then chrome-remote-desktop depends on chromium libs. # If we build with shared off, then users cannot swap out libffmpeg (and i686 gets a lot harder to build) %global shared 1 -# We should not need to turn this on. The app in the webstore _should_ work. -%global build_remoting_app 0 # AddressSanitizer mode # https://www.chromium.org/developers/testing/addresssanitizer %global asan 0 -# nacl/pnacl are soon to be dead. We're just killing them off early. -%global killnacl 1 - -%if 0%{?killnacl} - %global nacl 0 - %global nonacl 1 -%else -# TODO: Try arm (nacl disabled) -%if 0%{?fedora} - %ifarch i686 - %global nacl 0 - %global nonacl 1 - %else - %global nacl 1 - %global nonacl 0 - %endif -%endif -%endif - %if 0 # Chromium's fork of ICU is now something we can't unbundle. # This is left here to ease the change if that ever switches. @@ -298,16 +277,6 @@ Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-77.0.3865.75-el7-noexcept.patch -# In file included from ../linux/directory.c:21: -# In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: -# ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled -# __asm__ __volatile__("mov %%gs, %0" : "=r"(gs)); -# ^ -# 1 error generated. -Patch200: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch -# Ignore broken nacl open fd counter -Patch201: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch - # Enable VAAPI support on Linux # NOTE: This patch will never land upstream Patch202: enable-vaapi.patch @@ -415,24 +384,6 @@ BuildRequires: libappstream-glib # gn needs these BuildRequires: libstdc++-static BuildRequires: libstdc++-devel, openssl-devel -%if 0%{?nacl} -BuildRequires: nacl-gcc, nacl-binutils, nacl-newlib -BuildRequires: nacl-arm-gcc, nacl-arm-binutils, nacl-arm-newlib -# pNaCl needs this monster -# It's possible that someday this dep will stabilize, but -# right now, it needs to be updated everytime chromium bumps -# a major version. -BuildRequires: chromium-native_client >= 52.0.2743.82 -BuildRequires: clang -BuildRequires: llvm -%ifarch x86_64 -# Really, this is what we want: -# BuildRequires: glibc-devel(x86-32) libgcc(x86-32) -# But, koji only offers glibc32. Maybe that's enough. -# This BR will pull in either glibc.i686 or glibc32. -BuildRequires: /lib/libc.so.6 /usr/lib/libc.so -%endif -%endif # Fedora tries to use system libs whenever it can. BuildRequires: bzip2-devel BuildRequires: dbus-glib-devel @@ -865,11 +816,6 @@ udev. %endif # Feature specific patches -%if ! 0%{?killnacl} -%patch200 -p1 -b .gnu-inline -%patch201 -p1 -b .ignore-fd-count -%endif - %if %{use_vaapi} %patch202 -p1 -b .vaapi %ifarch i686 @@ -898,101 +844,6 @@ export RANLIB="ranlib" rm -rf buildtools/third_party/libc++/BUILD.gn -%if 0%{?nacl} -# prep the nacl tree -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib -cp -a --no-preserve=context /usr/%{_arch}-nacl/* out/Release/gen/sdk/linux_x86/nacl_x86_newlib - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib -cp -a --no-preserve=context /usr/arm-nacl/* out/Release/gen/sdk/linux_x86/nacl_arm_newlib - -# Not sure if we need this or not, but better safe than sorry. -pushd out/Release/gen/sdk/linux_x86 -ln -s nacl_x86_newlib nacl_x86_newlib_raw -ln -s nacl_arm_newlib nacl_arm_newlib_raw -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -ln -s /usr/bin/x86_64-nacl-gcc gcc -ln -s /usr/bin/x86_64-nacl-gcc x86_64-nacl-gcc -ln -s /usr/bin/x86_64-nacl-g++ g++ -ln -s /usr/bin/x86_64-nacl-g++ x86_64-nacl-g++ -# ln -s /usr/bin/x86_64-nacl-ar ar -ln -s /usr/bin/x86_64-nacl-ar x86_64-nacl-ar -# ln -s /usr/bin/x86_64-nacl-as as -ln -s /usr/bin/x86_64-nacl-as x86_64-nacl-as -# ln -s /usr/bin/x86_64-nacl-ranlib ranlib -ln -s /usr/bin/x86_64-nacl-ranlib x86_64-nacl-ranlib -# Cleanups -rm addr2line -ln -s /usr/bin/x86_64-nacl-addr2line addr2line -rm c++filt -ln -s /usr/bin/x86_64-nacl-c++filt c++filt -rm gprof -ln -s /usr/bin/x86_64-nacl-gprof gprof -rm readelf -ln -s /usr/bin/x86_64-nacl-readelf readelf -rm size -ln -s /usr/bin/x86_64-nacl-size size -rm strings -ln -s /usr/bin/x86_64-nacl-strings strings -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -ln -s /usr/bin/arm-nacl-gcc gcc -ln -s /usr/bin/arm-nacl-gcc arm-nacl-gcc -ln -s /usr/bin/arm-nacl-g++ g++ -ln -s /usr/bin/arm-nacl-g++ arm-nacl-g++ -ln -s /usr/bin/arm-nacl-ar arm-nacl-ar -ln -s /usr/bin/arm-nacl-as arm-nacl-as -ln -s /usr/bin/arm-nacl-ranlib arm-nacl-ranlib -popd - -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/nacl_x86_newlib.json -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/nacl_arm_newlib.json - -pushd out/Release/gen/sdk/linux_x86/ -mkdir -p pnacl_newlib pnacl_translator -# Might be able to do symlinks here, but eh. -cp -a --no-preserve=context /usr/pnacl_newlib/* pnacl_newlib/ -cp -a --no-preserve=context /usr/pnacl_translator/* pnacl_translator/ -for i in lib/libc.a lib/libc++.a lib/libg.a lib/libm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/x86_64_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/i686_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/libpthread.a lib/libnacl.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/clang/3.7.0/lib/x86_64_bc-nacl/libpnaclmm.a lib/clang/3.7.0/lib/i686_bc-nacl/libpnaclmm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -for i in lib/clang/3.7.0/lib/le32-nacl/libpnaclmm.a lib/clang/3.7.0/lib/le32-nacl/libgcc.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -popd - -mkdir -p native_client/toolchain/.tars/linux_x86 -touch native_client/toolchain/.tars/linux_x86/pnacl_translator.json - -pushd native_client/toolchain -ln -s ../../out/Release/gen/sdk/linux_x86 linux_x86 -popd - -mkdir -p third_party/llvm-build/Release+Asserts/bin -pushd third_party/llvm-build/Release+Asserts/bin -ln -s /usr/bin/clang clang -popd -%endif - # Unpack fonts %if %{freeworld} # no font fun needed. @@ -1063,9 +914,7 @@ export CHROMIUM_CORE_GN_DEFINES CHROMIUM_BROWSER_GN_DEFINES="" CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true' -%if 0%{?nonacl} CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' -%endif %if 0%{?shared} CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' %else @@ -1227,9 +1076,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libwebm' \ 'third_party/libwebp' \ 'third_party/libyuv' \ -%if 0%{?nacl} - 'third_party/llvm-build' \ -%endif 'third_party/lss' \ 'third_party/lzma_sdk' \ %if 0 @@ -1460,19 +1306,7 @@ echo # remote client # ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources %build_target %{remotingbuilddir} remoting_all -%if 0%{?build_remoting_app} -%if 0%{?nacl} -export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} -%build_target %{builddir} remoting_webapp %endif -%endif - -%endif - -# Nuke nacl/pnacl bits at the end of the build -rm -rf %{builddir}/gen/sdk -rm -rf native_client/toolchain -rm -rf third_party/llvm-build/* %install rm -rf %{buildroot} @@ -1511,10 +1345,6 @@ mkdir -p %{buildroot}%{_mandir}/man1/ pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} -%if 0%{?nacl} -cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} -chmod -x %{buildroot}%{chromium_path}/nacl_helper_bootstrap* *.nexe -%endif # Reasonably sure we don't need this anymore. Chrome doesn't include it. %if 0 cp -a protoc pyproto %{buildroot}%{chromium_path} @@ -1596,12 +1426,6 @@ pushd %{buildroot}%{_sysconfdir}/pam.d/ ln -s system-auth chrome-remote-desktop popd -%if 0%{?build_remoting_app} -%if 0%{?nacl} -cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} -%endif -%endif - %if %{build_headless} pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} @@ -1742,12 +1566,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %ifarch x86_64 i686 aarch64 %{chromium_path}/swiftshader/ %endif -%if 0%{?nacl} -%{chromium_path}/nacl_helper* -%{chromium_path}/*.nexe -%{chromium_path}/pnacl/ -%{chromium_path}/tls_edit -%endif %dir %{chromium_path}/PepperFlash/ %if 0 %{chromium_path}/protoc @@ -1861,11 +1679,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{crd_path}/user-session %{_unitdir}/chrome-remote-desktop@.service /var/lib/chrome-remote-desktop/ -%if 0%{?build_remoting_app} -%if 0%{?nacl} -%{chromium_path}/remoting_client_plugin_newlib.* -%endif -%endif %files -n chromedriver %doc AUTHORS From 3eaa3be79d851bec300e909dcb9093bd045f3964 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:45:43 +0200 Subject: [PATCH 145/171] Fix how the arguments are passed to GN's bootstrap.py I don't know why, but previously it was failing only on aarch64. --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 7fe074d..c41439f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1256,7 +1256,7 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ exit 1 ; \ fi -tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" +tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} From 3c95810693ba39059f8b50d3d59b713c0df0fd87 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:57:18 +0200 Subject: [PATCH 146/171] Remove the unused patches or patches that are not needed anymore Also replace some patches with changes in the SPEC file. --- chromium-45.0.2454.101-linux-path-max.patch | 44 ---- ...mium-53.0.2785.92-boringssl-time-fix.patch | 11 - chromium-54.0.2840.59-jpeg-include-dir.patch | 11 - chromium-55.0.2883.75-addrfix.patch | 11 - ...m-59.0.3071.86-i686-ld-memory-tricks.patch | 12 -- ...113-libavutil-timer-include-path-fix.patch | 21 -- ...mium-62.0.3202.62-kmaxskip-constexpr.patch | 12 -- chromium-63.0.3289.84-nullfix.patch | 43 ---- chromium-64.0.3282.119-ffmpeg-stdatomic.patch | 17 -- chromium-65.0.3325.146-gcc-round-fix.patch | 12 -- chromium-65.0.3325.146-memcpy-fix.patch | 12 -- ...-declare-ConfigurationPolicyProvider.patch | 18 -- chromium-66.0.3359.117-system-clang.patch | 12 -- chromium-67.0.3396.62-gcc5.patch | 12 -- ...440.106-fix-default-on-redeclaration.patch | 30 --- ...ium-69.0.3497.81-build-sanely-please.patch | 33 --- ...0.3538.77-aarch64-arch-want-new-stat.patch | 12 -- ...m-71.0.3578.98-skia-aarch64-buildfix.patch | 21 -- chromium-72.0.3626.121-notest.patch | 11 - ...sable-fno-delete-null-pointer-checks.patch | 48 ----- chromium-75.0.3770.100-git00281713.patch | 34 --- chromium-75.0.3770.80-SIOCGSTAMP.patch | 15 -- ...5.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch | 14 -- chromium-75.0.3770.80-gcc-no-assume.patch | 21 -- chromium-75.0.3770.80-revert-daff6b.patch | 13 -- ...9.100-libusb_interrupt_event_handler.patch | 15 -- chromium-77.0.3865.75-boolfix.patch | 24 --- ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 15 -- chromium-77.0.3865.75-gcc5-r3.patch | 36 ---- chromium.spec | 198 ++++++------------ 30 files changed, 65 insertions(+), 723 deletions(-) delete mode 100644 chromium-45.0.2454.101-linux-path-max.patch delete mode 100644 chromium-53.0.2785.92-boringssl-time-fix.patch delete mode 100644 chromium-54.0.2840.59-jpeg-include-dir.patch delete mode 100644 chromium-55.0.2883.75-addrfix.patch delete mode 100644 chromium-59.0.3071.86-i686-ld-memory-tricks.patch delete mode 100644 chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch delete mode 100644 chromium-62.0.3202.62-kmaxskip-constexpr.patch delete mode 100644 chromium-63.0.3289.84-nullfix.patch delete mode 100644 chromium-64.0.3282.119-ffmpeg-stdatomic.patch delete mode 100644 chromium-65.0.3325.146-gcc-round-fix.patch delete mode 100644 chromium-65.0.3325.146-memcpy-fix.patch delete mode 100644 chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch delete mode 100644 chromium-66.0.3359.117-system-clang.patch delete mode 100644 chromium-67.0.3396.62-gcc5.patch delete mode 100644 chromium-68.0.3440.106-fix-default-on-redeclaration.patch delete mode 100644 chromium-69.0.3497.81-build-sanely-please.patch delete mode 100644 chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch delete mode 100644 chromium-71.0.3578.98-skia-aarch64-buildfix.patch delete mode 100644 chromium-72.0.3626.121-notest.patch delete mode 100644 chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch delete mode 100644 chromium-75.0.3770.100-git00281713.patch delete mode 100644 chromium-75.0.3770.80-SIOCGSTAMP.patch delete mode 100644 chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch delete mode 100644 chromium-75.0.3770.80-gcc-no-assume.patch delete mode 100644 chromium-75.0.3770.80-revert-daff6b.patch delete mode 100644 chromium-76.0.3809.100-libusb_interrupt_event_handler.patch delete mode 100644 chromium-77.0.3865.75-boolfix.patch delete mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch delete mode 100644 chromium-77.0.3865.75-gcc5-r3.patch diff --git a/chromium-45.0.2454.101-linux-path-max.patch b/chromium-45.0.2454.101-linux-path-max.patch deleted file mode 100644 index 3146349..0000000 --- a/chromium-45.0.2454.101-linux-path-max.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax 2015-10-07 11:26:11.813477839 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h 2015-10-07 11:26:40.845845054 -0400 -@@ -12,6 +12,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - namespace nacl_io { - - class Path { -diff -up chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c ---- chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax 2015-08-22 15:02:08.000000000 -0400 -+++ chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c 2015-10-07 10:58:56.172018783 -0400 -@@ -11,6 +11,10 @@ - - #include - #include -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif - #include - #include - #include -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax 2015-10-09 10:57:38.424348662 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c 2015-10-09 10:57:51.541059938 -0400 -@@ -13,6 +13,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - EXTERN_C_BEGIN - - #if defined(__native_client__) diff --git a/chromium-53.0.2785.92-boringssl-time-fix.patch b/chromium-53.0.2785.92-boringssl-time-fix.patch deleted file mode 100644 index 8d67957..0000000 --- a/chromium-53.0.2785.92-boringssl-time-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c ---- chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix 2016-09-06 15:20:06.094396255 -0400 -+++ chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c 2016-09-06 15:20:16.893187930 -0400 -@@ -56,6 +56,7 @@ - * [including the GNU Public Licence.] */ - - #include -+#include - #include - #include - diff --git a/chromium-54.0.2840.59-jpeg-include-dir.patch b/chromium-54.0.2840.59-jpeg-include-dir.patch deleted file mode 100644 index f96a56c..0000000 --- a/chromium-54.0.2840.59-jpeg-include-dir.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix chromium-54.0.2840.59/third_party/BUILD.gn ---- chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix 2016-10-17 11:45:44.995340495 -0400 -+++ chromium-54.0.2840.59/third_party/BUILD.gn 2016-10-17 11:46:35.254289872 -0400 -@@ -20,6 +20,7 @@ declare_args() { - config("system_libjpeg_config") { - libs = [ "jpeg" ] - defines = [ "USE_SYSTEM_LIBJPEG" ] -+ include_dirs = [ "/usr/include/" ] - } - - config("libjpeg_turbo_config") { diff --git a/chromium-55.0.2883.75-addrfix.patch b/chromium-55.0.2883.75-addrfix.patch deleted file mode 100644 index 00c214c..0000000 --- a/chromium-55.0.2883.75-addrfix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix chromium-55.0.2883.75/third_party/boringssl/BUILD.gn ---- chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix 2016-12-12 15:30:27.727834891 -0500 -+++ chromium-55.0.2883.75/third_party/boringssl/BUILD.gn 2016-12-12 15:30:53.095709352 -0500 -@@ -24,6 +24,7 @@ config("internal_config") { - "BORINGSSL_IMPLEMENTATION", - "BORINGSSL_NO_STATIC_INITIALIZER", - "OPENSSL_SMALL", -+ "_POSIX_C_SOURCE=200112L", - ] - configs = [ - # TODO(davidben): Fix size_t truncations in BoringSSL. diff --git a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch b/chromium-59.0.3071.86-i686-ld-memory-tricks.patch deleted file mode 100644 index 9dde4c5..0000000 --- a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn ---- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory 2017-06-07 15:37:09.436616113 -0400 -+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:38:04.508519102 -0400 -@@ -93,7 +93,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "-fno-delete-null-pointer-checks -g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true diff --git a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch b/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch deleted file mode 100644 index 7248825..0000000 --- a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h ---- chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix 2017-08-25 15:29:12.143242471 -0400 -+++ chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h 2017-08-25 15:29:36.941835865 -0400 -@@ -39,13 +39,13 @@ - #include "log.h" - - #if ARCH_AARCH64 --# include "aarch64/timer.h" -+# include "libavutil/aarch64/timer.h" - #elif ARCH_ARM --# include "arm/timer.h" -+# include "libavutil/arm/timer.h" - #elif ARCH_PPC --# include "ppc/timer.h" -+# include "libavutil/ppc/timer.h" - #elif ARCH_X86 --# include "x86/timer.h" -+# include "libavutil/x86/timer.h" - #endif - - #if !defined(AV_READ_TIME) diff --git a/chromium-62.0.3202.62-kmaxskip-constexpr.patch b/chromium-62.0.3202.62-kmaxskip-constexpr.patch deleted file mode 100644 index d4f8250..0000000 --- a/chromium-62.0.3202.62-kmaxskip-constexpr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc ---- chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip 2017-10-18 10:00:28.503714392 -0400 -+++ chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc 2017-10-18 10:00:43.153430212 -0400 -@@ -336,7 +336,7 @@ TYPES(M); - #undef TYPES - - const SkRect PaintOp::kUnsetRect = {SK_ScalarInfinity, 0, 0, 0}; --const size_t PaintOp::kMaxSkip; -+constexpr size_t PaintOp::kMaxSkip; - - std::string PaintOpTypeToString(PaintOpType type) { - switch (type) { diff --git a/chromium-63.0.3289.84-nullfix.patch b/chromium-63.0.3289.84-nullfix.patch deleted file mode 100644 index c66aff1..0000000 --- a/chromium-63.0.3289.84-nullfix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn ---- chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix 2017-12-06 15:05:21.000000000 -0500 -+++ chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn 2017-12-07 10:44:34.507207080 -0500 -@@ -31,6 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm64" -@@ -49,6 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm" -@@ -99,6 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -152,6 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -186,6 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch b/chromium-64.0.3282.119-ffmpeg-stdatomic.patch deleted file mode 100644 index 64c5f26..0000000 --- a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c ---- chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2018-01-25 11:55:57.880936815 -0500 -+++ chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c 2018-01-25 11:57:18.456787888 -0500 -@@ -18,7 +18,13 @@ - - #include - #include -+// GCC 4.8 didn't have stdatomic, but was advertising it. -+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 -+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) -+#include -+#else - #include -+#endif - - #include "attributes.h" - #include "cpu.h" diff --git a/chromium-65.0.3325.146-gcc-round-fix.patch b/chromium-65.0.3325.146-gcc-round-fix.patch deleted file mode 100644 index a29779d..0000000 --- a/chromium-65.0.3325.146-gcc-round-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc ---- chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-03-07 10:57:11.284376048 -0500 -+++ chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc 2018-03-07 10:58:16.590742636 -0500 -@@ -10,7 +10,7 @@ - - #include "p2p/base/port.h" - --#include -+#include - - #include - #include diff --git a/chromium-65.0.3325.146-memcpy-fix.patch b/chromium-65.0.3325.146-memcpy-fix.patch deleted file mode 100644 index b2b2cd4..0000000 --- a/chromium-65.0.3325.146-memcpy-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc ---- chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-03-07 11:04:14.690379817 -0500 -+++ chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc 2018-03-07 11:06:04.339878069 -0500 -@@ -3,7 +3,7 @@ - // found in the LICENSE file. - - #include "cc/paint/raw_memory_transfer_cache_entry.h" -- -+#include - #include - - namespace cc { diff --git a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch deleted file mode 100644 index d5b19cf..0000000 --- a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h ---- chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider 2018-04-25 16:33:40.872222779 -0400 -+++ chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h 2018-04-25 16:37:23.175883637 -0400 -@@ -11,13 +11,13 @@ - #include "base/callback_forward.h" - #include "base/macros.h" - #include "components/policy/core/browser/configuration_policy_handler_list.h" -+#include "components/policy/core/common/configuration_policy_provider.h" - #include "components/policy/core/common/schema.h" - #include "components/policy/core/common/schema_registry.h" - #include "components/policy/policy_export.h" - - namespace policy { - --class ConfigurationPolicyProvider; - class PolicyService; - class PolicyServiceImpl; - diff --git a/chromium-66.0.3359.117-system-clang.patch b/chromium-66.0.3359.117-system-clang.patch deleted file mode 100644 index e90dc58..0000000 --- a/chromium-66.0.3359.117-system-clang.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang chromium-66.0.3359.117/build/config/clang/clang.gni ---- chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang 2018-04-18 12:08:45.658190297 -0400 -+++ chromium-66.0.3359.117/build/config/clang/clang.gni 2018-04-18 12:09:37.612032982 -0400 -@@ -4,7 +4,7 @@ - - import("//build/toolchain/toolchain.gni") - --default_clang_base_path = "//third_party/llvm-build/Release+Asserts" -+default_clang_base_path = "/usr" - - declare_args() { - # Indicates if the build should use the Chrome-specific plugins for enforcing diff --git a/chromium-67.0.3396.62-gcc5.patch b/chromium-67.0.3396.62-gcc5.patch deleted file mode 100644 index ceef85d..0000000 --- a/chromium-67.0.3396.62-gcc5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-05-30 04:44:33.000000000 -0400 -+++ chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-05-30 11:59:26.218625660 -0400 -@@ -262,7 +262,7 @@ interface mixin WebGL2RenderingContextBa - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; diff --git a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch b/chromium-68.0.3440.106-fix-default-on-redeclaration.patch deleted file mode 100644 index 4a92fba..0000000 --- a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc ---- chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c 2018-08-17 14:54:30.587338865 -0400 -+++ chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc 2018-08-17 14:55:20.461184298 -0400 -@@ -14,22 +14,22 @@ LogoMetadata::LogoMetadata() = default; - LogoMetadata::LogoMetadata(const LogoMetadata&) = default; - LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default; - LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default; --LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default; -+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default; - LogoMetadata::~LogoMetadata() = default; - - EncodedLogo::EncodedLogo() = default; - EncodedLogo::EncodedLogo(const EncodedLogo&) = default; - EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default; - EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default; --EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default; -+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default; - EncodedLogo::~EncodedLogo() = default; - - Logo::Logo() = default; - Logo::~Logo() = default; - - LogoCallbacks::LogoCallbacks() = default; --LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default; --LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default; -+LogoCallbacks::LogoCallbacks(LogoCallbacks&&) = default; -+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default; - LogoCallbacks::~LogoCallbacks() = default; - - } // namespace search_provider_logos diff --git a/chromium-69.0.3497.81-build-sanely-please.patch b/chromium-69.0.3497.81-build-sanely-please.patch deleted file mode 100644 index 6241a97..0000000 --- a/chromium-69.0.3497.81-build-sanely-please.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot chromium-69.0.3497.81/build/config/BUILD.gn ---- chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot 2018-09-06 13:43:44.863375238 -0400 -+++ chromium-69.0.3497.81/build/config/BUILD.gn 2018-09-06 13:43:58.377083290 -0400 -@@ -284,9 +284,9 @@ group("executable_and_loadable_module_an - public_deps += [ "//build/config/sanitizers:deps" ] - } - -- if (use_custom_libcxx) { -- public_deps += [ "//buildtools/third_party/libc++" ] -- } -+ # if (use_custom_libcxx) { -+ # public_deps += [ "//buildtools/third_party/libc++" ] -+ # } - - if (use_afl) { - public_deps += [ "//third_party/afl" ] -diff -up chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot chromium-69.0.3497.81/build/config/sysroot.gni ---- chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot 2018-09-06 13:40:46.212232232 -0400 -+++ chromium-69.0.3497.81/build/config/sysroot.gni 2018-09-06 13:41:02.421882529 -0400 -@@ -15,9 +15,10 @@ declare_args() { - # The absolute path to directory containing linux sysroot images - target_sysroot_dir = "//build/linux" - -- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -- current_cpu == "arm" || current_cpu == "arm64" || -- current_cpu == "mipsel" || current_cpu == "mips64el" -+ use_sysroot = false -+ # use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -+ # current_cpu == "arm" || current_cpu == "arm64" || -+ # current_cpu == "mipsel" || current_cpu == "mips64el" - } - - if (current_os == target_os && current_cpu == target_cpu && diff --git a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch b/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch deleted file mode 100644 index ccecfcb..0000000 --- a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h ---- chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat 2018-11-06 13:27:05.118766581 -0500 -+++ chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h 2018-11-06 13:27:34.575204504 -0500 -@@ -5,6 +5,8 @@ - #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - -+#define __ARCH_WANT_NEW_STAT -+ - #include - - #if !defined(__NR_io_setup) diff --git a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch b/chromium-71.0.3578.98-skia-aarch64-buildfix.patch deleted file mode 100644 index 5da1674..0000000 --- a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h ---- chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-12-14 11:17:43.249121756 -0500 -+++ chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-12-14 11:20:07.770030234 -0500 -@@ -658,7 +658,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -678,7 +678,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-72.0.3626.121-notest.patch b/chromium-72.0.3626.121-notest.patch deleted file mode 100644 index e8b7bf4..0000000 --- a/chromium-72.0.3626.121-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd ---- chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest 2019-03-10 13:54:17.843583876 -0400 -+++ chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd 2019-03-10 14:03:29.302063637 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch b/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch deleted file mode 100644 index f8abb52..0000000 --- a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn ---- chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc 2019-03-13 10:29:00.331009643 -0400 -+++ chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn 2019-03-13 10:29:28.344458746 -0400 -@@ -31,7 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm64" -@@ -50,7 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm" -@@ -101,7 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks -g1" -+ extra_cppflags = "-g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -155,7 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -190,7 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-75.0.3770.100-git00281713.patch b/chromium-75.0.3770.100-git00281713.patch deleted file mode 100644 index 4356435..0000000 --- a/chromium-75.0.3770.100-git00281713.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc ---- chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 2019-07-02 09:10:38.951369854 -0400 -+++ chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc 2019-07-02 09:11:59.864642942 -0400 -@@ -12,13 +12,19 @@ - #include "chrome/browser/performance_manager/graph/process_node_impl.h" - #include "chrome/browser/performance_manager/performance_manager.h" - #include "chrome/browser/performance_manager/render_process_user_data.h" -+#include "content/public/browser/render_process_host.h" - #include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" - - namespace { - - void BindProcessNode( -- content::RenderProcessHost* render_process_host, -+ int render_process_host_id, - resource_coordinator::mojom::ProcessCoordinationUnitRequest request) { -+ content::RenderProcessHost* render_process_host = -+ content::RenderProcessHost::FromID(render_process_host_id); -+ if (!render_process_host) -+ return; -+ - performance_manager::RenderProcessUserData* user_data = - performance_manager::RenderProcessUserData::GetForRenderProcessHost( - render_process_host); -@@ -47,8 +53,7 @@ void ChromeContentBrowserClientPerforman - blink::AssociatedInterfaceRegistry* associated_registry, - content::RenderProcessHost* render_process_host) { - registry->AddInterface( -- base::BindRepeating(&BindProcessNode, -- base::Unretained(render_process_host)), -+ base::BindRepeating(&BindProcessNode, render_process_host->GetID()), - base::SequencedTaskRunnerHandle::Get()); - - // Ideally this would strictly be a "CreateForRenderProcess", but when a diff --git a/chromium-75.0.3770.80-SIOCGSTAMP.patch b/chromium-75.0.3770.80-SIOCGSTAMP.patch deleted file mode 100644 index 0ef1e7f..0000000 --- a/chromium-75.0.3770.80-SIOCGSTAMP.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h ---- chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP 2019-06-06 10:04:57.050403639 -0400 -+++ chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h 2019-06-06 10:06:03.975121688 -0400 -@@ -16,6 +16,11 @@ - #define WEBRTC_USE_EPOLL 1 - #endif - -+// for SIOCGSTAMP in Linux 5.2 -+#if defined(WEBRTC_LINUX) -+#include -+#endif -+ - #include - #include - #include diff --git a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch b/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch deleted file mode 100644 index 2a8ac2f..0000000 --- a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc ---- chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix 2019-06-06 12:42:27.431575032 -0400 -+++ chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc 2019-06-06 12:43:05.692848409 -0400 -@@ -31,8 +31,8 @@ void CompositorFrameReportingController: - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/chromium-75.0.3770.80-gcc-no-assume.patch b/chromium-75.0.3770.80-gcc-no-assume.patch deleted file mode 100644 index 0bbb08f..0000000 --- a/chromium-75.0.3770.80-gcc-no-assume.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume chromium-75.0.3770.80/third_party/angle/src/common/debug.h ---- chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume 2019-06-06 17:38:01.876631704 -0400 -+++ chromium-75.0.3770.80/third_party/angle/src/common/debug.h 2019-06-07 09:30:06.205446547 -0400 -@@ -248,7 +248,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define EVENT(message, ...) (void(0)) - #endif - --#if defined(COMPILER_GCC) || defined(__clang__) -+#if defined(__GNUC__) - # define ANGLE_CRASH() __builtin_trap() - #else - # define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0) -@@ -336,7 +336,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop") --#elif defined(COMPILER_GCC) -+#elif defined(__GNUC__) - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop") diff --git a/chromium-75.0.3770.80-revert-daff6b.patch b/chromium-75.0.3770.80-revert-daff6b.patch deleted file mode 100644 index f996898..0000000 --- a/chromium-75.0.3770.80-revert-daff6b.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc ---- chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b 2019-06-06 14:54:13.819190586 -0400 -+++ chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc 2019-06-06 14:54:31.892839991 -0400 -@@ -154,8 +154,7 @@ AutocompleteMatch::AutocompleteMatch(con - additional_info(match.additional_info), - duplicate_matches(match.duplicate_matches) {} - --AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) noexcept = -- default; -+AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) = default; - - AutocompleteMatch::~AutocompleteMatch() { - } diff --git a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch deleted file mode 100644 index 690f0f9..0000000 --- a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx chromium-76.0.3809.100/services/device/usb/usb_context.cc ---- chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx 2019-08-12 15:40:49.034170484 +0200 -+++ chromium-76.0.3809.100/services/device/usb/usb_context.cc 2019-08-12 15:41:23.775558867 +0200 -@@ -58,7 +58,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) { diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch deleted file mode 100644 index c836214..0000000 --- a/chromium-77.0.3865.75-boolfix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 -@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch deleted file mode 100644 index 920a53e..0000000 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 -@@ -23,9 +23,8 @@ - // Where available use builtin math overflow support on Clang and GCC. - #elif !defined(__native_client__) && \ - ((defined(__clang__) && \ -- ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ > 3) || \ -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch deleted file mode 100644 index 34b858a..0000000 --- a/chromium-77.0.3865.75-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 -+++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 -+++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 -+++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium.spec b/chromium.spec index c41439f..e6a6f88 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,114 +164,61 @@ Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) ### Chromium Fedora Patches ### -Patch0: chromium-67.0.3396.62-gcc5.patch -Patch1: chromium-45.0.2454.101-linux-path-max.patch -Patch2: chromium-55.0.2883.75-addrfix.patch -Patch3: chromium-72.0.3626.121-notest.patch -# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch4: chromium-76.0.3809.100-libusb_interrupt_event_handler.patch -# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -Patch6: chromium-70.0.3538.67-sandbox-pie.patch +Patch0: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for master_prefs -Patch7: chromium-68.0.3440.106-master-prefs-path.patch +Patch1: chromium-68.0.3440.106-master-prefs-path.patch # Use gn system files -Patch8: chromium-67.0.3396.62-gn-system.patch -# Fix issue where timespec is not defined when sys/stat.h is included. -Patch9: chromium-53.0.2785.92-boringssl-time-fix.patch -# I wouldn't have to do this if there was a standard way to append extra compiler flags -Patch10: chromium-63.0.3289.84-nullfix.patch -# Add explicit includedir for jpeglib.h -Patch11: chromium-54.0.2840.59-jpeg-include-dir.patch -# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. -Patch12: chromium-59.0.3071.86-i686-ld-memory-tricks.patch +Patch2: chromium-67.0.3396.62-gn-system.patch # Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 # https://bugs.chromium.org/p/chromium/issues/detail?id=712737 # https://bugzilla.redhat.com/show_bug.cgi?id=1446851 -Patch13: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch -# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch14: chromium-64.0.3282.119-ffmpeg-stdatomic.patch -# Nacl can't die soon enough -Patch15: chromium-66.0.3359.117-system-clang.patch +Patch3: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch # Do not prefix libpng functions -Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch +Patch4: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg -Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch +Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch -# Fix libavutil include pathing to find arch specific timer.h -# For some reason, this only fails on aarch64. No idea why. -Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch -# from gentoo -Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch -# From gentoo -Patch21: chromium-77.0.3865.75-gcc5-r3.patch -# To use round with gcc, you need to #include -Patch22: chromium-65.0.3325.146-gcc-round-fix.patch -# Include proper headers to invoke memcpy() -Patch23: chromium-65.0.3325.146-memcpy-fix.patch -# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-77.0.3865.75-boolfix.patch -# From Debian -Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch +Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch27: chromium-73.0.3683.75-norar.patch -# Upstream GCC fixes -Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch -# Add "Fedora" to the user agent string -Patch29: chromium-77.0.3865.75-fedora-user-agent.patch -# Try to fix version.py for Rawhide -Patch30: chromium-71.0.3578.98-py2-bootstrap.patch -# Fix default on redeclaration error -# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 -Patch31: chromium-68.0.3440.106-fix-default-on-redeclaration.patch +Patch7: chromium-73.0.3683.75-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch -Patch32: chromium-71.0.3578.98-widevine-r3.patch -# Do not require sysroot -# Forget about trying to make libc++ -# BUILD SANELY PLEASE -Patch33: chromium-69.0.3497.81-build-sanely-please.patch +Patch8: chromium-71.0.3578.98-widevine-r3.patch # Disable fontconfig cache magic that breaks remoting -Patch34: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix aarch64 build against latest linux kernel headers -Patch35: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +Patch9: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) -Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +Patch10: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places -Patch37: chromium-widevine-other-locations.patch -# Disable -fno-delete-null-pointer-checks -Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it -Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch -# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 -# It might make clang happy but it breaks gcc. F*** clang. -Patch43: chromium-75.0.3770.80-revert-daff6b.patch +Patch11: chromium-widevine-other-locations.patch +# Try to fix version.py for Rawhide +Patch12: chromium-71.0.3578.98-py2-bootstrap.patch +# Add "Fedora" to the user agent string +Patch13: chromium-77.0.3865.75-fedora-user-agent.patch + # rename function to avoid conflict with rawhide glibc "gettid()" -Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch +Patch50: chromium-75.0.3770.80-grpc-gettid-fix.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a -Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +Patch51: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Needs to be submitted.. -Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +Patch52: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) -Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +Patch53: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-77.0.3865.75-certificate-transparency.patch +Patch54: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch -Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +Patch55: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. -Patch66: chromium-77.0.3865.75-gcc-include-memory.patch -# Needs to be submitted.. -Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +Patch56: chromium-77.0.3865.75-gcc-include-memory.patch +# https://chromium.googlesource.com/chromium/src/+/6b633c4b14850df376d5cec571699018772f358e +Patch57: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 -Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 -Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 -Patch70: chromium-77.0.3865.75-missing-limits.patch +Patch60: chromium-77.0.3865.75-missing-limits.patch -# Apply these changes to work around EPEL7 compiler issues -Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch @@ -757,60 +704,40 @@ udev. %setup -q -n chromium-%{version} ### Chromium Fedora Patches ### -%patch0 -p1 -b .gcc5 -%patch1 -p1 -b .pathmax -%patch2 -p1 -b .addrfix -%patch3 -p1 -b .notest -%patch4 -p1 -b .modern-libusbx -%patch6 -p1 -b .sandboxpie -%patch7 -p1 -b .etc -%patch8 -p1 -b .gnsystem -%patch9 -p1 -b .timefix -%patch10 -p1 -b .nullfix -%patch11 -p1 -b .jpegfix -%patch12 -p1 -b .ldmemory -%patch13 -p1 -b .revert -%patch14 -p1 -b .ffmpeg-stdatomic -%patch15 -p1 -b .system-clang -%patch16 -p1 -b .noprefix -%patch17 -p1 -b .nomangle -%patch18 -p1 -b .nozmangle -%patch19 -p1 -b .pathfix -%patch20 -p1 -b .nogccoptmath -%patch21 -p1 -b .gcc5-r3 -%patch22 -p1 -b .gcc-round-fix -%patch23 -p1 -b .memcpyfix -%patch24 -p1 -b .boolfix -#%patch25 -p1 -b .aarch64fix -%patch27 -p1 -b .nounrar -%patch28 -p1 -b .gcc-cpolicyprovider -%patch29 -p1 -b .fedora-user-agent -%patch30 -p1 -b .py2 -%patch31 -p1 -b .fix-default-redeclaration -%patch32 -p1 -b .wvhack -%patch33 -p1 -b .sanebuild -%patch34 -p1 -b .nofc -%patch35 -p1 -b .aarch64-new-stat -%patch36 -p1 -b .gcc9 -%patch37 -p1 -b .widevine-other-locations -%patch38 -p1 -b .disable-ndnpc -%patch41 -p1 -b .SIOCGSTAMP -%patch43 -p1 -b .revert-daff6b -%patch45 -p1 -b .gettid-fix -%patch61 -p1 -b .gcc-no-alignas-and-export -%patch62 -p1 -b .gcc-remoting-constexpr -%patch63 -p1 -b .vtable-symbol-undefined -%patch64 -p1 -b .certificate-transparency -%patch65 -p1 -b .unbundle-zlib -%patch66 -p1 -b .gcc-include-memory -%patch67 -p1 -b .base-gcc-no-alignas -%patch68 -p1 -b .harfbuzz-subset -%patch69 -p1 -b .gcc-abstract-class -%patch70 -p1 -b .missing-limits +%patch0 -p1 -b .sandboxpie +%patch1 -p1 -b .etc +%patch2 -p1 -b .gnsystem +%patch3 -p1 -b .revert +%patch4 -p1 -b .nolibpngprefix +%patch5 -p1 -b .nolibjpegmangle +%patch6 -p1 -b .nozlibmangle +%patch7 -p1 -b .nounrar +%patch8 -p1 -b .widevine-hack +%patch9 -p1 -b .nofontconfigcache +%patch10 -p1 -b .gcc9 +%patch11 -p1 -b .widevine-other-locations +%patch12 -p1 -b .py2 + +# Short term fixes (usually gcc and backports) +%patch50 -p1 -b .gettid-fix +%patch51 -p1 -b .gcc-no-alignas-and-export +%patch52 -p1 -b .gcc-remoting-constexpr +%patch53 -p1 -b .vtable-symbol-undefined +%patch54 -p1 -b .certificate-transparency +%patch55 -p1 -b .unbundle-zlib +%patch56 -p1 -b .gcc-include-memory +%patch57 -p1 -b .base-gcc-no-alignas +%patch58 -p1 -b .harfbuzz-subset +%patch59 -p1 -b .gcc-abstract-class +%patch60 -p1 -b .missing-limits + +# Fedora branded user agent +%if 0%{?fedora} +%patch13 -p1 -b .fedora-user-agent +%endif # EPEL specific patches %if 0%{?rhel} == 7 -%patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept %endif @@ -1287,6 +1214,11 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +# Decrease the debuginfo verbosity, so it compiles in koji +%ifarch %{ix86} +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + echo # Now do the full browser %if 0%{freeworld} From 67e04f35f09abe468100109658f02b424c59286c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:21:06 +0200 Subject: [PATCH 147/171] Fix the icon So the monochromatic icon is being shown even in the GNOME's overview and it's ugly (as it's upscaled from 22x22). Remove it. --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index e6a6f88..930b750 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1388,8 +1388,6 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps -cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From 58128e168f2cad680db52f8be0d98a2bbd85b556 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:25:20 +0200 Subject: [PATCH 148/171] Fix the icon Remove quite a few of downstream patches Fix the crashes by backporting an upstream bug Resolves: rhbz#1754179 --- chromium-77.0.3865.90-linked-hash-set.patch | 130 ++++++++++++++++++++ chromium.spec | 11 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 chromium-77.0.3865.90-linked-hash-set.patch diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch new file mode 100644 index 0000000..f921f1a --- /dev/null +++ b/chromium-77.0.3865.90-linked-hash-set.patch @@ -0,0 +1,130 @@ +From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 +From: Jeremy Roman +Date: Wed, 07 Aug 2019 13:26:48 +0000 +Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. + +Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. + +Bug: 980025 +Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 +Reviewed-by: Kentaro Hara +Reviewed-by: Yutaka Hirano +Commit-Queue: Jeremy Roman +Cr-Commit-Position: refs/heads/master@{#684731} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h +index 0efc8fb..90063cb 100644 +--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h ++++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h +@@ -133,6 +133,10 @@ + + struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { + STATIC_ONLY(FontCacheKeyTraits); ++ ++ // std::string's empty state need not be zero in all implementations, ++ // and it is held within FontFaceCreationParams. ++ static const bool kEmptyValueIsZero = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +index b35b6e9..77e524c 100644 +--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h ++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +@@ -146,6 +146,11 @@ + LinkedHashSetNodeBase* next) + : LinkedHashSetNodeBase(prev, next), value_(value) {} + ++ LinkedHashSetNode(ValueArg&& value, ++ LinkedHashSetNodeBase* prev, ++ LinkedHashSetNodeBase* next) ++ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} ++ + LinkedHashSetNode(LinkedHashSetNode&& other) + : LinkedHashSetNodeBase(std::move(other)), + value_(std::move(other.value_)) {} +@@ -445,10 +450,13 @@ + + // The slot is empty when the next_ field is zero so it's safe to zero + // the backing. +- static const bool kEmptyValueIsZero = true; ++ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; + + static const bool kHasIsEmptyValueFunction = true; + static bool IsEmptyValue(const Node& node) { return !node.next_; } ++ static Node EmptyValue() { ++ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); ++ } + + static const int kDeletedValue = -1; + +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +index 4c3f899..cd1be00 100644 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +@@ -487,6 +487,7 @@ + }; + + struct Complicated { ++ Complicated() : Complicated(0) {} + Complicated(int value) : simple_(value) { objects_constructed_++; } + + Complicated(const Complicated& other) : simple_(other.simple_) { +@@ -495,9 +496,6 @@ + + Simple simple_; + static int objects_constructed_; +- +- private: +- Complicated() = delete; + }; + + int Complicated::objects_constructed_ = 0; +@@ -731,4 +729,45 @@ + + } // anonymous namespace + ++// A unit type which objects to its state being initialized wrong. ++struct InvalidZeroValue { ++ InvalidZeroValue() = default; ++ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} ++ ~InvalidZeroValue() { CHECK(ok_); } ++ bool IsHashTableDeletedValue() const { return deleted_; } ++ ++ bool ok_ = true; ++ bool deleted_ = false; ++}; ++ ++template <> ++struct HashTraits : SimpleClassHashTraits { ++ static const bool kEmptyValueIsZero = false; ++}; ++ ++template <> ++struct DefaultHash { ++ struct Hash { ++ static unsigned GetHash(const InvalidZeroValue&) { return 0; } ++ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { ++ return true; ++ } ++ }; ++}; ++ ++template ++class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; ++ ++using InvalidZeroValueSetTypes = ++ testing::Types, ++ ListHashSet, ++ LinkedHashSet>; ++TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); ++ ++TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { ++ using Set = TypeParam; ++ Set set; ++ set.insert(InvalidZeroValue()); ++} ++ + } // namespace WTF diff --git a/chromium.spec b/chromium.spec index 930b750..ff76b24 100644 --- a/chromium.spec +++ b/chromium.spec @@ -158,7 +158,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.90 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -218,6 +218,8 @@ Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 Patch60: chromium-77.0.3865.75-missing-limits.patch +# https://chromium.googlesource.com/chromium/src/+/74138b9febd37eac0fc26b8efb110014a83a52c6 +Patch61: chromium-77.0.3865.90-linked-hash-set.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -730,6 +732,7 @@ udev. %patch58 -p1 -b .harfbuzz-subset %patch59 -p1 -b .gcc-abstract-class %patch60 -p1 -b .missing-limits +%patch61 -p1 -b .linked-hash-set # Fedora branded user agent %if 0%{?fedora} @@ -1632,6 +1635,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 +- Fix the icon +- Remove quite a few of downstream patches +- Fix the crashes by backporting an upstream bug +- Resolves: rhbz#1754179 + * Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 - Update to 77.0.3865.90 From 18d61f508bd415e9adebb31e5c76f67049d6e5dc Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 13:36:44 +0200 Subject: [PATCH 149/171] Don't try to revert a previously removed patch --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 883277c..838e4b8 100644 --- a/chromium.spec +++ b/chromium.spec @@ -862,8 +862,6 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -# Revert patch58 because it's breaking the build on el7 -%patch58 -R -p1 %endif # Feature specific patches From 5e096a366bc3f459996bda46f118e8fa681496a0 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:37:33 +0200 Subject: [PATCH 150/171] Remove support for (p)NaCL We don't build it for quite some time and will by killed by Google in Spring 2020. Let's drop the support for it from the SPEC file. We can revert this patch if needed. --- ...526.80-nacl-ignore-broken-fd-counter.patch | 27 --- ...m-47.0.2526.80-pnacl-fgnu-inline-asm.patch | 11 -- chromium.spec | 187 ------------------ 3 files changed, 225 deletions(-) delete mode 100644 chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch delete mode 100644 chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch diff --git a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch b/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch deleted file mode 100644 index c422957..0000000 --- a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc ---- chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count 2015-12-15 14:48:07.119011866 -0500 -+++ chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc 2015-12-15 14:48:14.151850055 -0500 -@@ -153,6 +153,14 @@ void NaClSandbox::InitializeLayerOneSand - } - - void NaClSandbox::CheckForExpectedNumberOfOpenFds() { -+ // Whatever logic this code is using is wrong more often than it is right. -+ // If you set expected_num_fds to 6, it finds 7. -+ // If you set expected_num_fds to 7, it finds 6. -+ // Code like this makes a packager drink. And not the good stuff either. -+ // Instead, we're just going to smile and tell it to never care about the -+ // number of FDs open. Stupid code. We hates it. -+ -+#if 0 - // We expect to have the following FDs open: - // 1-3) stdin, stdout, stderr. - // 4) The /dev/urandom FD used by base::GetUrandomFD(). -@@ -171,6 +179,8 @@ void NaClSandbox::CheckForExpectedNumber - } - - CHECK_EQ(expected_num_fds, sandbox::ProcUtil::CountOpenFds(proc_fd_.get())); -+#endif -+ - } - - void NaClSandbox::InitializeLayerTwoSandbox(bool uses_nonsfi_mode) { diff --git a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch b/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch deleted file mode 100644 index bfe0422..0000000 --- a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme chromium-47.0.2526.80/native_client/build/untrusted.gypi ---- chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme 2015-12-09 11:54:27.584962337 -0500 -+++ chromium-47.0.2526.80/native_client/build/untrusted.gypi 2015-12-09 11:54:45.033571750 -0500 -@@ -1564,6 +1564,7 @@ - '-Wno-char-subscripts', - '-Wno-unused-function', - '-std=gnu++11', -+ '-fgnu-inline-asm', - ], - 'native_irt_compile_flags': [ - # IRT compile/link flags to make the binary smaller. diff --git a/chromium.spec b/chromium.spec index 838e4b8..41a43d1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -70,32 +70,11 @@ # If we build with shared on, then chrome-remote-desktop depends on chromium libs. # If we build with shared off, then users cannot swap out libffmpeg (and i686 gets a lot harder to build) %global shared 1 -# We should not need to turn this on. The app in the webstore _should_ work. -%global build_remoting_app 0 # AddressSanitizer mode # https://www.chromium.org/developers/testing/addresssanitizer %global asan 0 -# nacl/pnacl are soon to be dead. We're just killing them off early. -%global killnacl 1 - -%if 0%{?killnacl} - %global nacl 0 - %global nonacl 1 -%else -# TODO: Try arm (nacl disabled) -%if 0%{?fedora} - %ifarch i686 - %global nacl 0 - %global nonacl 1 - %else - %global nacl 1 - %global nonacl 0 - %endif -%endif -%endif - %if 0 # Chromium's fork of ICU is now something we can't unbundle. # This is left here to ease the change if that ever switches. @@ -298,16 +277,6 @@ Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-77.0.3865.75-el7-noexcept.patch -# In file included from ../linux/directory.c:21: -# In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: -# ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled -# __asm__ __volatile__("mov %%gs, %0" : "=r"(gs)); -# ^ -# 1 error generated. -Patch200: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch -# Ignore broken nacl open fd counter -Patch201: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch - # Enable VAAPI support on Linux # NOTE: This patch will never land upstream Patch202: enable-vaapi.patch @@ -415,24 +384,6 @@ BuildRequires: libappstream-glib # gn needs these BuildRequires: libstdc++-static BuildRequires: libstdc++-devel, openssl-devel -%if 0%{?nacl} -BuildRequires: nacl-gcc, nacl-binutils, nacl-newlib -BuildRequires: nacl-arm-gcc, nacl-arm-binutils, nacl-arm-newlib -# pNaCl needs this monster -# It's possible that someday this dep will stabilize, but -# right now, it needs to be updated everytime chromium bumps -# a major version. -BuildRequires: chromium-native_client >= 52.0.2743.82 -BuildRequires: clang -BuildRequires: llvm -%ifarch x86_64 -# Really, this is what we want: -# BuildRequires: glibc-devel(x86-32) libgcc(x86-32) -# But, koji only offers glibc32. Maybe that's enough. -# This BR will pull in either glibc.i686 or glibc32. -BuildRequires: /lib/libc.so.6 /usr/lib/libc.so -%endif -%endif # Fedora tries to use system libs whenever it can. BuildRequires: bzip2-devel BuildRequires: dbus-glib-devel @@ -865,11 +816,6 @@ udev. %endif # Feature specific patches -%if ! 0%{?killnacl} -%patch200 -p1 -b .gnu-inline -%patch201 -p1 -b .ignore-fd-count -%endif - %if %{use_vaapi} %patch202 -p1 -b .vaapi %ifarch i686 @@ -898,101 +844,6 @@ export RANLIB="ranlib" rm -rf buildtools/third_party/libc++/BUILD.gn -%if 0%{?nacl} -# prep the nacl tree -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib -cp -a --no-preserve=context /usr/%{_arch}-nacl/* out/Release/gen/sdk/linux_x86/nacl_x86_newlib - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib -cp -a --no-preserve=context /usr/arm-nacl/* out/Release/gen/sdk/linux_x86/nacl_arm_newlib - -# Not sure if we need this or not, but better safe than sorry. -pushd out/Release/gen/sdk/linux_x86 -ln -s nacl_x86_newlib nacl_x86_newlib_raw -ln -s nacl_arm_newlib nacl_arm_newlib_raw -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -ln -s /usr/bin/x86_64-nacl-gcc gcc -ln -s /usr/bin/x86_64-nacl-gcc x86_64-nacl-gcc -ln -s /usr/bin/x86_64-nacl-g++ g++ -ln -s /usr/bin/x86_64-nacl-g++ x86_64-nacl-g++ -# ln -s /usr/bin/x86_64-nacl-ar ar -ln -s /usr/bin/x86_64-nacl-ar x86_64-nacl-ar -# ln -s /usr/bin/x86_64-nacl-as as -ln -s /usr/bin/x86_64-nacl-as x86_64-nacl-as -# ln -s /usr/bin/x86_64-nacl-ranlib ranlib -ln -s /usr/bin/x86_64-nacl-ranlib x86_64-nacl-ranlib -# Cleanups -rm addr2line -ln -s /usr/bin/x86_64-nacl-addr2line addr2line -rm c++filt -ln -s /usr/bin/x86_64-nacl-c++filt c++filt -rm gprof -ln -s /usr/bin/x86_64-nacl-gprof gprof -rm readelf -ln -s /usr/bin/x86_64-nacl-readelf readelf -rm size -ln -s /usr/bin/x86_64-nacl-size size -rm strings -ln -s /usr/bin/x86_64-nacl-strings strings -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -ln -s /usr/bin/arm-nacl-gcc gcc -ln -s /usr/bin/arm-nacl-gcc arm-nacl-gcc -ln -s /usr/bin/arm-nacl-g++ g++ -ln -s /usr/bin/arm-nacl-g++ arm-nacl-g++ -ln -s /usr/bin/arm-nacl-ar arm-nacl-ar -ln -s /usr/bin/arm-nacl-as arm-nacl-as -ln -s /usr/bin/arm-nacl-ranlib arm-nacl-ranlib -popd - -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/nacl_x86_newlib.json -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/nacl_arm_newlib.json - -pushd out/Release/gen/sdk/linux_x86/ -mkdir -p pnacl_newlib pnacl_translator -# Might be able to do symlinks here, but eh. -cp -a --no-preserve=context /usr/pnacl_newlib/* pnacl_newlib/ -cp -a --no-preserve=context /usr/pnacl_translator/* pnacl_translator/ -for i in lib/libc.a lib/libc++.a lib/libg.a lib/libm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/x86_64_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/i686_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/libpthread.a lib/libnacl.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/clang/3.7.0/lib/x86_64_bc-nacl/libpnaclmm.a lib/clang/3.7.0/lib/i686_bc-nacl/libpnaclmm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -for i in lib/clang/3.7.0/lib/le32-nacl/libpnaclmm.a lib/clang/3.7.0/lib/le32-nacl/libgcc.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -popd - -mkdir -p native_client/toolchain/.tars/linux_x86 -touch native_client/toolchain/.tars/linux_x86/pnacl_translator.json - -pushd native_client/toolchain -ln -s ../../out/Release/gen/sdk/linux_x86 linux_x86 -popd - -mkdir -p third_party/llvm-build/Release+Asserts/bin -pushd third_party/llvm-build/Release+Asserts/bin -ln -s /usr/bin/clang clang -popd -%endif - # Unpack fonts %if %{freeworld} # no font fun needed. @@ -1063,9 +914,7 @@ export CHROMIUM_CORE_GN_DEFINES CHROMIUM_BROWSER_GN_DEFINES="" CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true' -%if 0%{?nonacl} CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' -%endif %if 0%{?shared} CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' %else @@ -1227,9 +1076,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libwebm' \ 'third_party/libwebp' \ 'third_party/libyuv' \ -%if 0%{?nacl} - 'third_party/llvm-build' \ -%endif 'third_party/lss' \ 'third_party/lzma_sdk' \ %if 0 @@ -1460,19 +1306,7 @@ echo # remote client # ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources %build_target %{remotingbuilddir} remoting_all -%if 0%{?build_remoting_app} -%if 0%{?nacl} -export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} -%build_target %{builddir} remoting_webapp %endif -%endif - -%endif - -# Nuke nacl/pnacl bits at the end of the build -rm -rf %{builddir}/gen/sdk -rm -rf native_client/toolchain -rm -rf third_party/llvm-build/* %install rm -rf %{buildroot} @@ -1511,10 +1345,6 @@ mkdir -p %{buildroot}%{_mandir}/man1/ pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} -%if 0%{?nacl} -cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} -chmod -x %{buildroot}%{chromium_path}/nacl_helper_bootstrap* *.nexe -%endif # Reasonably sure we don't need this anymore. Chrome doesn't include it. %if 0 cp -a protoc pyproto %{buildroot}%{chromium_path} @@ -1596,12 +1426,6 @@ pushd %{buildroot}%{_sysconfdir}/pam.d/ ln -s system-auth chrome-remote-desktop popd -%if 0%{?build_remoting_app} -%if 0%{?nacl} -cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} -%endif -%endif - %if %{build_headless} pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} @@ -1742,12 +1566,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %ifarch x86_64 i686 aarch64 %{chromium_path}/swiftshader/ %endif -%if 0%{?nacl} -%{chromium_path}/nacl_helper* -%{chromium_path}/*.nexe -%{chromium_path}/pnacl/ -%{chromium_path}/tls_edit -%endif %dir %{chromium_path}/PepperFlash/ %if 0 %{chromium_path}/protoc @@ -1861,11 +1679,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{crd_path}/user-session %{_unitdir}/chrome-remote-desktop@.service /var/lib/chrome-remote-desktop/ -%if 0%{?build_remoting_app} -%if 0%{?nacl} -%{chromium_path}/remoting_client_plugin_newlib.* -%endif -%endif %files -n chromedriver %doc AUTHORS From 1fb9b47fde081c17a41b77000d2b13167a6ef630 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:45:43 +0200 Subject: [PATCH 151/171] Fix how the arguments are passed to GN's bootstrap.py I don't know why, but previously it was failing only on aarch64. --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 41a43d1..f0af194 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1256,7 +1256,7 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ exit 1 ; \ fi -tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" +tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} From 35521ebaf47120dd5860f1810946ed48cbe28bab Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:57:18 +0200 Subject: [PATCH 152/171] Remove the unused patches or patches that are not needed anymore Also replace some patches with changes in the SPEC file. --- chromium-45.0.2454.101-linux-path-max.patch | 44 ---- ...mium-53.0.2785.92-boringssl-time-fix.patch | 11 - chromium-54.0.2840.59-jpeg-include-dir.patch | 11 - chromium-55.0.2883.75-addrfix.patch | 11 - ...m-59.0.3071.86-i686-ld-memory-tricks.patch | 12 -- ...113-libavutil-timer-include-path-fix.patch | 21 -- ...mium-62.0.3202.62-kmaxskip-constexpr.patch | 12 -- chromium-63.0.3289.84-nullfix.patch | 43 ---- chromium-64.0.3282.119-ffmpeg-stdatomic.patch | 17 -- chromium-65.0.3325.146-gcc-round-fix.patch | 12 -- chromium-65.0.3325.146-memcpy-fix.patch | 12 -- ...-declare-ConfigurationPolicyProvider.patch | 18 -- chromium-66.0.3359.117-system-clang.patch | 12 -- chromium-67.0.3396.62-gcc5.patch | 12 -- ...440.106-fix-default-on-redeclaration.patch | 30 --- ...ium-69.0.3497.81-build-sanely-please.patch | 33 --- ...0.3538.77-aarch64-arch-want-new-stat.patch | 12 -- ...m-71.0.3578.98-skia-aarch64-buildfix.patch | 21 -- chromium-72.0.3626.121-notest.patch | 11 - ...sable-fno-delete-null-pointer-checks.patch | 48 ----- chromium-75.0.3770.100-git00281713.patch | 34 --- chromium-75.0.3770.80-SIOCGSTAMP.patch | 15 -- ...5.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch | 14 -- chromium-75.0.3770.80-gcc-no-assume.patch | 21 -- chromium-75.0.3770.80-revert-daff6b.patch | 13 -- ...9.100-libusb_interrupt_event_handler.patch | 15 -- chromium-77.0.3865.75-boolfix.patch | 24 --- ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 15 -- chromium-77.0.3865.75-gcc5-r3.patch | 36 ---- chromium.spec | 198 ++++++------------ 30 files changed, 65 insertions(+), 723 deletions(-) delete mode 100644 chromium-45.0.2454.101-linux-path-max.patch delete mode 100644 chromium-53.0.2785.92-boringssl-time-fix.patch delete mode 100644 chromium-54.0.2840.59-jpeg-include-dir.patch delete mode 100644 chromium-55.0.2883.75-addrfix.patch delete mode 100644 chromium-59.0.3071.86-i686-ld-memory-tricks.patch delete mode 100644 chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch delete mode 100644 chromium-62.0.3202.62-kmaxskip-constexpr.patch delete mode 100644 chromium-63.0.3289.84-nullfix.patch delete mode 100644 chromium-64.0.3282.119-ffmpeg-stdatomic.patch delete mode 100644 chromium-65.0.3325.146-gcc-round-fix.patch delete mode 100644 chromium-65.0.3325.146-memcpy-fix.patch delete mode 100644 chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch delete mode 100644 chromium-66.0.3359.117-system-clang.patch delete mode 100644 chromium-67.0.3396.62-gcc5.patch delete mode 100644 chromium-68.0.3440.106-fix-default-on-redeclaration.patch delete mode 100644 chromium-69.0.3497.81-build-sanely-please.patch delete mode 100644 chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch delete mode 100644 chromium-71.0.3578.98-skia-aarch64-buildfix.patch delete mode 100644 chromium-72.0.3626.121-notest.patch delete mode 100644 chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch delete mode 100644 chromium-75.0.3770.100-git00281713.patch delete mode 100644 chromium-75.0.3770.80-SIOCGSTAMP.patch delete mode 100644 chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch delete mode 100644 chromium-75.0.3770.80-gcc-no-assume.patch delete mode 100644 chromium-75.0.3770.80-revert-daff6b.patch delete mode 100644 chromium-76.0.3809.100-libusb_interrupt_event_handler.patch delete mode 100644 chromium-77.0.3865.75-boolfix.patch delete mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch delete mode 100644 chromium-77.0.3865.75-gcc5-r3.patch diff --git a/chromium-45.0.2454.101-linux-path-max.patch b/chromium-45.0.2454.101-linux-path-max.patch deleted file mode 100644 index 3146349..0000000 --- a/chromium-45.0.2454.101-linux-path-max.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax 2015-10-07 11:26:11.813477839 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h 2015-10-07 11:26:40.845845054 -0400 -@@ -12,6 +12,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - namespace nacl_io { - - class Path { -diff -up chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c ---- chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax 2015-08-22 15:02:08.000000000 -0400 -+++ chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c 2015-10-07 10:58:56.172018783 -0400 -@@ -11,6 +11,10 @@ - - #include - #include -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif - #include - #include - #include -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax 2015-10-09 10:57:38.424348662 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c 2015-10-09 10:57:51.541059938 -0400 -@@ -13,6 +13,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - EXTERN_C_BEGIN - - #if defined(__native_client__) diff --git a/chromium-53.0.2785.92-boringssl-time-fix.patch b/chromium-53.0.2785.92-boringssl-time-fix.patch deleted file mode 100644 index 8d67957..0000000 --- a/chromium-53.0.2785.92-boringssl-time-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c ---- chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix 2016-09-06 15:20:06.094396255 -0400 -+++ chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c 2016-09-06 15:20:16.893187930 -0400 -@@ -56,6 +56,7 @@ - * [including the GNU Public Licence.] */ - - #include -+#include - #include - #include - diff --git a/chromium-54.0.2840.59-jpeg-include-dir.patch b/chromium-54.0.2840.59-jpeg-include-dir.patch deleted file mode 100644 index f96a56c..0000000 --- a/chromium-54.0.2840.59-jpeg-include-dir.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix chromium-54.0.2840.59/third_party/BUILD.gn ---- chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix 2016-10-17 11:45:44.995340495 -0400 -+++ chromium-54.0.2840.59/third_party/BUILD.gn 2016-10-17 11:46:35.254289872 -0400 -@@ -20,6 +20,7 @@ declare_args() { - config("system_libjpeg_config") { - libs = [ "jpeg" ] - defines = [ "USE_SYSTEM_LIBJPEG" ] -+ include_dirs = [ "/usr/include/" ] - } - - config("libjpeg_turbo_config") { diff --git a/chromium-55.0.2883.75-addrfix.patch b/chromium-55.0.2883.75-addrfix.patch deleted file mode 100644 index 00c214c..0000000 --- a/chromium-55.0.2883.75-addrfix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix chromium-55.0.2883.75/third_party/boringssl/BUILD.gn ---- chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix 2016-12-12 15:30:27.727834891 -0500 -+++ chromium-55.0.2883.75/third_party/boringssl/BUILD.gn 2016-12-12 15:30:53.095709352 -0500 -@@ -24,6 +24,7 @@ config("internal_config") { - "BORINGSSL_IMPLEMENTATION", - "BORINGSSL_NO_STATIC_INITIALIZER", - "OPENSSL_SMALL", -+ "_POSIX_C_SOURCE=200112L", - ] - configs = [ - # TODO(davidben): Fix size_t truncations in BoringSSL. diff --git a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch b/chromium-59.0.3071.86-i686-ld-memory-tricks.patch deleted file mode 100644 index 9dde4c5..0000000 --- a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn ---- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory 2017-06-07 15:37:09.436616113 -0400 -+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:38:04.508519102 -0400 -@@ -93,7 +93,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "-fno-delete-null-pointer-checks -g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true diff --git a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch b/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch deleted file mode 100644 index 7248825..0000000 --- a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h ---- chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix 2017-08-25 15:29:12.143242471 -0400 -+++ chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h 2017-08-25 15:29:36.941835865 -0400 -@@ -39,13 +39,13 @@ - #include "log.h" - - #if ARCH_AARCH64 --# include "aarch64/timer.h" -+# include "libavutil/aarch64/timer.h" - #elif ARCH_ARM --# include "arm/timer.h" -+# include "libavutil/arm/timer.h" - #elif ARCH_PPC --# include "ppc/timer.h" -+# include "libavutil/ppc/timer.h" - #elif ARCH_X86 --# include "x86/timer.h" -+# include "libavutil/x86/timer.h" - #endif - - #if !defined(AV_READ_TIME) diff --git a/chromium-62.0.3202.62-kmaxskip-constexpr.patch b/chromium-62.0.3202.62-kmaxskip-constexpr.patch deleted file mode 100644 index d4f8250..0000000 --- a/chromium-62.0.3202.62-kmaxskip-constexpr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc ---- chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip 2017-10-18 10:00:28.503714392 -0400 -+++ chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc 2017-10-18 10:00:43.153430212 -0400 -@@ -336,7 +336,7 @@ TYPES(M); - #undef TYPES - - const SkRect PaintOp::kUnsetRect = {SK_ScalarInfinity, 0, 0, 0}; --const size_t PaintOp::kMaxSkip; -+constexpr size_t PaintOp::kMaxSkip; - - std::string PaintOpTypeToString(PaintOpType type) { - switch (type) { diff --git a/chromium-63.0.3289.84-nullfix.patch b/chromium-63.0.3289.84-nullfix.patch deleted file mode 100644 index c66aff1..0000000 --- a/chromium-63.0.3289.84-nullfix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn ---- chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix 2017-12-06 15:05:21.000000000 -0500 -+++ chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn 2017-12-07 10:44:34.507207080 -0500 -@@ -31,6 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm64" -@@ -49,6 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm" -@@ -99,6 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -152,6 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -186,6 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch b/chromium-64.0.3282.119-ffmpeg-stdatomic.patch deleted file mode 100644 index 64c5f26..0000000 --- a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c ---- chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2018-01-25 11:55:57.880936815 -0500 -+++ chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c 2018-01-25 11:57:18.456787888 -0500 -@@ -18,7 +18,13 @@ - - #include - #include -+// GCC 4.8 didn't have stdatomic, but was advertising it. -+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 -+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) -+#include -+#else - #include -+#endif - - #include "attributes.h" - #include "cpu.h" diff --git a/chromium-65.0.3325.146-gcc-round-fix.patch b/chromium-65.0.3325.146-gcc-round-fix.patch deleted file mode 100644 index a29779d..0000000 --- a/chromium-65.0.3325.146-gcc-round-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc ---- chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-03-07 10:57:11.284376048 -0500 -+++ chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc 2018-03-07 10:58:16.590742636 -0500 -@@ -10,7 +10,7 @@ - - #include "p2p/base/port.h" - --#include -+#include - - #include - #include diff --git a/chromium-65.0.3325.146-memcpy-fix.patch b/chromium-65.0.3325.146-memcpy-fix.patch deleted file mode 100644 index b2b2cd4..0000000 --- a/chromium-65.0.3325.146-memcpy-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc ---- chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-03-07 11:04:14.690379817 -0500 -+++ chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc 2018-03-07 11:06:04.339878069 -0500 -@@ -3,7 +3,7 @@ - // found in the LICENSE file. - - #include "cc/paint/raw_memory_transfer_cache_entry.h" -- -+#include - #include - - namespace cc { diff --git a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch deleted file mode 100644 index d5b19cf..0000000 --- a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h ---- chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider 2018-04-25 16:33:40.872222779 -0400 -+++ chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h 2018-04-25 16:37:23.175883637 -0400 -@@ -11,13 +11,13 @@ - #include "base/callback_forward.h" - #include "base/macros.h" - #include "components/policy/core/browser/configuration_policy_handler_list.h" -+#include "components/policy/core/common/configuration_policy_provider.h" - #include "components/policy/core/common/schema.h" - #include "components/policy/core/common/schema_registry.h" - #include "components/policy/policy_export.h" - - namespace policy { - --class ConfigurationPolicyProvider; - class PolicyService; - class PolicyServiceImpl; - diff --git a/chromium-66.0.3359.117-system-clang.patch b/chromium-66.0.3359.117-system-clang.patch deleted file mode 100644 index e90dc58..0000000 --- a/chromium-66.0.3359.117-system-clang.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang chromium-66.0.3359.117/build/config/clang/clang.gni ---- chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang 2018-04-18 12:08:45.658190297 -0400 -+++ chromium-66.0.3359.117/build/config/clang/clang.gni 2018-04-18 12:09:37.612032982 -0400 -@@ -4,7 +4,7 @@ - - import("//build/toolchain/toolchain.gni") - --default_clang_base_path = "//third_party/llvm-build/Release+Asserts" -+default_clang_base_path = "/usr" - - declare_args() { - # Indicates if the build should use the Chrome-specific plugins for enforcing diff --git a/chromium-67.0.3396.62-gcc5.patch b/chromium-67.0.3396.62-gcc5.patch deleted file mode 100644 index ceef85d..0000000 --- a/chromium-67.0.3396.62-gcc5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-05-30 04:44:33.000000000 -0400 -+++ chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-05-30 11:59:26.218625660 -0400 -@@ -262,7 +262,7 @@ interface mixin WebGL2RenderingContextBa - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; diff --git a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch b/chromium-68.0.3440.106-fix-default-on-redeclaration.patch deleted file mode 100644 index 4a92fba..0000000 --- a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc ---- chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c 2018-08-17 14:54:30.587338865 -0400 -+++ chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc 2018-08-17 14:55:20.461184298 -0400 -@@ -14,22 +14,22 @@ LogoMetadata::LogoMetadata() = default; - LogoMetadata::LogoMetadata(const LogoMetadata&) = default; - LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default; - LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default; --LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default; -+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default; - LogoMetadata::~LogoMetadata() = default; - - EncodedLogo::EncodedLogo() = default; - EncodedLogo::EncodedLogo(const EncodedLogo&) = default; - EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default; - EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default; --EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default; -+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default; - EncodedLogo::~EncodedLogo() = default; - - Logo::Logo() = default; - Logo::~Logo() = default; - - LogoCallbacks::LogoCallbacks() = default; --LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default; --LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default; -+LogoCallbacks::LogoCallbacks(LogoCallbacks&&) = default; -+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default; - LogoCallbacks::~LogoCallbacks() = default; - - } // namespace search_provider_logos diff --git a/chromium-69.0.3497.81-build-sanely-please.patch b/chromium-69.0.3497.81-build-sanely-please.patch deleted file mode 100644 index 6241a97..0000000 --- a/chromium-69.0.3497.81-build-sanely-please.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot chromium-69.0.3497.81/build/config/BUILD.gn ---- chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot 2018-09-06 13:43:44.863375238 -0400 -+++ chromium-69.0.3497.81/build/config/BUILD.gn 2018-09-06 13:43:58.377083290 -0400 -@@ -284,9 +284,9 @@ group("executable_and_loadable_module_an - public_deps += [ "//build/config/sanitizers:deps" ] - } - -- if (use_custom_libcxx) { -- public_deps += [ "//buildtools/third_party/libc++" ] -- } -+ # if (use_custom_libcxx) { -+ # public_deps += [ "//buildtools/third_party/libc++" ] -+ # } - - if (use_afl) { - public_deps += [ "//third_party/afl" ] -diff -up chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot chromium-69.0.3497.81/build/config/sysroot.gni ---- chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot 2018-09-06 13:40:46.212232232 -0400 -+++ chromium-69.0.3497.81/build/config/sysroot.gni 2018-09-06 13:41:02.421882529 -0400 -@@ -15,9 +15,10 @@ declare_args() { - # The absolute path to directory containing linux sysroot images - target_sysroot_dir = "//build/linux" - -- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -- current_cpu == "arm" || current_cpu == "arm64" || -- current_cpu == "mipsel" || current_cpu == "mips64el" -+ use_sysroot = false -+ # use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -+ # current_cpu == "arm" || current_cpu == "arm64" || -+ # current_cpu == "mipsel" || current_cpu == "mips64el" - } - - if (current_os == target_os && current_cpu == target_cpu && diff --git a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch b/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch deleted file mode 100644 index ccecfcb..0000000 --- a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h ---- chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat 2018-11-06 13:27:05.118766581 -0500 -+++ chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h 2018-11-06 13:27:34.575204504 -0500 -@@ -5,6 +5,8 @@ - #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - -+#define __ARCH_WANT_NEW_STAT -+ - #include - - #if !defined(__NR_io_setup) diff --git a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch b/chromium-71.0.3578.98-skia-aarch64-buildfix.patch deleted file mode 100644 index 5da1674..0000000 --- a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h ---- chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-12-14 11:17:43.249121756 -0500 -+++ chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-12-14 11:20:07.770030234 -0500 -@@ -658,7 +658,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -678,7 +678,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-72.0.3626.121-notest.patch b/chromium-72.0.3626.121-notest.patch deleted file mode 100644 index e8b7bf4..0000000 --- a/chromium-72.0.3626.121-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd ---- chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest 2019-03-10 13:54:17.843583876 -0400 -+++ chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd 2019-03-10 14:03:29.302063637 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch b/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch deleted file mode 100644 index f8abb52..0000000 --- a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn ---- chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc 2019-03-13 10:29:00.331009643 -0400 -+++ chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn 2019-03-13 10:29:28.344458746 -0400 -@@ -31,7 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm64" -@@ -50,7 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm" -@@ -101,7 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks -g1" -+ extra_cppflags = "-g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -155,7 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -190,7 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-75.0.3770.100-git00281713.patch b/chromium-75.0.3770.100-git00281713.patch deleted file mode 100644 index 4356435..0000000 --- a/chromium-75.0.3770.100-git00281713.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc ---- chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 2019-07-02 09:10:38.951369854 -0400 -+++ chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc 2019-07-02 09:11:59.864642942 -0400 -@@ -12,13 +12,19 @@ - #include "chrome/browser/performance_manager/graph/process_node_impl.h" - #include "chrome/browser/performance_manager/performance_manager.h" - #include "chrome/browser/performance_manager/render_process_user_data.h" -+#include "content/public/browser/render_process_host.h" - #include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" - - namespace { - - void BindProcessNode( -- content::RenderProcessHost* render_process_host, -+ int render_process_host_id, - resource_coordinator::mojom::ProcessCoordinationUnitRequest request) { -+ content::RenderProcessHost* render_process_host = -+ content::RenderProcessHost::FromID(render_process_host_id); -+ if (!render_process_host) -+ return; -+ - performance_manager::RenderProcessUserData* user_data = - performance_manager::RenderProcessUserData::GetForRenderProcessHost( - render_process_host); -@@ -47,8 +53,7 @@ void ChromeContentBrowserClientPerforman - blink::AssociatedInterfaceRegistry* associated_registry, - content::RenderProcessHost* render_process_host) { - registry->AddInterface( -- base::BindRepeating(&BindProcessNode, -- base::Unretained(render_process_host)), -+ base::BindRepeating(&BindProcessNode, render_process_host->GetID()), - base::SequencedTaskRunnerHandle::Get()); - - // Ideally this would strictly be a "CreateForRenderProcess", but when a diff --git a/chromium-75.0.3770.80-SIOCGSTAMP.patch b/chromium-75.0.3770.80-SIOCGSTAMP.patch deleted file mode 100644 index 0ef1e7f..0000000 --- a/chromium-75.0.3770.80-SIOCGSTAMP.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h ---- chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP 2019-06-06 10:04:57.050403639 -0400 -+++ chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h 2019-06-06 10:06:03.975121688 -0400 -@@ -16,6 +16,11 @@ - #define WEBRTC_USE_EPOLL 1 - #endif - -+// for SIOCGSTAMP in Linux 5.2 -+#if defined(WEBRTC_LINUX) -+#include -+#endif -+ - #include - #include - #include diff --git a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch b/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch deleted file mode 100644 index 2a8ac2f..0000000 --- a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc ---- chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix 2019-06-06 12:42:27.431575032 -0400 -+++ chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc 2019-06-06 12:43:05.692848409 -0400 -@@ -31,8 +31,8 @@ void CompositorFrameReportingController: - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/chromium-75.0.3770.80-gcc-no-assume.patch b/chromium-75.0.3770.80-gcc-no-assume.patch deleted file mode 100644 index 0bbb08f..0000000 --- a/chromium-75.0.3770.80-gcc-no-assume.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume chromium-75.0.3770.80/third_party/angle/src/common/debug.h ---- chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume 2019-06-06 17:38:01.876631704 -0400 -+++ chromium-75.0.3770.80/third_party/angle/src/common/debug.h 2019-06-07 09:30:06.205446547 -0400 -@@ -248,7 +248,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define EVENT(message, ...) (void(0)) - #endif - --#if defined(COMPILER_GCC) || defined(__clang__) -+#if defined(__GNUC__) - # define ANGLE_CRASH() __builtin_trap() - #else - # define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0) -@@ -336,7 +336,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop") --#elif defined(COMPILER_GCC) -+#elif defined(__GNUC__) - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop") diff --git a/chromium-75.0.3770.80-revert-daff6b.patch b/chromium-75.0.3770.80-revert-daff6b.patch deleted file mode 100644 index f996898..0000000 --- a/chromium-75.0.3770.80-revert-daff6b.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc ---- chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b 2019-06-06 14:54:13.819190586 -0400 -+++ chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc 2019-06-06 14:54:31.892839991 -0400 -@@ -154,8 +154,7 @@ AutocompleteMatch::AutocompleteMatch(con - additional_info(match.additional_info), - duplicate_matches(match.duplicate_matches) {} - --AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) noexcept = -- default; -+AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) = default; - - AutocompleteMatch::~AutocompleteMatch() { - } diff --git a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch deleted file mode 100644 index 690f0f9..0000000 --- a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx chromium-76.0.3809.100/services/device/usb/usb_context.cc ---- chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx 2019-08-12 15:40:49.034170484 +0200 -+++ chromium-76.0.3809.100/services/device/usb/usb_context.cc 2019-08-12 15:41:23.775558867 +0200 -@@ -58,7 +58,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) { diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch deleted file mode 100644 index c836214..0000000 --- a/chromium-77.0.3865.75-boolfix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 -@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch deleted file mode 100644 index 920a53e..0000000 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 -@@ -23,9 +23,8 @@ - // Where available use builtin math overflow support on Clang and GCC. - #elif !defined(__native_client__) && \ - ((defined(__clang__) && \ -- ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ > 3) || \ -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch deleted file mode 100644 index 34b858a..0000000 --- a/chromium-77.0.3865.75-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 -+++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 -+++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 -+++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium.spec b/chromium.spec index f0af194..e32ff17 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,114 +164,61 @@ Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) ### Chromium Fedora Patches ### -Patch0: chromium-67.0.3396.62-gcc5.patch -Patch1: chromium-45.0.2454.101-linux-path-max.patch -Patch2: chromium-55.0.2883.75-addrfix.patch -Patch3: chromium-72.0.3626.121-notest.patch -# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch4: chromium-76.0.3809.100-libusb_interrupt_event_handler.patch -# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -Patch6: chromium-70.0.3538.67-sandbox-pie.patch +Patch0: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for master_prefs -Patch7: chromium-68.0.3440.106-master-prefs-path.patch +Patch1: chromium-68.0.3440.106-master-prefs-path.patch # Use gn system files -Patch8: chromium-67.0.3396.62-gn-system.patch -# Fix issue where timespec is not defined when sys/stat.h is included. -Patch9: chromium-53.0.2785.92-boringssl-time-fix.patch -# I wouldn't have to do this if there was a standard way to append extra compiler flags -Patch10: chromium-63.0.3289.84-nullfix.patch -# Add explicit includedir for jpeglib.h -Patch11: chromium-54.0.2840.59-jpeg-include-dir.patch -# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. -Patch12: chromium-59.0.3071.86-i686-ld-memory-tricks.patch +Patch2: chromium-67.0.3396.62-gn-system.patch # Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 # https://bugs.chromium.org/p/chromium/issues/detail?id=712737 # https://bugzilla.redhat.com/show_bug.cgi?id=1446851 -Patch13: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch -# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch14: chromium-64.0.3282.119-ffmpeg-stdatomic.patch -# Nacl can't die soon enough -Patch15: chromium-66.0.3359.117-system-clang.patch +Patch3: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch # Do not prefix libpng functions -Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch +Patch4: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg -Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch +Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch -# Fix libavutil include pathing to find arch specific timer.h -# For some reason, this only fails on aarch64. No idea why. -Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch -# from gentoo -Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch -# From gentoo -Patch21: chromium-77.0.3865.75-gcc5-r3.patch -# To use round with gcc, you need to #include -Patch22: chromium-65.0.3325.146-gcc-round-fix.patch -# Include proper headers to invoke memcpy() -Patch23: chromium-65.0.3325.146-memcpy-fix.patch -# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-77.0.3865.75-boolfix.patch -# From Debian -Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch +Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch27: chromium-73.0.3683.75-norar.patch -# Upstream GCC fixes -Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch -# Add "Fedora" to the user agent string -Patch29: chromium-77.0.3865.75-fedora-user-agent.patch -# Try to fix version.py for Rawhide -Patch30: chromium-71.0.3578.98-py2-bootstrap.patch -# Fix default on redeclaration error -# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 -Patch31: chromium-68.0.3440.106-fix-default-on-redeclaration.patch +Patch7: chromium-73.0.3683.75-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch -Patch32: chromium-71.0.3578.98-widevine-r3.patch -# Do not require sysroot -# Forget about trying to make libc++ -# BUILD SANELY PLEASE -Patch33: chromium-69.0.3497.81-build-sanely-please.patch +Patch8: chromium-71.0.3578.98-widevine-r3.patch # Disable fontconfig cache magic that breaks remoting -Patch34: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix aarch64 build against latest linux kernel headers -Patch35: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +Patch9: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) -Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +Patch10: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places -Patch37: chromium-widevine-other-locations.patch -# Disable -fno-delete-null-pointer-checks -Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it -Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch -# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 -# It might make clang happy but it breaks gcc. F*** clang. -Patch43: chromium-75.0.3770.80-revert-daff6b.patch +Patch11: chromium-widevine-other-locations.patch +# Try to fix version.py for Rawhide +Patch12: chromium-71.0.3578.98-py2-bootstrap.patch +# Add "Fedora" to the user agent string +Patch13: chromium-77.0.3865.75-fedora-user-agent.patch + # rename function to avoid conflict with rawhide glibc "gettid()" -Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch +Patch50: chromium-75.0.3770.80-grpc-gettid-fix.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a -Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +Patch51: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Needs to be submitted.. -Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +Patch52: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) -Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +Patch53: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-77.0.3865.75-certificate-transparency.patch +Patch54: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch -Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +Patch55: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. -Patch66: chromium-77.0.3865.75-gcc-include-memory.patch -# Needs to be submitted.. -Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +Patch56: chromium-77.0.3865.75-gcc-include-memory.patch +# https://chromium.googlesource.com/chromium/src/+/6b633c4b14850df376d5cec571699018772f358e +Patch57: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 -Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 -Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 -Patch70: chromium-77.0.3865.75-missing-limits.patch +Patch60: chromium-77.0.3865.75-missing-limits.patch -# Apply these changes to work around EPEL7 compiler issues -Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch @@ -757,60 +704,40 @@ udev. %setup -q -n chromium-%{version} ### Chromium Fedora Patches ### -%patch0 -p1 -b .gcc5 -%patch1 -p1 -b .pathmax -%patch2 -p1 -b .addrfix -%patch3 -p1 -b .notest -%patch4 -p1 -b .modern-libusbx -%patch6 -p1 -b .sandboxpie -%patch7 -p1 -b .etc -%patch8 -p1 -b .gnsystem -%patch9 -p1 -b .timefix -%patch10 -p1 -b .nullfix -%patch11 -p1 -b .jpegfix -%patch12 -p1 -b .ldmemory -%patch13 -p1 -b .revert -%patch14 -p1 -b .ffmpeg-stdatomic -%patch15 -p1 -b .system-clang -%patch16 -p1 -b .noprefix -%patch17 -p1 -b .nomangle -%patch18 -p1 -b .nozmangle -%patch19 -p1 -b .pathfix -%patch20 -p1 -b .nogccoptmath -%patch21 -p1 -b .gcc5-r3 -%patch22 -p1 -b .gcc-round-fix -%patch23 -p1 -b .memcpyfix -%patch24 -p1 -b .boolfix -#%patch25 -p1 -b .aarch64fix -%patch27 -p1 -b .nounrar -%patch28 -p1 -b .gcc-cpolicyprovider -%patch29 -p1 -b .fedora-user-agent -%patch30 -p1 -b .py2 -%patch31 -p1 -b .fix-default-redeclaration -%patch32 -p1 -b .wvhack -%patch33 -p1 -b .sanebuild -%patch34 -p1 -b .nofc -%patch35 -p1 -b .aarch64-new-stat -%patch36 -p1 -b .gcc9 -%patch37 -p1 -b .widevine-other-locations -%patch38 -p1 -b .disable-ndnpc -%patch41 -p1 -b .SIOCGSTAMP -%patch43 -p1 -b .revert-daff6b -%patch45 -p1 -b .gettid-fix -%patch61 -p1 -b .gcc-no-alignas-and-export -%patch62 -p1 -b .gcc-remoting-constexpr -%patch63 -p1 -b .vtable-symbol-undefined -%patch64 -p1 -b .certificate-transparency -%patch65 -p1 -b .unbundle-zlib -%patch66 -p1 -b .gcc-include-memory -%patch67 -p1 -b .base-gcc-no-alignas -%patch68 -p1 -b .harfbuzz-subset -%patch69 -p1 -b .gcc-abstract-class -%patch70 -p1 -b .missing-limits +%patch0 -p1 -b .sandboxpie +%patch1 -p1 -b .etc +%patch2 -p1 -b .gnsystem +%patch3 -p1 -b .revert +%patch4 -p1 -b .nolibpngprefix +%patch5 -p1 -b .nolibjpegmangle +%patch6 -p1 -b .nozlibmangle +%patch7 -p1 -b .nounrar +%patch8 -p1 -b .widevine-hack +%patch9 -p1 -b .nofontconfigcache +%patch10 -p1 -b .gcc9 +%patch11 -p1 -b .widevine-other-locations +%patch12 -p1 -b .py2 + +# Short term fixes (usually gcc and backports) +%patch50 -p1 -b .gettid-fix +%patch51 -p1 -b .gcc-no-alignas-and-export +%patch52 -p1 -b .gcc-remoting-constexpr +%patch53 -p1 -b .vtable-symbol-undefined +%patch54 -p1 -b .certificate-transparency +%patch55 -p1 -b .unbundle-zlib +%patch56 -p1 -b .gcc-include-memory +%patch57 -p1 -b .base-gcc-no-alignas +%patch58 -p1 -b .harfbuzz-subset +%patch59 -p1 -b .gcc-abstract-class +%patch60 -p1 -b .missing-limits + +# Fedora branded user agent +%if 0%{?fedora} +%patch13 -p1 -b .fedora-user-agent +%endif # EPEL specific patches %if 0%{?rhel} == 7 -%patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept %endif @@ -1287,6 +1214,11 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +# Decrease the debuginfo verbosity, so it compiles in koji +%ifarch %{ix86} +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + echo # Now do the full browser %if 0%{freeworld} From 6bae3df5bc0ae8a223b79879956160aebf252b8b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:21:06 +0200 Subject: [PATCH 153/171] Fix the icon So the monochromatic icon is being shown even in the GNOME's overview and it's ugly (as it's upscaled from 22x22). Remove it. --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index e32ff17..d9399c5 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1388,8 +1388,6 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps -cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From 3d796422d5a4839b4a085c5ff26b57e3d2fc531d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:25:20 +0200 Subject: [PATCH 154/171] Fix the icon Remove quite a few of downstream patches Fix the crashes by backporting an upstream bug Resolves: rhbz#1754179 --- chromium-77.0.3865.90-linked-hash-set.patch | 130 ++++++++++++++++++++ chromium.spec | 11 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 chromium-77.0.3865.90-linked-hash-set.patch diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch new file mode 100644 index 0000000..f921f1a --- /dev/null +++ b/chromium-77.0.3865.90-linked-hash-set.patch @@ -0,0 +1,130 @@ +From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 +From: Jeremy Roman +Date: Wed, 07 Aug 2019 13:26:48 +0000 +Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. + +Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. + +Bug: 980025 +Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 +Reviewed-by: Kentaro Hara +Reviewed-by: Yutaka Hirano +Commit-Queue: Jeremy Roman +Cr-Commit-Position: refs/heads/master@{#684731} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h +index 0efc8fb..90063cb 100644 +--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h ++++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h +@@ -133,6 +133,10 @@ + + struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { + STATIC_ONLY(FontCacheKeyTraits); ++ ++ // std::string's empty state need not be zero in all implementations, ++ // and it is held within FontFaceCreationParams. ++ static const bool kEmptyValueIsZero = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +index b35b6e9..77e524c 100644 +--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h ++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +@@ -146,6 +146,11 @@ + LinkedHashSetNodeBase* next) + : LinkedHashSetNodeBase(prev, next), value_(value) {} + ++ LinkedHashSetNode(ValueArg&& value, ++ LinkedHashSetNodeBase* prev, ++ LinkedHashSetNodeBase* next) ++ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} ++ + LinkedHashSetNode(LinkedHashSetNode&& other) + : LinkedHashSetNodeBase(std::move(other)), + value_(std::move(other.value_)) {} +@@ -445,10 +450,13 @@ + + // The slot is empty when the next_ field is zero so it's safe to zero + // the backing. +- static const bool kEmptyValueIsZero = true; ++ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; + + static const bool kHasIsEmptyValueFunction = true; + static bool IsEmptyValue(const Node& node) { return !node.next_; } ++ static Node EmptyValue() { ++ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); ++ } + + static const int kDeletedValue = -1; + +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +index 4c3f899..cd1be00 100644 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +@@ -487,6 +487,7 @@ + }; + + struct Complicated { ++ Complicated() : Complicated(0) {} + Complicated(int value) : simple_(value) { objects_constructed_++; } + + Complicated(const Complicated& other) : simple_(other.simple_) { +@@ -495,9 +496,6 @@ + + Simple simple_; + static int objects_constructed_; +- +- private: +- Complicated() = delete; + }; + + int Complicated::objects_constructed_ = 0; +@@ -731,4 +729,45 @@ + + } // anonymous namespace + ++// A unit type which objects to its state being initialized wrong. ++struct InvalidZeroValue { ++ InvalidZeroValue() = default; ++ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} ++ ~InvalidZeroValue() { CHECK(ok_); } ++ bool IsHashTableDeletedValue() const { return deleted_; } ++ ++ bool ok_ = true; ++ bool deleted_ = false; ++}; ++ ++template <> ++struct HashTraits : SimpleClassHashTraits { ++ static const bool kEmptyValueIsZero = false; ++}; ++ ++template <> ++struct DefaultHash { ++ struct Hash { ++ static unsigned GetHash(const InvalidZeroValue&) { return 0; } ++ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { ++ return true; ++ } ++ }; ++}; ++ ++template ++class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; ++ ++using InvalidZeroValueSetTypes = ++ testing::Types, ++ ListHashSet, ++ LinkedHashSet>; ++TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); ++ ++TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { ++ using Set = TypeParam; ++ Set set; ++ set.insert(InvalidZeroValue()); ++} ++ + } // namespace WTF diff --git a/chromium.spec b/chromium.spec index d9399c5..f962e02 100644 --- a/chromium.spec +++ b/chromium.spec @@ -158,7 +158,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.90 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -218,6 +218,8 @@ Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 Patch60: chromium-77.0.3865.75-missing-limits.patch +# https://chromium.googlesource.com/chromium/src/+/74138b9febd37eac0fc26b8efb110014a83a52c6 +Patch61: chromium-77.0.3865.90-linked-hash-set.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -730,6 +732,7 @@ udev. %patch58 -p1 -b .harfbuzz-subset %patch59 -p1 -b .gcc-abstract-class %patch60 -p1 -b .missing-limits +%patch61 -p1 -b .linked-hash-set # Fedora branded user agent %if 0%{?fedora} @@ -1632,6 +1635,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 +- Fix the icon +- Remove quite a few of downstream patches +- Fix the crashes by backporting an upstream bug +- Resolves: rhbz#1754179 + * Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 - Update to 77.0.3865.90 From 430c02ae6ec1d4dd86bfb77883f2448bafa73216 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Sun, 15 Sep 2019 13:36:44 +0200 Subject: [PATCH 155/171] Don't try to revert a previously removed patch --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 6b2691a..38d8c20 100644 --- a/chromium.spec +++ b/chromium.spec @@ -862,8 +862,6 @@ udev. %patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept -# Revert patch58 because it's breaking the build on el7 -%patch58 -R -p1 %endif # Feature specific patches From 20eba058de554633ffb2d407e25fa2a0190f050b Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:37:33 +0200 Subject: [PATCH 156/171] Remove support for (p)NaCL We don't build it for quite some time and will by killed by Google in Spring 2020. Let's drop the support for it from the SPEC file. We can revert this patch if needed. --- ...526.80-nacl-ignore-broken-fd-counter.patch | 27 --- ...m-47.0.2526.80-pnacl-fgnu-inline-asm.patch | 11 -- chromium.spec | 187 ------------------ 3 files changed, 225 deletions(-) delete mode 100644 chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch delete mode 100644 chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch diff --git a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch b/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch deleted file mode 100644 index c422957..0000000 --- a/chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc ---- chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count 2015-12-15 14:48:07.119011866 -0500 -+++ chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc 2015-12-15 14:48:14.151850055 -0500 -@@ -153,6 +153,14 @@ void NaClSandbox::InitializeLayerOneSand - } - - void NaClSandbox::CheckForExpectedNumberOfOpenFds() { -+ // Whatever logic this code is using is wrong more often than it is right. -+ // If you set expected_num_fds to 6, it finds 7. -+ // If you set expected_num_fds to 7, it finds 6. -+ // Code like this makes a packager drink. And not the good stuff either. -+ // Instead, we're just going to smile and tell it to never care about the -+ // number of FDs open. Stupid code. We hates it. -+ -+#if 0 - // We expect to have the following FDs open: - // 1-3) stdin, stdout, stderr. - // 4) The /dev/urandom FD used by base::GetUrandomFD(). -@@ -171,6 +179,8 @@ void NaClSandbox::CheckForExpectedNumber - } - - CHECK_EQ(expected_num_fds, sandbox::ProcUtil::CountOpenFds(proc_fd_.get())); -+#endif -+ - } - - void NaClSandbox::InitializeLayerTwoSandbox(bool uses_nonsfi_mode) { diff --git a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch b/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch deleted file mode 100644 index bfe0422..0000000 --- a/chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme chromium-47.0.2526.80/native_client/build/untrusted.gypi ---- chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme 2015-12-09 11:54:27.584962337 -0500 -+++ chromium-47.0.2526.80/native_client/build/untrusted.gypi 2015-12-09 11:54:45.033571750 -0500 -@@ -1564,6 +1564,7 @@ - '-Wno-char-subscripts', - '-Wno-unused-function', - '-std=gnu++11', -+ '-fgnu-inline-asm', - ], - 'native_irt_compile_flags': [ - # IRT compile/link flags to make the binary smaller. diff --git a/chromium.spec b/chromium.spec index 38d8c20..7fe074d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -70,32 +70,11 @@ # If we build with shared on, then chrome-remote-desktop depends on chromium libs. # If we build with shared off, then users cannot swap out libffmpeg (and i686 gets a lot harder to build) %global shared 1 -# We should not need to turn this on. The app in the webstore _should_ work. -%global build_remoting_app 0 # AddressSanitizer mode # https://www.chromium.org/developers/testing/addresssanitizer %global asan 0 -# nacl/pnacl are soon to be dead. We're just killing them off early. -%global killnacl 1 - -%if 0%{?killnacl} - %global nacl 0 - %global nonacl 1 -%else -# TODO: Try arm (nacl disabled) -%if 0%{?fedora} - %ifarch i686 - %global nacl 0 - %global nonacl 1 - %else - %global nacl 1 - %global nonacl 0 - %endif -%endif -%endif - %if 0 # Chromium's fork of ICU is now something we can't unbundle. # This is left here to ease the change if that ever switches. @@ -298,16 +277,6 @@ Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch Patch102: chromium-77.0.3865.75-el7-noexcept.patch -# In file included from ../linux/directory.c:21: -# In file included from ../../../../native_client/src/nonsfi/linux/abi_conversion.h:20: -# ../../../../native_client/src/nonsfi/linux/linux_syscall_structs.h:44:13: error: GNU-style inline assembly is disabled -# __asm__ __volatile__("mov %%gs, %0" : "=r"(gs)); -# ^ -# 1 error generated. -Patch200: chromium-47.0.2526.80-pnacl-fgnu-inline-asm.patch -# Ignore broken nacl open fd counter -Patch201: chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch - # Enable VAAPI support on Linux # NOTE: This patch will never land upstream Patch202: enable-vaapi.patch @@ -415,24 +384,6 @@ BuildRequires: libappstream-glib # gn needs these BuildRequires: libstdc++-static BuildRequires: libstdc++-devel, openssl-devel -%if 0%{?nacl} -BuildRequires: nacl-gcc, nacl-binutils, nacl-newlib -BuildRequires: nacl-arm-gcc, nacl-arm-binutils, nacl-arm-newlib -# pNaCl needs this monster -# It's possible that someday this dep will stabilize, but -# right now, it needs to be updated everytime chromium bumps -# a major version. -BuildRequires: chromium-native_client >= 52.0.2743.82 -BuildRequires: clang -BuildRequires: llvm -%ifarch x86_64 -# Really, this is what we want: -# BuildRequires: glibc-devel(x86-32) libgcc(x86-32) -# But, koji only offers glibc32. Maybe that's enough. -# This BR will pull in either glibc.i686 or glibc32. -BuildRequires: /lib/libc.so.6 /usr/lib/libc.so -%endif -%endif # Fedora tries to use system libs whenever it can. BuildRequires: bzip2-devel BuildRequires: dbus-glib-devel @@ -865,11 +816,6 @@ udev. %endif # Feature specific patches -%if ! 0%{?killnacl} -%patch200 -p1 -b .gnu-inline -%patch201 -p1 -b .ignore-fd-count -%endif - %if %{use_vaapi} %patch202 -p1 -b .vaapi %ifarch i686 @@ -898,101 +844,6 @@ export RANLIB="ranlib" rm -rf buildtools/third_party/libc++/BUILD.gn -%if 0%{?nacl} -# prep the nacl tree -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib -cp -a --no-preserve=context /usr/%{_arch}-nacl/* out/Release/gen/sdk/linux_x86/nacl_x86_newlib - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib -cp -a --no-preserve=context /usr/arm-nacl/* out/Release/gen/sdk/linux_x86/nacl_arm_newlib - -# Not sure if we need this or not, but better safe than sorry. -pushd out/Release/gen/sdk/linux_x86 -ln -s nacl_x86_newlib nacl_x86_newlib_raw -ln -s nacl_arm_newlib nacl_arm_newlib_raw -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_x86_newlib/bin -ln -s /usr/bin/x86_64-nacl-gcc gcc -ln -s /usr/bin/x86_64-nacl-gcc x86_64-nacl-gcc -ln -s /usr/bin/x86_64-nacl-g++ g++ -ln -s /usr/bin/x86_64-nacl-g++ x86_64-nacl-g++ -# ln -s /usr/bin/x86_64-nacl-ar ar -ln -s /usr/bin/x86_64-nacl-ar x86_64-nacl-ar -# ln -s /usr/bin/x86_64-nacl-as as -ln -s /usr/bin/x86_64-nacl-as x86_64-nacl-as -# ln -s /usr/bin/x86_64-nacl-ranlib ranlib -ln -s /usr/bin/x86_64-nacl-ranlib x86_64-nacl-ranlib -# Cleanups -rm addr2line -ln -s /usr/bin/x86_64-nacl-addr2line addr2line -rm c++filt -ln -s /usr/bin/x86_64-nacl-c++filt c++filt -rm gprof -ln -s /usr/bin/x86_64-nacl-gprof gprof -rm readelf -ln -s /usr/bin/x86_64-nacl-readelf readelf -rm size -ln -s /usr/bin/x86_64-nacl-size size -rm strings -ln -s /usr/bin/x86_64-nacl-strings strings -popd - -mkdir -p out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -pushd out/Release/gen/sdk/linux_x86/nacl_arm_newlib/bin -ln -s /usr/bin/arm-nacl-gcc gcc -ln -s /usr/bin/arm-nacl-gcc arm-nacl-gcc -ln -s /usr/bin/arm-nacl-g++ g++ -ln -s /usr/bin/arm-nacl-g++ arm-nacl-g++ -ln -s /usr/bin/arm-nacl-ar arm-nacl-ar -ln -s /usr/bin/arm-nacl-as arm-nacl-as -ln -s /usr/bin/arm-nacl-ranlib arm-nacl-ranlib -popd - -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_x86_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_x86_newlib/nacl_x86_newlib.json -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.untar out/Release/gen/sdk/linux_x86/nacl_arm_newlib/stamp.prep -touch out/Release/gen/sdk/linux_x86/nacl_arm_newlib/nacl_arm_newlib.json - -pushd out/Release/gen/sdk/linux_x86/ -mkdir -p pnacl_newlib pnacl_translator -# Might be able to do symlinks here, but eh. -cp -a --no-preserve=context /usr/pnacl_newlib/* pnacl_newlib/ -cp -a --no-preserve=context /usr/pnacl_translator/* pnacl_translator/ -for i in lib/libc.a lib/libc++.a lib/libg.a lib/libm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/x86_64_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/i686_bc-nacl/$i - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/libpthread.a lib/libnacl.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/le32-nacl/$i -done - -for i in lib/clang/3.7.0/lib/x86_64_bc-nacl/libpnaclmm.a lib/clang/3.7.0/lib/i686_bc-nacl/libpnaclmm.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -for i in lib/clang/3.7.0/lib/le32-nacl/libpnaclmm.a lib/clang/3.7.0/lib/le32-nacl/libgcc.a; do - /usr/pnacl_newlib/bin/pnacl-ranlib pnacl_newlib/$i -done - -popd - -mkdir -p native_client/toolchain/.tars/linux_x86 -touch native_client/toolchain/.tars/linux_x86/pnacl_translator.json - -pushd native_client/toolchain -ln -s ../../out/Release/gen/sdk/linux_x86 linux_x86 -popd - -mkdir -p third_party/llvm-build/Release+Asserts/bin -pushd third_party/llvm-build/Release+Asserts/bin -ln -s /usr/bin/clang clang -popd -%endif - # Unpack fonts %if %{freeworld} # no font fun needed. @@ -1063,9 +914,7 @@ export CHROMIUM_CORE_GN_DEFINES CHROMIUM_BROWSER_GN_DEFINES="" CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true icu_use_data_file=true' -%if 0%{?nonacl} CHROMIUM_BROWSER_GN_DEFINES+=' enable_nacl=false' -%endif %if 0%{?shared} CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' %else @@ -1227,9 +1076,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libwebm' \ 'third_party/libwebp' \ 'third_party/libyuv' \ -%if 0%{?nacl} - 'third_party/llvm-build' \ -%endif 'third_party/lss' \ 'third_party/lzma_sdk' \ %if 0 @@ -1460,19 +1306,7 @@ echo # remote client # ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources %build_target %{remotingbuilddir} remoting_all -%if 0%{?build_remoting_app} -%if 0%{?nacl} -export GOOGLE_CLIENT_ID_REMOTING_IDENTITY_API=%{chromoting_client_id} -%build_target %{builddir} remoting_webapp %endif -%endif - -%endif - -# Nuke nacl/pnacl bits at the end of the build -rm -rf %{builddir}/gen/sdk -rm -rf native_client/toolchain -rm -rf third_party/llvm-build/* %install rm -rf %{buildroot} @@ -1511,10 +1345,6 @@ mkdir -p %{buildroot}%{_mandir}/man1/ pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} -%if 0%{?nacl} -cp -a nacl_helper* *.nexe pnacl tls_edit %{buildroot}%{chromium_path} -chmod -x %{buildroot}%{chromium_path}/nacl_helper_bootstrap* *.nexe -%endif # Reasonably sure we don't need this anymore. Chrome doesn't include it. %if 0 cp -a protoc pyproto %{buildroot}%{chromium_path} @@ -1596,12 +1426,6 @@ pushd %{buildroot}%{_sysconfdir}/pam.d/ ln -s system-auth chrome-remote-desktop popd -%if 0%{?build_remoting_app} -%if 0%{?nacl} -cp -a remoting_client_plugin_newlib.* %{buildroot}%{chromium_path} -%endif -%endif - %if %{build_headless} pushd %{headlessbuilddir} cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} @@ -1742,12 +1566,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %ifarch x86_64 i686 aarch64 %{chromium_path}/swiftshader/ %endif -%if 0%{?nacl} -%{chromium_path}/nacl_helper* -%{chromium_path}/*.nexe -%{chromium_path}/pnacl/ -%{chromium_path}/tls_edit -%endif %dir %{chromium_path}/PepperFlash/ %if 0 %{chromium_path}/protoc @@ -1861,11 +1679,6 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{crd_path}/user-session %{_unitdir}/chrome-remote-desktop@.service /var/lib/chrome-remote-desktop/ -%if 0%{?build_remoting_app} -%if 0%{?nacl} -%{chromium_path}/remoting_client_plugin_newlib.* -%endif -%endif %files -n chromedriver %doc AUTHORS From 94ec5c2f5bdd33d4ab71b6fc0d7e2a9b7d1fa55e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:45:43 +0200 Subject: [PATCH 157/171] Fix how the arguments are passed to GN's bootstrap.py I don't know why, but previously it was failing only on aarch64. --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 7fe074d..c41439f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1256,7 +1256,7 @@ if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ exit 1 ; \ fi -tools/gn/bootstrap/bootstrap.py -v "$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" +tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir} %if %{freeworld} From a472406f7f0e3316065738abf4a1f0d7d56a5d56 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 20 Sep 2019 09:57:18 +0200 Subject: [PATCH 158/171] Remove the unused patches or patches that are not needed anymore Also replace some patches with changes in the SPEC file. --- chromium-45.0.2454.101-linux-path-max.patch | 44 ---- ...mium-53.0.2785.92-boringssl-time-fix.patch | 11 - chromium-54.0.2840.59-jpeg-include-dir.patch | 11 - chromium-55.0.2883.75-addrfix.patch | 11 - ...m-59.0.3071.86-i686-ld-memory-tricks.patch | 12 -- ...113-libavutil-timer-include-path-fix.patch | 21 -- ...mium-62.0.3202.62-kmaxskip-constexpr.patch | 12 -- chromium-63.0.3289.84-nullfix.patch | 43 ---- chromium-64.0.3282.119-ffmpeg-stdatomic.patch | 17 -- chromium-65.0.3325.146-gcc-round-fix.patch | 12 -- chromium-65.0.3325.146-memcpy-fix.patch | 12 -- ...-declare-ConfigurationPolicyProvider.patch | 18 -- chromium-66.0.3359.117-system-clang.patch | 12 -- chromium-67.0.3396.62-gcc5.patch | 12 -- ...440.106-fix-default-on-redeclaration.patch | 30 --- ...ium-69.0.3497.81-build-sanely-please.patch | 33 --- ...0.3538.77-aarch64-arch-want-new-stat.patch | 12 -- ...m-71.0.3578.98-skia-aarch64-buildfix.patch | 21 -- chromium-72.0.3626.121-notest.patch | 11 - ...sable-fno-delete-null-pointer-checks.patch | 48 ----- chromium-75.0.3770.100-git00281713.patch | 34 --- chromium-75.0.3770.80-SIOCGSTAMP.patch | 15 -- ...5.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch | 14 -- chromium-75.0.3770.80-gcc-no-assume.patch | 21 -- chromium-75.0.3770.80-revert-daff6b.patch | 13 -- ...9.100-libusb_interrupt_event_handler.patch | 15 -- chromium-77.0.3865.75-boolfix.patch | 24 --- ...um-77.0.3865.75-gcc-no-opt-safe-math.patch | 15 -- chromium-77.0.3865.75-gcc5-r3.patch | 36 ---- chromium.spec | 198 ++++++------------ 30 files changed, 65 insertions(+), 723 deletions(-) delete mode 100644 chromium-45.0.2454.101-linux-path-max.patch delete mode 100644 chromium-53.0.2785.92-boringssl-time-fix.patch delete mode 100644 chromium-54.0.2840.59-jpeg-include-dir.patch delete mode 100644 chromium-55.0.2883.75-addrfix.patch delete mode 100644 chromium-59.0.3071.86-i686-ld-memory-tricks.patch delete mode 100644 chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch delete mode 100644 chromium-62.0.3202.62-kmaxskip-constexpr.patch delete mode 100644 chromium-63.0.3289.84-nullfix.patch delete mode 100644 chromium-64.0.3282.119-ffmpeg-stdatomic.patch delete mode 100644 chromium-65.0.3325.146-gcc-round-fix.patch delete mode 100644 chromium-65.0.3325.146-memcpy-fix.patch delete mode 100644 chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch delete mode 100644 chromium-66.0.3359.117-system-clang.patch delete mode 100644 chromium-67.0.3396.62-gcc5.patch delete mode 100644 chromium-68.0.3440.106-fix-default-on-redeclaration.patch delete mode 100644 chromium-69.0.3497.81-build-sanely-please.patch delete mode 100644 chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch delete mode 100644 chromium-71.0.3578.98-skia-aarch64-buildfix.patch delete mode 100644 chromium-72.0.3626.121-notest.patch delete mode 100644 chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch delete mode 100644 chromium-75.0.3770.100-git00281713.patch delete mode 100644 chromium-75.0.3770.80-SIOCGSTAMP.patch delete mode 100644 chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch delete mode 100644 chromium-75.0.3770.80-gcc-no-assume.patch delete mode 100644 chromium-75.0.3770.80-revert-daff6b.patch delete mode 100644 chromium-76.0.3809.100-libusb_interrupt_event_handler.patch delete mode 100644 chromium-77.0.3865.75-boolfix.patch delete mode 100644 chromium-77.0.3865.75-gcc-no-opt-safe-math.patch delete mode 100644 chromium-77.0.3865.75-gcc5-r3.patch diff --git a/chromium-45.0.2454.101-linux-path-max.patch b/chromium-45.0.2454.101-linux-path-max.patch deleted file mode 100644 index 3146349..0000000 --- a/chromium-45.0.2454.101-linux-path-max.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax 2015-10-07 11:26:11.813477839 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h 2015-10-07 11:26:40.845845054 -0400 -@@ -12,6 +12,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - namespace nacl_io { - - class Path { -diff -up chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c ---- chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax 2015-08-22 15:02:08.000000000 -0400 -+++ chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c 2015-10-07 10:58:56.172018783 -0400 -@@ -11,6 +11,10 @@ - - #include - #include -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif - #include - #include - #include -diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c ---- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax 2015-10-09 10:57:38.424348662 -0400 -+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c 2015-10-09 10:57:51.541059938 -0400 -@@ -13,6 +13,11 @@ - - #include "sdk_util/macros.h" - -+/* Needed for PATH_MAX */ -+#ifndef PATH_MAX -+#define PATH_MAX 4096 -+#endif -+ - EXTERN_C_BEGIN - - #if defined(__native_client__) diff --git a/chromium-53.0.2785.92-boringssl-time-fix.patch b/chromium-53.0.2785.92-boringssl-time-fix.patch deleted file mode 100644 index 8d67957..0000000 --- a/chromium-53.0.2785.92-boringssl-time-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c ---- chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c.timefix 2016-09-06 15:20:06.094396255 -0400 -+++ chromium-53.0.2785.92/third_party/boringssl/src/crypto/x509/by_dir.c 2016-09-06 15:20:16.893187930 -0400 -@@ -56,6 +56,7 @@ - * [including the GNU Public Licence.] */ - - #include -+#include - #include - #include - diff --git a/chromium-54.0.2840.59-jpeg-include-dir.patch b/chromium-54.0.2840.59-jpeg-include-dir.patch deleted file mode 100644 index f96a56c..0000000 --- a/chromium-54.0.2840.59-jpeg-include-dir.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix chromium-54.0.2840.59/third_party/BUILD.gn ---- chromium-54.0.2840.59/third_party/BUILD.gn.jpegfix 2016-10-17 11:45:44.995340495 -0400 -+++ chromium-54.0.2840.59/third_party/BUILD.gn 2016-10-17 11:46:35.254289872 -0400 -@@ -20,6 +20,7 @@ declare_args() { - config("system_libjpeg_config") { - libs = [ "jpeg" ] - defines = [ "USE_SYSTEM_LIBJPEG" ] -+ include_dirs = [ "/usr/include/" ] - } - - config("libjpeg_turbo_config") { diff --git a/chromium-55.0.2883.75-addrfix.patch b/chromium-55.0.2883.75-addrfix.patch deleted file mode 100644 index 00c214c..0000000 --- a/chromium-55.0.2883.75-addrfix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix chromium-55.0.2883.75/third_party/boringssl/BUILD.gn ---- chromium-55.0.2883.75/third_party/boringssl/BUILD.gn.addrfix 2016-12-12 15:30:27.727834891 -0500 -+++ chromium-55.0.2883.75/third_party/boringssl/BUILD.gn 2016-12-12 15:30:53.095709352 -0500 -@@ -24,6 +24,7 @@ config("internal_config") { - "BORINGSSL_IMPLEMENTATION", - "BORINGSSL_NO_STATIC_INITIALIZER", - "OPENSSL_SMALL", -+ "_POSIX_C_SOURCE=200112L", - ] - configs = [ - # TODO(davidben): Fix size_t truncations in BoringSSL. diff --git a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch b/chromium-59.0.3071.86-i686-ld-memory-tricks.patch deleted file mode 100644 index 9dde4c5..0000000 --- a/chromium-59.0.3071.86-i686-ld-memory-tricks.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn ---- chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn.ldmemory 2017-06-07 15:37:09.436616113 -0400 -+++ chromium-59.0.3071.86/build/toolchain/linux/BUILD.gn 2017-06-07 15:38:04.508519102 -0400 -@@ -93,7 +93,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "-fno-delete-null-pointer-checks -g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true diff --git a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch b/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch deleted file mode 100644 index 7248825..0000000 --- a/chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h ---- chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h.pathfix 2017-08-25 15:29:12.143242471 -0400 -+++ chromium-60.0.3112.113/third_party/ffmpeg/libavutil/timer.h 2017-08-25 15:29:36.941835865 -0400 -@@ -39,13 +39,13 @@ - #include "log.h" - - #if ARCH_AARCH64 --# include "aarch64/timer.h" -+# include "libavutil/aarch64/timer.h" - #elif ARCH_ARM --# include "arm/timer.h" -+# include "libavutil/arm/timer.h" - #elif ARCH_PPC --# include "ppc/timer.h" -+# include "libavutil/ppc/timer.h" - #elif ARCH_X86 --# include "x86/timer.h" -+# include "libavutil/x86/timer.h" - #endif - - #if !defined(AV_READ_TIME) diff --git a/chromium-62.0.3202.62-kmaxskip-constexpr.patch b/chromium-62.0.3202.62-kmaxskip-constexpr.patch deleted file mode 100644 index d4f8250..0000000 --- a/chromium-62.0.3202.62-kmaxskip-constexpr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc ---- chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc.kmaxskip 2017-10-18 10:00:28.503714392 -0400 -+++ chromium-62.0.3202.62/cc/paint/paint_op_buffer.cc 2017-10-18 10:00:43.153430212 -0400 -@@ -336,7 +336,7 @@ TYPES(M); - #undef TYPES - - const SkRect PaintOp::kUnsetRect = {SK_ScalarInfinity, 0, 0, 0}; --const size_t PaintOp::kMaxSkip; -+constexpr size_t PaintOp::kMaxSkip; - - std::string PaintOpTypeToString(PaintOpType type) { - switch (type) { diff --git a/chromium-63.0.3289.84-nullfix.patch b/chromium-63.0.3289.84-nullfix.patch deleted file mode 100644 index c66aff1..0000000 --- a/chromium-63.0.3289.84-nullfix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn ---- chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn.nullfix 2017-12-06 15:05:21.000000000 -0500 -+++ chromium-63.0.3239.84/build/toolchain/linux/BUILD.gn 2017-12-07 10:44:34.507207080 -0500 -@@ -31,6 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm64" -@@ -49,6 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - current_cpu = "arm" -@@ -99,6 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -152,6 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -186,6 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -+ extra_cppflags = "-fno-delete-null-pointer-checks" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch b/chromium-64.0.3282.119-ffmpeg-stdatomic.patch deleted file mode 100644 index 64c5f26..0000000 --- a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c ---- chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2018-01-25 11:55:57.880936815 -0500 -+++ chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c 2018-01-25 11:57:18.456787888 -0500 -@@ -18,7 +18,13 @@ - - #include - #include -+// GCC 4.8 didn't have stdatomic, but was advertising it. -+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 -+#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) -+#include -+#else - #include -+#endif - - #include "attributes.h" - #include "cpu.h" diff --git a/chromium-65.0.3325.146-gcc-round-fix.patch b/chromium-65.0.3325.146-gcc-round-fix.patch deleted file mode 100644 index a29779d..0000000 --- a/chromium-65.0.3325.146-gcc-round-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc ---- chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-03-07 10:57:11.284376048 -0500 -+++ chromium-65.0.3325.146/third_party/webrtc/p2p/base/port.cc 2018-03-07 10:58:16.590742636 -0500 -@@ -10,7 +10,7 @@ - - #include "p2p/base/port.h" - --#include -+#include - - #include - #include diff --git a/chromium-65.0.3325.146-memcpy-fix.patch b/chromium-65.0.3325.146-memcpy-fix.patch deleted file mode 100644 index b2b2cd4..0000000 --- a/chromium-65.0.3325.146-memcpy-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc ---- chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-03-07 11:04:14.690379817 -0500 -+++ chromium-65.0.3325.146/cc/paint/raw_memory_transfer_cache_entry.cc 2018-03-07 11:06:04.339878069 -0500 -@@ -3,7 +3,7 @@ - // found in the LICENSE file. - - #include "cc/paint/raw_memory_transfer_cache_entry.h" -- -+#include - #include - - namespace cc { diff --git a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch deleted file mode 100644 index d5b19cf..0000000 --- a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h ---- chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider 2018-04-25 16:33:40.872222779 -0400 -+++ chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h 2018-04-25 16:37:23.175883637 -0400 -@@ -11,13 +11,13 @@ - #include "base/callback_forward.h" - #include "base/macros.h" - #include "components/policy/core/browser/configuration_policy_handler_list.h" -+#include "components/policy/core/common/configuration_policy_provider.h" - #include "components/policy/core/common/schema.h" - #include "components/policy/core/common/schema_registry.h" - #include "components/policy/policy_export.h" - - namespace policy { - --class ConfigurationPolicyProvider; - class PolicyService; - class PolicyServiceImpl; - diff --git a/chromium-66.0.3359.117-system-clang.patch b/chromium-66.0.3359.117-system-clang.patch deleted file mode 100644 index e90dc58..0000000 --- a/chromium-66.0.3359.117-system-clang.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang chromium-66.0.3359.117/build/config/clang/clang.gni ---- chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang 2018-04-18 12:08:45.658190297 -0400 -+++ chromium-66.0.3359.117/build/config/clang/clang.gni 2018-04-18 12:09:37.612032982 -0400 -@@ -4,7 +4,7 @@ - - import("//build/toolchain/toolchain.gni") - --default_clang_base_path = "//third_party/llvm-build/Release+Asserts" -+default_clang_base_path = "/usr" - - declare_args() { - # Indicates if the build should use the Chrome-specific plugins for enforcing diff --git a/chromium-67.0.3396.62-gcc5.patch b/chromium-67.0.3396.62-gcc5.patch deleted file mode 100644 index ceef85d..0000000 --- a/chromium-67.0.3396.62-gcc5.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl ---- chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-05-30 04:44:33.000000000 -0400 -+++ chromium-67.0.3396.62/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-05-30 11:59:26.218625660 -0400 -@@ -262,7 +262,7 @@ interface mixin WebGL2RenderingContextBa - const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; -- const GLenum INVALID_INDEX = 0xFFFFFFFF; -+ const GLenum INVALID_INDEX = 256; - const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; diff --git a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch b/chromium-68.0.3440.106-fix-default-on-redeclaration.patch deleted file mode 100644 index 4a92fba..0000000 --- a/chromium-68.0.3440.106-fix-default-on-redeclaration.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc ---- chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc.122692c 2018-08-17 14:54:30.587338865 -0400 -+++ chromium-68.0.3440.106/components/search_provider_logos/logo_common.cc 2018-08-17 14:55:20.461184298 -0400 -@@ -14,22 +14,22 @@ LogoMetadata::LogoMetadata() = default; - LogoMetadata::LogoMetadata(const LogoMetadata&) = default; - LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default; - LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default; --LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default; -+LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default; - LogoMetadata::~LogoMetadata() = default; - - EncodedLogo::EncodedLogo() = default; - EncodedLogo::EncodedLogo(const EncodedLogo&) = default; - EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default; - EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default; --EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default; -+EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default; - EncodedLogo::~EncodedLogo() = default; - - Logo::Logo() = default; - Logo::~Logo() = default; - - LogoCallbacks::LogoCallbacks() = default; --LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default; --LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default; -+LogoCallbacks::LogoCallbacks(LogoCallbacks&&) = default; -+LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default; - LogoCallbacks::~LogoCallbacks() = default; - - } // namespace search_provider_logos diff --git a/chromium-69.0.3497.81-build-sanely-please.patch b/chromium-69.0.3497.81-build-sanely-please.patch deleted file mode 100644 index 6241a97..0000000 --- a/chromium-69.0.3497.81-build-sanely-please.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot chromium-69.0.3497.81/build/config/BUILD.gn ---- chromium-69.0.3497.81/build/config/BUILD.gn.fyoursysroot 2018-09-06 13:43:44.863375238 -0400 -+++ chromium-69.0.3497.81/build/config/BUILD.gn 2018-09-06 13:43:58.377083290 -0400 -@@ -284,9 +284,9 @@ group("executable_and_loadable_module_an - public_deps += [ "//build/config/sanitizers:deps" ] - } - -- if (use_custom_libcxx) { -- public_deps += [ "//buildtools/third_party/libc++" ] -- } -+ # if (use_custom_libcxx) { -+ # public_deps += [ "//buildtools/third_party/libc++" ] -+ # } - - if (use_afl) { - public_deps += [ "//third_party/afl" ] -diff -up chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot chromium-69.0.3497.81/build/config/sysroot.gni ---- chromium-69.0.3497.81/build/config/sysroot.gni.fyoursysroot 2018-09-06 13:40:46.212232232 -0400 -+++ chromium-69.0.3497.81/build/config/sysroot.gni 2018-09-06 13:41:02.421882529 -0400 -@@ -15,9 +15,10 @@ declare_args() { - # The absolute path to directory containing linux sysroot images - target_sysroot_dir = "//build/linux" - -- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -- current_cpu == "arm" || current_cpu == "arm64" || -- current_cpu == "mipsel" || current_cpu == "mips64el" -+ use_sysroot = false -+ # use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -+ # current_cpu == "arm" || current_cpu == "arm64" || -+ # current_cpu == "mipsel" || current_cpu == "mips64el" - } - - if (current_os == target_os && current_cpu == target_cpu && diff --git a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch b/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch deleted file mode 100644 index ccecfcb..0000000 --- a/chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h ---- chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat 2018-11-06 13:27:05.118766581 -0500 -+++ chromium-70.0.3538.77/sandbox/linux/system_headers/arm64_linux_syscalls.h 2018-11-06 13:27:34.575204504 -0500 -@@ -5,6 +5,8 @@ - #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ - -+#define __ARCH_WANT_NEW_STAT -+ - #include - - #if !defined(__NR_io_setup) diff --git a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch b/chromium-71.0.3578.98-skia-aarch64-buildfix.patch deleted file mode 100644 index 5da1674..0000000 --- a/chromium-71.0.3578.98-skia-aarch64-buildfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h ---- chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h.aarch64fix 2018-12-14 11:17:43.249121756 -0500 -+++ chromium-71.0.3578.98/third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-12-14 11:20:07.770030234 -0500 -@@ -658,7 +658,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -678,7 +678,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/chromium-72.0.3626.121-notest.patch b/chromium-72.0.3626.121-notest.patch deleted file mode 100644 index e8b7bf4..0000000 --- a/chromium-72.0.3626.121-notest.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd ---- chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd.notest 2019-03-10 13:54:17.843583876 -0400 -+++ chromium-72.0.3626.121/chrome/test/data/webui_test_resources.grd 2019-03-10 14:03:29.302063637 -0400 -@@ -8,7 +8,6 @@ - - - -- - - - diff --git a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch b/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch deleted file mode 100644 index f8abb52..0000000 --- a/chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn ---- chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn.disable-ndnpc 2019-03-13 10:29:00.331009643 -0400 -+++ chromium-73.0.3683.75/build/toolchain/linux/BUILD.gn 2019-03-13 10:29:28.344458746 -0400 -@@ -31,7 +31,7 @@ gcc_toolchain("arm64") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm64" -@@ -50,7 +50,7 @@ gcc_toolchain("arm") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - current_cpu = "arm" -@@ -101,7 +101,7 @@ gcc_toolchain("x86") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks -g1" -+ extra_cppflags = "-g1" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -155,7 +155,7 @@ gcc_toolchain("x64") { - nm = "nm" - ar = "ar" - ld = cxx -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - # Output linker map files for binary size analysis. - enable_linker_map = true -@@ -190,7 +190,7 @@ gcc_toolchain("mipsel") { - ld = cxx - readelf = "${toolprefix}readelf" - nm = "${toolprefix}nm" -- extra_cppflags = "-fno-delete-null-pointer-checks" -+ extra_cppflags = "" - - toolchain_args = { - cc_wrapper = "" diff --git a/chromium-75.0.3770.100-git00281713.patch b/chromium-75.0.3770.100-git00281713.patch deleted file mode 100644 index 4356435..0000000 --- a/chromium-75.0.3770.100-git00281713.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc ---- chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 2019-07-02 09:10:38.951369854 -0400 -+++ chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc 2019-07-02 09:11:59.864642942 -0400 -@@ -12,13 +12,19 @@ - #include "chrome/browser/performance_manager/graph/process_node_impl.h" - #include "chrome/browser/performance_manager/performance_manager.h" - #include "chrome/browser/performance_manager/render_process_user_data.h" -+#include "content/public/browser/render_process_host.h" - #include "services/resource_coordinator/public/mojom/coordination_unit.mojom.h" - - namespace { - - void BindProcessNode( -- content::RenderProcessHost* render_process_host, -+ int render_process_host_id, - resource_coordinator::mojom::ProcessCoordinationUnitRequest request) { -+ content::RenderProcessHost* render_process_host = -+ content::RenderProcessHost::FromID(render_process_host_id); -+ if (!render_process_host) -+ return; -+ - performance_manager::RenderProcessUserData* user_data = - performance_manager::RenderProcessUserData::GetForRenderProcessHost( - render_process_host); -@@ -47,8 +53,7 @@ void ChromeContentBrowserClientPerforman - blink::AssociatedInterfaceRegistry* associated_registry, - content::RenderProcessHost* render_process_host) { - registry->AddInterface( -- base::BindRepeating(&BindProcessNode, -- base::Unretained(render_process_host)), -+ base::BindRepeating(&BindProcessNode, render_process_host->GetID()), - base::SequencedTaskRunnerHandle::Get()); - - // Ideally this would strictly be a "CreateForRenderProcess", but when a diff --git a/chromium-75.0.3770.80-SIOCGSTAMP.patch b/chromium-75.0.3770.80-SIOCGSTAMP.patch deleted file mode 100644 index 0ef1e7f..0000000 --- a/chromium-75.0.3770.80-SIOCGSTAMP.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h ---- chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP 2019-06-06 10:04:57.050403639 -0400 -+++ chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h 2019-06-06 10:06:03.975121688 -0400 -@@ -16,6 +16,11 @@ - #define WEBRTC_USE_EPOLL 1 - #endif - -+// for SIOCGSTAMP in Linux 5.2 -+#if defined(WEBRTC_LINUX) -+#include -+#endif -+ - #include - #include - #include diff --git a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch b/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch deleted file mode 100644 index 2a8ac2f..0000000 --- a/chromium-75.0.3770.80-aeed4d-gcc-dcheck_ne-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc ---- chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc.gcc-dcheck_ne-fix 2019-06-06 12:42:27.431575032 -0400 -+++ chromium-75.0.3770.80/cc/scheduler/compositor_frame_reporting_controller.cc 2019-06-06 12:43:05.692848409 -0400 -@@ -31,8 +31,8 @@ void CompositorFrameReportingController: - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/chromium-75.0.3770.80-gcc-no-assume.patch b/chromium-75.0.3770.80-gcc-no-assume.patch deleted file mode 100644 index 0bbb08f..0000000 --- a/chromium-75.0.3770.80-gcc-no-assume.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume chromium-75.0.3770.80/third_party/angle/src/common/debug.h ---- chromium-75.0.3770.80/third_party/angle/src/common/debug.h.gcc-assume 2019-06-06 17:38:01.876631704 -0400 -+++ chromium-75.0.3770.80/third_party/angle/src/common/debug.h 2019-06-07 09:30:06.205446547 -0400 -@@ -248,7 +248,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define EVENT(message, ...) (void(0)) - #endif - --#if defined(COMPILER_GCC) || defined(__clang__) -+#if defined(__GNUC__) - # define ANGLE_CRASH() __builtin_trap() - #else - # define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0) -@@ -336,7 +336,7 @@ std::ostream &FmtHex(std::ostream &os, T - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop") --#elif defined(COMPILER_GCC) -+#elif defined(__GNUC__) - # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ - _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"") - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop") diff --git a/chromium-75.0.3770.80-revert-daff6b.patch b/chromium-75.0.3770.80-revert-daff6b.patch deleted file mode 100644 index f996898..0000000 --- a/chromium-75.0.3770.80-revert-daff6b.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc ---- chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc.revert-daff6b 2019-06-06 14:54:13.819190586 -0400 -+++ chromium-75.0.3770.80/components/omnibox/browser/autocomplete_match.cc 2019-06-06 14:54:31.892839991 -0400 -@@ -154,8 +154,7 @@ AutocompleteMatch::AutocompleteMatch(con - additional_info(match.additional_info), - duplicate_matches(match.duplicate_matches) {} - --AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) noexcept = -- default; -+AutocompleteMatch::AutocompleteMatch(AutocompleteMatch&& match) = default; - - AutocompleteMatch::~AutocompleteMatch() { - } diff --git a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch b/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch deleted file mode 100644 index 690f0f9..0000000 --- a/chromium-76.0.3809.100-libusb_interrupt_event_handler.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx chromium-76.0.3809.100/services/device/usb/usb_context.cc ---- chromium-76.0.3809.100/services/device/usb/usb_context.cc.modern-libusbx 2019-08-12 15:40:49.034170484 +0200 -+++ chromium-76.0.3809.100/services/device/usb/usb_context.cc 2019-08-12 15:41:23.775558867 +0200 -@@ -58,7 +58,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) { diff --git a/chromium-77.0.3865.75-boolfix.patch b/chromium-77.0.3865.75-boolfix.patch deleted file mode 100644 index c836214..0000000 --- a/chromium-77.0.3865.75-boolfix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2019-09-12 15:43:30.025360946 +0200 -@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo { - - bool is_valid() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { - return std::move(handle_); -diff -up chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h ---- chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2019-09-09 23:55:20.000000000 +0200 -+++ chromium-77.0.3865.75/mojo/public/cpp/bindings/associated_interface_request.h 2019-09-12 15:43:30.025360946 +0200 -@@ -51,7 +51,7 @@ class AssociatedInterfaceRequest { - // handle. - bool is_pending() const { return handle_.is_valid(); } - -- explicit operator bool() const { return handle_.is_valid(); } -+ explicit operator bool() const { return (bool) handle_.is_valid(); } - - ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); } - diff --git a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch b/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch deleted file mode 100644 index 920a53e..0000000 --- a/chromium-77.0.3865.75-gcc-no-opt-safe-math.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h ---- chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h.nogccoptmath 2019-09-13 14:17:22.726738088 +0200 -+++ chromium-77.0.3865.75/base/numerics/safe_math_shared_impl.h 2019-09-13 14:31:37.686898493 +0200 -@@ -23,9 +23,8 @@ - // Where available use builtin math overflow support on Clang and GCC. - #elif !defined(__native_client__) && \ - ((defined(__clang__) && \ -- ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ > 3) || \ -+ (__clang_major__ == 3 && __clang_minor__ >= 4))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else diff --git a/chromium-77.0.3865.75-gcc5-r3.patch b/chromium-77.0.3865.75-gcc5-r3.patch deleted file mode 100644 index 34b858a..0000000 --- a/chromium-77.0.3865.75-gcc5-r3.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h ---- chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2019-09-09 23:55:18.000000000 +0200 -+++ chromium-77.0.3865.75/gpu/ipc/common/mailbox_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -15,7 +15,7 @@ namespace mojo { - template <> - struct StructTraits { - static base::span name(const gpu::Mailbox& mailbox) { -- return mailbox.name; -+ return base::make_span(mailbox.name); - } - static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); - }; -diff -up chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h ---- chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2019-09-09 23:55:23.000000000 +0200 -+++ chromium-77.0.3865.75/services/viz/public/cpp/compositing/quads_struct_traits.h 2019-09-12 10:13:16.710206500 +0200 -@@ -391,7 +391,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { - const viz::TextureDrawQuad* quad = - viz::TextureDrawQuad::MaterialCast(&input); -- return quad->vertex_opacity; -+ return base::make_span(quad->vertex_opacity); - } - - static bool y_flipped(const viz::DrawQuad& input) { -diff -up chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc ---- chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2019-09-12 10:13:16.711206509 +0200 -+++ chromium-77.0.3865.75/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2019-09-12 15:41:15.300158849 +0200 -@@ -10,7 +10,7 @@ - - #include "modules/audio_processing/aec3/aec_state.h" - --#include -+#include - - #include - #include diff --git a/chromium.spec b/chromium.spec index c41439f..e6a6f88 100644 --- a/chromium.spec +++ b/chromium.spec @@ -164,114 +164,61 @@ Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) ### Chromium Fedora Patches ### -Patch0: chromium-67.0.3396.62-gcc5.patch -Patch1: chromium-45.0.2454.101-linux-path-max.patch -Patch2: chromium-55.0.2883.75-addrfix.patch -Patch3: chromium-72.0.3626.121-notest.patch -# Use libusb_interrupt_event_handler from current libusbx (1.0.21-0.1.git448584a) -Patch4: chromium-76.0.3809.100-libusb_interrupt_event_handler.patch -# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -Patch6: chromium-70.0.3538.67-sandbox-pie.patch +Patch0: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for master_prefs -Patch7: chromium-68.0.3440.106-master-prefs-path.patch +Patch1: chromium-68.0.3440.106-master-prefs-path.patch # Use gn system files -Patch8: chromium-67.0.3396.62-gn-system.patch -# Fix issue where timespec is not defined when sys/stat.h is included. -Patch9: chromium-53.0.2785.92-boringssl-time-fix.patch -# I wouldn't have to do this if there was a standard way to append extra compiler flags -Patch10: chromium-63.0.3289.84-nullfix.patch -# Add explicit includedir for jpeglib.h -Patch11: chromium-54.0.2840.59-jpeg-include-dir.patch -# On i686, pass --no-keep-memory --reduce-memory-overheads to ld. -Patch12: chromium-59.0.3071.86-i686-ld-memory-tricks.patch +Patch2: chromium-67.0.3396.62-gn-system.patch # Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 # https://bugs.chromium.org/p/chromium/issues/detail?id=712737 # https://bugzilla.redhat.com/show_bug.cgi?id=1446851 -Patch13: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch -# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch14: chromium-64.0.3282.119-ffmpeg-stdatomic.patch -# Nacl can't die soon enough -Patch15: chromium-66.0.3359.117-system-clang.patch +Patch3: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch # Do not prefix libpng functions -Patch16: chromium-60.0.3112.78-no-libpng-prefix.patch +Patch4: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg -Patch17: chromium-60.0.3112.78-jpeg-nomangle.patch +Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib -Patch18: chromium-77.0.3865.75-no-zlib-mangle.patch -# Fix libavutil include pathing to find arch specific timer.h -# For some reason, this only fails on aarch64. No idea why. -Patch19: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch -# from gentoo -Patch20: chromium-77.0.3865.75-gcc-no-opt-safe-math.patch -# From gentoo -Patch21: chromium-77.0.3865.75-gcc5-r3.patch -# To use round with gcc, you need to #include -Patch22: chromium-65.0.3325.146-gcc-round-fix.patch -# Include proper headers to invoke memcpy() -Patch23: chromium-65.0.3325.146-memcpy-fix.patch -# ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return -Patch24: chromium-77.0.3865.75-boolfix.patch -# From Debian -Patch25: chromium-71.0.3578.98-skia-aarch64-buildfix.patch +Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch27: chromium-73.0.3683.75-norar.patch -# Upstream GCC fixes -Patch28: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch -# Add "Fedora" to the user agent string -Patch29: chromium-77.0.3865.75-fedora-user-agent.patch -# Try to fix version.py for Rawhide -Patch30: chromium-71.0.3578.98-py2-bootstrap.patch -# Fix default on redeclaration error -# https://chromium.googlesource.com/chromium/src/+/122692ccee62223f266a988c575ae687e3f4c056%5E%21/#F0 -Patch31: chromium-68.0.3440.106-fix-default-on-redeclaration.patch +Patch7: chromium-73.0.3683.75-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch -Patch32: chromium-71.0.3578.98-widevine-r3.patch -# Do not require sysroot -# Forget about trying to make libc++ -# BUILD SANELY PLEASE -Patch33: chromium-69.0.3497.81-build-sanely-please.patch +Patch8: chromium-71.0.3578.98-widevine-r3.patch # Disable fontconfig cache magic that breaks remoting -Patch34: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch -# Fix aarch64 build against latest linux kernel headers -Patch35: chromium-70.0.3538.77-aarch64-arch-want-new-stat.patch +Patch9: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) -Patch36: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch +Patch10: chromium-71.0.3578.98-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places -Patch37: chromium-widevine-other-locations.patch -# Disable -fno-delete-null-pointer-checks -Patch38: chromium-73.0.3683.75-disable-fno-delete-null-pointer-checks.patch -# Linux 5.2 defines SIOCGSTAMP in a slightly different way, so we need to teach chromium where to find it -Patch41: chromium-75.0.3770.80-SIOCGSTAMP.patch -# Revert https://chromium.googlesource.com/chromium/src/+/daff6b66faae53a0cefb88987c9ff4843629b728%5E%21/#F0 -# It might make clang happy but it breaks gcc. F*** clang. -Patch43: chromium-75.0.3770.80-revert-daff6b.patch +Patch11: chromium-widevine-other-locations.patch +# Try to fix version.py for Rawhide +Patch12: chromium-71.0.3578.98-py2-bootstrap.patch +# Add "Fedora" to the user agent string +Patch13: chromium-77.0.3865.75-fedora-user-agent.patch + # rename function to avoid conflict with rawhide glibc "gettid()" -Patch45: chromium-75.0.3770.80-grpc-gettid-fix.patch +Patch50: chromium-75.0.3770.80-grpc-gettid-fix.patch # In GCC one can't use alignas() for exported classes # https://chromium.googlesource.com/chromium/src.git/+/8148fd96ae04a1150a9c6012634dcd2a7335f87a -Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +Patch51: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch # Needs to be submitted.. -Patch62: chromium-76.0.3809.100-gcc-remoting-constexpr.patch +Patch52: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) -Patch63: chromium-76.0.3809.100-vtable-symbol-undefined.patch +Patch53: chromium-76.0.3809.100-vtable-symbol-undefined.patch # https://chromium.googlesource.com/chromium/src.git/+/3c9720245e440c4b7222f8348d2a2a3c25e098ae -Patch64: chromium-77.0.3865.75-certificate-transparency.patch +Patch54: chromium-77.0.3865.75-certificate-transparency.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch -Patch65: chromium-77.0.3865.75-unbundle-zlib.patch +Patch55: chromium-77.0.3865.75-unbundle-zlib.patch # Needs to be submitted.. -Patch66: chromium-77.0.3865.75-gcc-include-memory.patch -# Needs to be submitted.. -Patch67: chromium-77.0.3865.75-base-gcc-no-alignas.patch +Patch56: chromium-77.0.3865.75-gcc-include-memory.patch +# https://chromium.googlesource.com/chromium/src/+/6b633c4b14850df376d5cec571699018772f358e +Patch57: chromium-77.0.3865.75-base-gcc-no-alignas.patch # https://chromium.googlesource.com/chromium/src/+/27e25336b8316ff3ec4e464058682ed85801fd06 -Patch68: chromium-77.0.3865.75-harfbuzz-subset.patch +Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch # https://chromium.googlesource.com/chromium/src.git/+/f08cb0022527081c078e8b96062e6c9b4fbda151 -Patch69: chromium-77.0.3865.75-gcc-abstract-class.patch +Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 -Patch70: chromium-77.0.3865.75-missing-limits.patch +Patch60: chromium-77.0.3865.75-missing-limits.patch -# Apply these changes to work around EPEL7 compiler issues -Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch @@ -757,60 +704,40 @@ udev. %setup -q -n chromium-%{version} ### Chromium Fedora Patches ### -%patch0 -p1 -b .gcc5 -%patch1 -p1 -b .pathmax -%patch2 -p1 -b .addrfix -%patch3 -p1 -b .notest -%patch4 -p1 -b .modern-libusbx -%patch6 -p1 -b .sandboxpie -%patch7 -p1 -b .etc -%patch8 -p1 -b .gnsystem -%patch9 -p1 -b .timefix -%patch10 -p1 -b .nullfix -%patch11 -p1 -b .jpegfix -%patch12 -p1 -b .ldmemory -%patch13 -p1 -b .revert -%patch14 -p1 -b .ffmpeg-stdatomic -%patch15 -p1 -b .system-clang -%patch16 -p1 -b .noprefix -%patch17 -p1 -b .nomangle -%patch18 -p1 -b .nozmangle -%patch19 -p1 -b .pathfix -%patch20 -p1 -b .nogccoptmath -%patch21 -p1 -b .gcc5-r3 -%patch22 -p1 -b .gcc-round-fix -%patch23 -p1 -b .memcpyfix -%patch24 -p1 -b .boolfix -#%patch25 -p1 -b .aarch64fix -%patch27 -p1 -b .nounrar -%patch28 -p1 -b .gcc-cpolicyprovider -%patch29 -p1 -b .fedora-user-agent -%patch30 -p1 -b .py2 -%patch31 -p1 -b .fix-default-redeclaration -%patch32 -p1 -b .wvhack -%patch33 -p1 -b .sanebuild -%patch34 -p1 -b .nofc -%patch35 -p1 -b .aarch64-new-stat -%patch36 -p1 -b .gcc9 -%patch37 -p1 -b .widevine-other-locations -%patch38 -p1 -b .disable-ndnpc -%patch41 -p1 -b .SIOCGSTAMP -%patch43 -p1 -b .revert-daff6b -%patch45 -p1 -b .gettid-fix -%patch61 -p1 -b .gcc-no-alignas-and-export -%patch62 -p1 -b .gcc-remoting-constexpr -%patch63 -p1 -b .vtable-symbol-undefined -%patch64 -p1 -b .certificate-transparency -%patch65 -p1 -b .unbundle-zlib -%patch66 -p1 -b .gcc-include-memory -%patch67 -p1 -b .base-gcc-no-alignas -%patch68 -p1 -b .harfbuzz-subset -%patch69 -p1 -b .gcc-abstract-class -%patch70 -p1 -b .missing-limits +%patch0 -p1 -b .sandboxpie +%patch1 -p1 -b .etc +%patch2 -p1 -b .gnsystem +%patch3 -p1 -b .revert +%patch4 -p1 -b .nolibpngprefix +%patch5 -p1 -b .nolibjpegmangle +%patch6 -p1 -b .nozlibmangle +%patch7 -p1 -b .nounrar +%patch8 -p1 -b .widevine-hack +%patch9 -p1 -b .nofontconfigcache +%patch10 -p1 -b .gcc9 +%patch11 -p1 -b .widevine-other-locations +%patch12 -p1 -b .py2 + +# Short term fixes (usually gcc and backports) +%patch50 -p1 -b .gettid-fix +%patch51 -p1 -b .gcc-no-alignas-and-export +%patch52 -p1 -b .gcc-remoting-constexpr +%patch53 -p1 -b .vtable-symbol-undefined +%patch54 -p1 -b .certificate-transparency +%patch55 -p1 -b .unbundle-zlib +%patch56 -p1 -b .gcc-include-memory +%patch57 -p1 -b .base-gcc-no-alignas +%patch58 -p1 -b .harfbuzz-subset +%patch59 -p1 -b .gcc-abstract-class +%patch60 -p1 -b .missing-limits + +# Fedora branded user agent +%if 0%{?fedora} +%patch13 -p1 -b .fedora-user-agent +%endif # EPEL specific patches %if 0%{?rhel} == 7 -%patch100 -p1 -b .kmaxskip %patch101 -p1 -b .epel7 %patch102 -p1 -b .el7-noexcept %endif @@ -1287,6 +1214,11 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE . /opt/rh/devtoolset-%{dts_version}/enable %endif +# Decrease the debuginfo verbosity, so it compiles in koji +%ifarch %{ix86} +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + echo # Now do the full browser %if 0%{freeworld} From b5420298f462ec8637355b087d0d9bf5141f692c Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:21:06 +0200 Subject: [PATCH 159/171] Fix the icon So the monochromatic icon is being shown even in the GNOME's overview and it's ugly (as it's upscaled from 22x22). Remove it. --- chromium.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index e6a6f88..930b750 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1388,8 +1388,6 @@ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps -cp -a chrome/app/theme/chromium/product_logo_22_mono.png %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/%{chromium_browser_channel}.png # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} From 64608c7b853bd7fda974d4b6013159e6df15cdf9 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 23 Sep 2019 17:25:20 +0200 Subject: [PATCH 160/171] Fix the icon Remove quite a few of downstream patches Fix the crashes by backporting an upstream bug Resolves: rhbz#1754179 --- chromium-77.0.3865.90-linked-hash-set.patch | 130 ++++++++++++++++++++ chromium.spec | 11 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 chromium-77.0.3865.90-linked-hash-set.patch diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch new file mode 100644 index 0000000..f921f1a --- /dev/null +++ b/chromium-77.0.3865.90-linked-hash-set.patch @@ -0,0 +1,130 @@ +From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 +From: Jeremy Roman +Date: Wed, 07 Aug 2019 13:26:48 +0000 +Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. + +Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. + +Bug: 980025 +Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 +Reviewed-by: Kentaro Hara +Reviewed-by: Yutaka Hirano +Commit-Queue: Jeremy Roman +Cr-Commit-Position: refs/heads/master@{#684731} +--- + +diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h +index 0efc8fb..90063cb 100644 +--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h ++++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h +@@ -133,6 +133,10 @@ + + struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { + STATIC_ONLY(FontCacheKeyTraits); ++ ++ // std::string's empty state need not be zero in all implementations, ++ // and it is held within FontFaceCreationParams. ++ static const bool kEmptyValueIsZero = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +index b35b6e9..77e524c 100644 +--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h ++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +@@ -146,6 +146,11 @@ + LinkedHashSetNodeBase* next) + : LinkedHashSetNodeBase(prev, next), value_(value) {} + ++ LinkedHashSetNode(ValueArg&& value, ++ LinkedHashSetNodeBase* prev, ++ LinkedHashSetNodeBase* next) ++ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} ++ + LinkedHashSetNode(LinkedHashSetNode&& other) + : LinkedHashSetNodeBase(std::move(other)), + value_(std::move(other.value_)) {} +@@ -445,10 +450,13 @@ + + // The slot is empty when the next_ field is zero so it's safe to zero + // the backing. +- static const bool kEmptyValueIsZero = true; ++ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; + + static const bool kHasIsEmptyValueFunction = true; + static bool IsEmptyValue(const Node& node) { return !node.next_; } ++ static Node EmptyValue() { ++ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); ++ } + + static const int kDeletedValue = -1; + +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +index 4c3f899..cd1be00 100644 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +@@ -487,6 +487,7 @@ + }; + + struct Complicated { ++ Complicated() : Complicated(0) {} + Complicated(int value) : simple_(value) { objects_constructed_++; } + + Complicated(const Complicated& other) : simple_(other.simple_) { +@@ -495,9 +496,6 @@ + + Simple simple_; + static int objects_constructed_; +- +- private: +- Complicated() = delete; + }; + + int Complicated::objects_constructed_ = 0; +@@ -731,4 +729,45 @@ + + } // anonymous namespace + ++// A unit type which objects to its state being initialized wrong. ++struct InvalidZeroValue { ++ InvalidZeroValue() = default; ++ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} ++ ~InvalidZeroValue() { CHECK(ok_); } ++ bool IsHashTableDeletedValue() const { return deleted_; } ++ ++ bool ok_ = true; ++ bool deleted_ = false; ++}; ++ ++template <> ++struct HashTraits : SimpleClassHashTraits { ++ static const bool kEmptyValueIsZero = false; ++}; ++ ++template <> ++struct DefaultHash { ++ struct Hash { ++ static unsigned GetHash(const InvalidZeroValue&) { return 0; } ++ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { ++ return true; ++ } ++ }; ++}; ++ ++template ++class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; ++ ++using InvalidZeroValueSetTypes = ++ testing::Types, ++ ListHashSet, ++ LinkedHashSet>; ++TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); ++ ++TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { ++ using Set = TypeParam; ++ Set set; ++ set.insert(InvalidZeroValue()); ++} ++ + } // namespace WTF diff --git a/chromium.spec b/chromium.spec index 930b750..ff76b24 100644 --- a/chromium.spec +++ b/chromium.spec @@ -158,7 +158,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3865.90 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -218,6 +218,8 @@ Patch58: chromium-77.0.3865.75-harfbuzz-subset.patch Patch59: chromium-77.0.3865.75-gcc-abstract-class.patch # https://chromium.googlesource.com/chromium/src/+/5baf7df7f4c5971dab552897eeef94b194650ce5 Patch60: chromium-77.0.3865.75-missing-limits.patch +# https://chromium.googlesource.com/chromium/src/+/74138b9febd37eac0fc26b8efb110014a83a52c6 +Patch61: chromium-77.0.3865.90-linked-hash-set.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -730,6 +732,7 @@ udev. %patch58 -p1 -b .harfbuzz-subset %patch59 -p1 -b .gcc-abstract-class %patch60 -p1 -b .missing-limits +%patch61 -p1 -b .linked-hash-set # Fedora branded user agent %if 0%{?fedora} @@ -1632,6 +1635,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 +- Fix the icon +- Remove quite a few of downstream patches +- Fix the crashes by backporting an upstream bug +- Resolves: rhbz#1754179 + * Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 - Update to 77.0.3865.90 From c4d9ecbb70f00e1510c3b752a8443ea974b41e67 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 08:23:03 +0200 Subject: [PATCH 161/171] Move another python script to python3 --- get_free_ffmpeg_source_files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index f2225ea..9081e90 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright 2015 Tomas Popela # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -73,7 +73,7 @@ def parse_ffmpeg_gni_file(gni_path, arch_not_arm): sys.stderr.write("Something went wrong, no sources parsed!\n") sys.exit(1) - print ' '.join(output_sources) + print(' '.join(output_sources)) if __name__ == "__main__": From e7f437fd182ccfa4ac99976f5bb810b93a0cd998 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 13:51:46 +0200 Subject: [PATCH 162/171] Update to 77.0.3865.120 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index ff76b24..0b74407 100644 --- a/chromium.spec +++ b/chromium.spec @@ -157,8 +157,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.90 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.120 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1635,6 +1635,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Oct 14 2019 Tomas Popela - 77.0.3865.120-1 +- Update to 77.0.3865.120 + * Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 - Fix the icon - Remove quite a few of downstream patches diff --git a/sources b/sources index 13e91e7..978a610 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 +SHA512 (chromium-77.0.3865.120-clean.tar.xz) = 018702b53bafeb5fe8a297b8efb4805419555acb80a22b9f5f5fe2a3484f838f6ffa06655229466aca5a9de7f8b0497b9d387da4a1ba2dbc7c62ec3d1d0ffbb9 From 3ffc8fd208d5e52f3d83f51404ba7f6905fc32b7 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 08:23:03 +0200 Subject: [PATCH 163/171] Move another python script to python3 --- get_free_ffmpeg_source_files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index f2225ea..9081e90 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright 2015 Tomas Popela # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -73,7 +73,7 @@ def parse_ffmpeg_gni_file(gni_path, arch_not_arm): sys.stderr.write("Something went wrong, no sources parsed!\n") sys.exit(1) - print ' '.join(output_sources) + print(' '.join(output_sources)) if __name__ == "__main__": From 286dfc8bb4be903f78be26124338c895fb3062be Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 13:51:46 +0200 Subject: [PATCH 164/171] Update to 77.0.3865.120 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index f962e02..163731f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -157,8 +157,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.90 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.120 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1635,6 +1635,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Oct 14 2019 Tomas Popela - 77.0.3865.120-1 +- Update to 77.0.3865.120 + * Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 - Fix the icon - Remove quite a few of downstream patches diff --git a/sources b/sources index 13e91e7..978a610 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 +SHA512 (chromium-77.0.3865.120-clean.tar.xz) = 018702b53bafeb5fe8a297b8efb4805419555acb80a22b9f5f5fe2a3484f838f6ffa06655229466aca5a9de7f8b0497b9d387da4a1ba2dbc7c62ec3d1d0ffbb9 From e968b763b501504ecda23508e616abf770a58f16 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 08:23:03 +0200 Subject: [PATCH 165/171] Move another python script to python3 --- get_free_ffmpeg_source_files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/get_free_ffmpeg_source_files.py b/get_free_ffmpeg_source_files.py index f2225ea..9081e90 100755 --- a/get_free_ffmpeg_source_files.py +++ b/get_free_ffmpeg_source_files.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Copyright 2015 Tomas Popela # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -73,7 +73,7 @@ def parse_ffmpeg_gni_file(gni_path, arch_not_arm): sys.stderr.write("Something went wrong, no sources parsed!\n") sys.exit(1) - print ' '.join(output_sources) + print(' '.join(output_sources)) if __name__ == "__main__": From 0e5b248a5fe1a0ead7219af1ddeee7be477f0f89 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 14 Oct 2019 13:51:46 +0200 Subject: [PATCH 166/171] Update to 77.0.3865.120 --- chromium.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chromium.spec b/chromium.spec index ff76b24..0b74407 100644 --- a/chromium.spec +++ b/chromium.spec @@ -157,8 +157,8 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3865.90 -Release: 2%{?dist} +Version: %{majorversion}.0.3865.120 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -1635,6 +1635,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Oct 14 2019 Tomas Popela - 77.0.3865.120-1 +- Update to 77.0.3865.120 + * Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 - Fix the icon - Remove quite a few of downstream patches diff --git a/sources b/sources index 13e91e7..978a610 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.90-clean.tar.xz) = 696c5b01756fb720645512fc997f4c378001a01f74bb61fe2b27722b7a3c6bbef782af82ec5678e8fe7ff76285164a331b3a99eff9c5f605ff477b3795c968c4 +SHA512 (chromium-77.0.3865.120-clean.tar.xz) = 018702b53bafeb5fe8a297b8efb4805419555acb80a22b9f5f5fe2a3484f838f6ffa06655229466aca5a9de7f8b0497b9d387da4a1ba2dbc7c62ec3d1d0ffbb9 From 85e58a0c252514666ff33a0c4358ea51aeed04a4 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 29 Oct 2019 15:05:04 -0400 Subject: [PATCH 167/171] always BR: python2-devel --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 6c43be5..e5d2fd6 100644 --- a/chromium.spec +++ b/chromium.spec @@ -423,6 +423,7 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) %endif BuildRequires: /usr/bin/python2 +BuildRequires: python2-devel %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else @@ -440,7 +441,6 @@ BuildRequires: python-markupsafe BuildRequires: python-ply %endif BuildRequires: python2-simplejson -BuildRequires: python2-devel %endif %if 0%{?bundlere2} # Using bundled bits, do nothing. From 8544391c64211dc8c590e9b56148eb18f300a854 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 29 Oct 2019 15:25:57 -0400 Subject: [PATCH 168/171] drop the patches we dragged with the f29 merge --- ...0.3809.100-gcc-no-alignas-and-export.patch | 14 - ...6.0.3809.100-vtable-symbol-undefined.patch | 11 - ...7.0.3865.75-certificate-transparency.patch | 539 ------------------ ...mium-77.0.3865.75-gcc-abstract-class.patch | 61 -- chromium-77.0.3865.75-harfbuzz-subset.patch | 49 -- chromium-77.0.3865.75-missing-limits.patch | 28 - chromium-77.0.3865.75-unbundle-zlib.patch | 25 - chromium-77.0.3865.90-linked-hash-set.patch | 130 ----- 8 files changed, 857 deletions(-) delete mode 100644 chromium-76.0.3809.100-gcc-no-alignas-and-export.patch delete mode 100644 chromium-76.0.3809.100-vtable-symbol-undefined.patch delete mode 100644 chromium-77.0.3865.75-certificate-transparency.patch delete mode 100644 chromium-77.0.3865.75-gcc-abstract-class.patch delete mode 100644 chromium-77.0.3865.75-harfbuzz-subset.patch delete mode 100644 chromium-77.0.3865.75-missing-limits.patch delete mode 100644 chromium-77.0.3865.75-unbundle-zlib.patch delete mode 100644 chromium-77.0.3865.90-linked-hash-set.patch diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch deleted file mode 100644 index cc91d1e..0000000 --- a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h ---- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 -+++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 -@@ -176,8 +176,8 @@ class CSSLazyPropertyParser - DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); - }; - --class CORE_EXPORT alignas(Member) alignas( -- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet -+class CORE_EXPORT ALIGNAS(alignof(Member)) -+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet - : public CSSPropertyValueSet { - public: - ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch deleted file mode 100644 index 64532df..0000000 --- a/chromium-76.0.3809.100-vtable-symbol-undefined.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc ---- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 -+++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 -@@ -18,6 +18,7 @@ - #include "net/quic/crypto/proof_verifier_chromium.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" -+#include "net/quic/platform/impl/quic_flags_impl.cc" - - DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, - certificate_file, diff --git a/chromium-77.0.3865.75-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch deleted file mode 100644 index 82e2958..0000000 --- a/chromium-77.0.3865.75-certificate-transparency.patch +++ /dev/null @@ -1,539 +0,0 @@ -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 -@@ -21,6 +21,7 @@ - #include "components/version_info/version_info.h" - #include "content/public/common/content_switches.h" - #include "content/public/common/user_agent.h" -+#include "services/network/public/cpp/network_service_buildflags.h" - #include "services/network/public/mojom/network_context.mojom.h" - #include "services/network/public/mojom/network_service.mojom.h" - #include "testing/gmock/include/gmock/gmock.h" -@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont - INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerFreezeQUICUaBrowsertest, - ::testing::Values(true, false)); -+ -+class SystemNetworkContextManagerCertificateTransparencyBrowsertest -+ : public SystemNetworkContextManagerBrowsertest, -+ public testing::WithParamInterface> { -+ public: -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ GetParam()); -+ } -+ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } -+}; -+ -+#if BUILDFLAG(IS_CT_SUPPORTED) -+IN_PROC_BROWSER_TEST_P( -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ CertificateTransparencyConfig) { -+ network::mojom::NetworkContextParamsPtr context_params = -+ g_browser_process->system_network_context_manager() -+ ->CreateDefaultNetworkContextParams(); -+ -+ const bool kDefault = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ true; -+#else -+ false; -+#endif -+ -+ EXPECT_EQ(GetParam().value_or(kDefault), -+ context_params->enforce_chrome_ct_policy); -+ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); -+ -+ if (GetParam().value_or(kDefault)) { -+ bool has_google_log = false; -+ bool has_disqualified_log = false; -+ for (const auto& ct_log : context_params->ct_logs) { -+ has_google_log |= ct_log->operated_by_google; -+ has_disqualified_log |= ct_log->disqualified_at.has_value(); -+ } -+ EXPECT_TRUE(has_google_log); -+ EXPECT_TRUE(has_disqualified_log); -+ } -+} -+#endif -+ -+INSTANTIATE_TEST_SUITE_P( -+ , -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ ::testing::Values(base::nullopt, true, false)); -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 -@@ -4,11 +4,13 @@ - - #include "chrome/browser/net/system_network_context_manager.h" - -+#include - #include - #include - #include - - #include "base/bind.h" -+#include "base/build_time.h" - #include "base/command_line.h" - #include "base/feature_list.h" - #include "base/logging.h" -@@ -50,6 +52,7 @@ - #include "content/public/common/mime_handler_view_mode.h" - #include "content/public/common/service_names.mojom.h" - #include "content/public/common/user_agent.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/associated_interface_ptr.h" - #include "net/dns/public/util.h" - #include "net/net_buildflags.h" -@@ -79,6 +82,20 @@ - - namespace { - -+constexpr bool kCertificateTransparencyEnabled = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID); OS_IOS does not use this file -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) -+ true; -+#else -+ false; -+#endif -+ -+bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; -+ - // The global instance of the SystemNetworkContextmanager. - SystemNetworkContextManager* g_system_network_context_manager = nullptr; - -@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau - - bool http_09_on_non_default_ports_enabled = false; - #if !defined(OS_ANDROID) -- // CT is only enabled on Desktop platforms for now. -- network_context_params->enforce_chrome_ct_policy = true; -- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -- log_info->name = ct_log.log_name; -- network_context_params->ct_logs.push_back(std::move(log_info)); -+ -+ if (g_enable_certificate_transparency) { -+ network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); -+ -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); -+ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -+ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -+ log_info->name = ct_log.log_name; -+ -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; -+ } -+ network_context_params->ct_logs.push_back(std::move(log_info)); -+ } - } - - const base::Value* value = -@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth - return CreateHttpAuthDynamicParams(g_browser_process->local_state()); - } - -+void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled) { -+ g_enable_certificate_transparency = -+ enabled.value_or(kCertificateTransparencyEnabled); -+} -+ - network::mojom::NetworkContextParamsPtr - SystemNetworkContextManager::CreateNetworkContextParams() { - // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 -@@ -139,6 +139,12 @@ class SystemNetworkContextManager { - static network::mojom::HttpAuthDynamicParamsPtr - GetHttpAuthDynamicParamsForTesting(); - -+ // Enables Certificate Transparency and enforcing the Chrome Certificate -+ // Transparency Policy. For test use only. Use base::nullopt_t to reset to -+ // the default state. -+ static void SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled); -+ - private: - class URLLoaderFactoryForSystem; - -diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 -@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, - browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); - } - --IN_PROC_BROWSER_TEST_F(PolicyTest, -+IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, - CertificateTransparencyEnforcementDisabledForCas) { - net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); - https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -8,6 +8,7 @@ - #include "base/callback.h" - #include "base/run_loop.h" - #include "base/test/scoped_feature_list.h" -+#include "chrome/browser/net/system_network_context_manager.h" - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/ssl/cert_verifier_browser_test.h" - #include "chrome/browser/ui/browser.h" -@@ -27,7 +28,17 @@ namespace { - // received by a server. - class ExpectCTBrowserTest : public CertVerifierBrowserTest { - public: -- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} -+ ExpectCTBrowserTest() : CertVerifierBrowserTest() { -+ // Expect-CT reporting depends on actually enforcing Certificate -+ // Transparency. -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~ExpectCTBrowserTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - run_loop_ = std::make_unique(); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi - SecurityStateTabHelperTest() - : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { - https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~SecurityStateTabHelperTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); - } - - void SetUpOnMainThread() override { -diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 -@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : - public: - CertificateTransparencySSLUITest() - : CertVerifierBrowserTest(), -- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} -- ~CertificateTransparencySSLUITest() override {} -+ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ ~CertificateTransparencySSLUITest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 -+++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 -@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne - - void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } - -+ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end -+ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is -+ // correctly constructed). When either this issue or https://crbug.com/848277 -+ // are fixed, the configuration can be tested independently, and these can -+ // be removed. -+ const std::vector& operated_by_google_logs_for_testing() { -+ return operated_by_google_logs_; -+ } -+ const std::vector>& -+ disqualified_logs_for_testing() { -+ return disqualified_logs_; -+ } -+ - private: - // Returns true if the log identified by |log_id| (the SHA-256 hash of the - // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc ---- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 -@@ -36,6 +36,7 @@ - #include "components/prefs/pref_registry_simple.h" - #include "components/prefs/pref_service.h" - #include "components/prefs/pref_service_factory.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/strong_binding.h" - #include "net/base/layered_network_delegate.h" - #include "net/base/load_flags.h" -@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A - base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); - #endif // BUILDFLAG(ENABLE_REPORTING) - --#if BUILDFLAG(IS_CT_SUPPORTED) -- if (params_->enforce_chrome_ct_policy) { -- builder->set_ct_policy_enforcer( -- std::make_unique( -- base::GetBuildTime(), -- certificate_transparency::GetDisqualifiedLogs(), -- certificate_transparency::GetLogsOperatedByGoogle())); -- } --#endif // BUILDFLAG(IS_CT_SUPPORTED) -- - net::HttpNetworkSession::Params session_params; - bool is_quic_force_disabled = false; - if (network_service_ && network_service_->quic_disabled()) -@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A - - #if BUILDFLAG(IS_CT_SUPPORTED) - std::vector> ct_logs; -+ std::vector> disqualified_logs; -+ std::vector operated_by_google_logs; -+ - if (!params_->ct_logs.empty()) { - for (const auto& log : params_->ct_logs) { -+ if (log->operated_by_google || log->disqualified_at) { -+ std::string log_id = crypto::SHA256HashString(log->public_key); -+ if (log->operated_by_google) -+ operated_by_google_logs.push_back(log_id); -+ if (log->disqualified_at) { -+ disqualified_logs.push_back( -+ std::make_pair(log_id, log->disqualified_at.value())); -+ } -+ } - scoped_refptr log_verifier = - net::CTLogVerifier::Create(log->public_key, log->name); - if (!log_verifier) { -@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A - ct_verifier->AddLogs(ct_logs); - builder->set_ct_verifier(std::move(ct_verifier)); - } -+ -+ if (params_->enforce_chrome_ct_policy) { -+ std::sort(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs)); -+ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); -+ -+ builder->set_ct_policy_enforcer( -+ std::make_unique( -+ params_->ct_log_update_time, disqualified_logs, -+ operated_by_google_logs)); -+ } - #endif // BUILDFLAG(IS_CT_SUPPORTED) - - const base::CommandLine* command_line = -diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc ---- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 -@@ -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 - #include - #include - #include -@@ -38,10 +39,12 @@ - #include "base/threading/thread_task_runner_handle.h" - #include "base/time/default_clock.h" - #include "base/time/default_tick_clock.h" -+#include "base/time/time.h" - #include "build/build_config.h" - #include "components/network_session_configurator/browser/network_session_configurator.h" - #include "components/network_session_configurator/common/network_switches.h" - #include "components/prefs/testing_pref_service.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/remote.h" - #include "mojo/public/cpp/bindings/self_owned_receiver.h" - #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -115,6 +118,11 @@ - #include "url/scheme_host_port.h" - #include "url/url_constants.h" - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" -+#include "services/network/public/mojom/ct_log_info.mojom.h" -+#endif -+ - #if !BUILDFLAG(DISABLE_FTP_SUPPORT) - #include "net/ftp/ftp_auth_cache.h" - #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) -@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, - true /* was_cached */, true /* is_navigation */); - } - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+TEST_F(NetworkContextTest, CertificateTransparencyConfig) { -+ mojom::NetworkContextParamsPtr params = CreateContextParams(); -+ params->enforce_chrome_ct_policy = true; -+ params->ct_log_update_time = base::Time::Now(); -+ -+ // The log public keys do not matter for the test, so invalid keys are used. -+ // However, because the log IDs are derived from the SHA-256 hash of the log -+ // key, the log keys are generated such that qualified logs are in the form -+ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the -+ // form of four letters (e.g. "AAAA", "BBBB"). -+ -+ for (int i = 0; i < 6; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII '0' (0x30) -+ log_info->public_key = std::string(4, 0x30 + static_cast(i)); -+ log_info->name = std::string(4, 0x30 + static_cast(i)); -+ log_info->operated_by_google = i % 2; -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ for (int i = 0; i < 3; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII 'A' (0x41) -+ log_info->public_key = std::string(4, 0x41 + static_cast(i)); -+ log_info->name = std::string(4, 0x41 + static_cast(i)); -+ log_info->operated_by_google = false; -+ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ std::unique_ptr network_context = -+ CreateContextWithParams(std::move(params)); -+ -+ net::CTPolicyEnforcer* request_enforcer = -+ network_context->url_request_context()->ct_policy_enforcer(); -+ ASSERT_TRUE(request_enforcer); -+ -+ // Completely unsafe if |enforce_chrome_ct_policy| is false. -+ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = -+ reinterpret_cast( -+ request_enforcer); -+ -+ EXPECT_TRUE(std::is_sorted( -+ policy_enforcer->operated_by_google_logs_for_testing().begin(), -+ policy_enforcer->operated_by_google_logs_for_testing().end())); -+ EXPECT_TRUE( -+ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), -+ policy_enforcer->disqualified_logs_for_testing().end())); -+ -+ EXPECT_THAT( -+ policy_enforcer->operated_by_google_logs_for_testing(), -+ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), -+ crypto::SHA256HashString("3333"), -+ crypto::SHA256HashString("5555")})); -+ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), -+ ::testing::UnorderedElementsAre( -+ ::testing::Pair(crypto::SHA256HashString("AAAA"), -+ base::TimeDelta::FromSeconds(0)), -+ ::testing::Pair(crypto::SHA256HashString("BBBB"), -+ base::TimeDelta::FromSeconds(1)), -+ ::testing::Pair(crypto::SHA256HashString("CCCC"), -+ base::TimeDelta::FromSeconds(2)))); -+} -+#endif -+ - } // namespace - - } // namespace network -diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 -@@ -4,6 +4,8 @@ - - module network.mojom; - -+import "mojo/public/mojom/base/time.mojom"; -+ - // A single Certificate Transparency Log configuration. - struct CTLogInfo { - // The DER-encoded SubjectPublicKeyInfo of the log. -@@ -14,4 +16,13 @@ struct CTLogInfo { - // The human-readable, log-supplied log name. Note that this will not be - // translated. - string name; -+ -+ // Whether or not the log should should be considered a Google Log for the -+ // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google = false; -+ -+ // If set, the time since the Unix Epoch when the log was disqualified. This -+ // is used to determine the "once or currently qualified" status of the log. -+ // If the log is currently qualified, this will not be set. -+ mojo_base.mojom.TimeDelta? disqualified_at; - }; -diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 -@@ -239,15 +239,6 @@ struct NetworkContextParams { - [EnableIf=is_android] - bool check_clear_text_permitted = false; - -- // True if the "Certificate Transparency in Chrome" policy (see -- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -- // be enforced for certificates and connections. -- // -- // See //net/docs/certificate-transparency.md before setting this flag to -- // true. -- [EnableIf=is_ct_supported] -- bool enforce_chrome_ct_policy = false; -- - // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. - bool http_09_on_non_default_ports_enabled = false; - -@@ -300,6 +291,15 @@ struct NetworkContextParams { - // servers, so they can discover misconfigurations. - bool enable_certificate_reporting = false; - -+ // True if the "Certificate Transparency in Chrome" policy (see -+ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -+ // be enforced for certificates and connections. -+ // -+ // See //net/docs/certificate-transparency.md before setting this flag to -+ // true. -+ [EnableIf=is_ct_supported] -+ bool enforce_chrome_ct_policy = false; -+ - // Enables Expect CT reporting, which sends reports for opted-in sites that - // don't serve sufficient Certificate Transparency information. - [EnableIf=is_ct_supported] -@@ -311,6 +311,13 @@ struct NetworkContextParams { - [EnableIf=is_ct_supported] - array ct_logs; - -+ // When the Certificate Transparency logs in |ct_logs| were last updated. If -+ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not -+ // sufficiently recent, enforcement of the "Certificate Transparency in -+ // Chrome" policy will be disabled. -+ [EnableIf=is_ct_supported] -+ mojo_base.mojom.Time ct_log_update_time; -+ - // Specifies the path to the directory where NSS will store its database. - [EnableIf=is_chromeos] - mojo_base.mojom.FilePath? nss_path; diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch deleted file mode 100644 index 6d77299..0000000 --- a/chromium-77.0.3865.75-gcc-abstract-class.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Jul 2019 16:48:06 +0000 -Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class - -The method UploadForDeepScanning gets a Request as parameter. But Request is an -abstract class, so GCC will not allow that declaration (polimorphycs should be -passed by reference). Use std::unique_ptr so BinaryUploadService can assume -ownership. - -Bug: 819294 -Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 -Reviewed-by: Daniel Rubery -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#681333} ---- - -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -index 6430c89..4e90487 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -@@ -10,7 +10,7 @@ - namespace safe_browsing { - - void BinaryUploadService::UploadForDeepScanning( -- BinaryUploadService::Request request) { -+ std::unique_ptr request) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - NOTREACHED(); - } -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -index d2dfd83..9b6f395 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - -+#include -+ - #include "base/callback.h" - #include "components/safe_browsing/proto/webprotect.pb.h" - -@@ -40,6 +42,7 @@ - public: - // |callback| will run on the UI thread. - explicit Request(Callback callback); -+ virtual ~Request() = default; - Request(const Request&) = delete; - Request& operator=(const Request&) = delete; - -@@ -67,7 +70,7 @@ - // Upload the given file contents for deep scanning. The results will be - // returned asynchronously by calling |request|'s |callback|. This must be - // called on the UI thread. -- void UploadForDeepScanning(Request request); -+ void UploadForDeepScanning(std::unique_ptr request); - }; - - } // namespace safe_browsing diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch deleted file mode 100644 index 55d78d1..0000000 --- a/chromium-77.0.3865.75-harfbuzz-subset.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 29 Jul 2019 10:54:28 +0000 -Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true - -When building HarfBuzz as part of Chromium, there is a single source set -with all the files we need in the build. - -Upstream HarfBuzz, on the other hand, produces a few different libraries: -harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is -true, we were only looking for (and using) harfbuzz.pc with pkg-config even -though we also use symbols from libharfbuzz-subset.so. This resulted in -errors when linking: - - ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': - SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' - -as reported in -https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ - -Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Dominik Röttsches -Reviewed-by: Dominik Röttsches -Cr-Commit-Position: refs/heads/master@{#681760} ---- - -diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn -index 37d8e33..72013eb1d 100644 ---- a/third_party/harfbuzz-ng/BUILD.gn -+++ b/third_party/harfbuzz-ng/BUILD.gn -@@ -16,7 +16,10 @@ - "//third_party:freetype_harfbuzz", - "//third_party/freetype:freetype_source", - ] -- packages = [ "harfbuzz" ] -+ packages = [ -+ "harfbuzz", -+ "harfbuzz-subset", -+ ] - } - } else { - config("harfbuzz_config") { diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch deleted file mode 100644 index 3ac1770..0000000 --- a/chromium-77.0.3865.75-missing-limits.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 -From: Dave Tapuska -Date: Mon, 12 Aug 2019 22:30:13 +0000 -Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. - -Some configurations fail to build, limits should have been included. - -BUG=992832 - -Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 -Commit-Queue: Dave Tapuska -Reviewed-by: Mostyn Bramley-Moore -Cr-Commit-Position: refs/heads/master@{#686214} ---- - -diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc -index 384566a..68d83e1 100644 ---- a/third_party/blink/renderer/platform/exported/web_time_range.cc -+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc -@@ -31,6 +31,7 @@ - #include "third_party/blink/public/platform/web_time_range.h" - - #include -+#include - - namespace blink { - diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch deleted file mode 100644 index d6c45ad..0000000 --- a/chromium-77.0.3865.75-unbundle-zlib.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 -From: Your Name -Date: Fri, 28 Jun 2019 15:56:23 +0000 -Subject: [PATCH] update zlib - ---- - third_party/perfetto/gn/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn -index c951f5f..297eee3 100644 ---- a/third_party/perfetto/gn/BUILD.gn -+++ b/third_party/perfetto/gn/BUILD.gn -@@ -200,7 +200,7 @@ group("zlib") { - "//buildtools:zlib", - ] - } else if (build_with_chromium) { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] --- -2.21.0 - diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch deleted file mode 100644 index f921f1a..0000000 --- a/chromium-77.0.3865.90-linked-hash-set.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 -From: Jeremy Roman -Date: Wed, 07 Aug 2019 13:26:48 +0000 -Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. - -Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. - -Bug: 980025 -Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 -Reviewed-by: Kentaro Hara -Reviewed-by: Yutaka Hirano -Commit-Queue: Jeremy Roman -Cr-Commit-Position: refs/heads/master@{#684731} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h -index 0efc8fb..90063cb 100644 ---- a/third_party/blink/renderer/platform/fonts/font_cache_key.h -+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h -@@ -133,6 +133,10 @@ - - struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { - STATIC_ONLY(FontCacheKeyTraits); -+ -+ // std::string's empty state need not be zero in all implementations, -+ // and it is held within FontFaceCreationParams. -+ static const bool kEmptyValueIsZero = false; - }; - - } // namespace blink -diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -index b35b6e9..77e524c 100644 ---- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h -+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -@@ -146,6 +146,11 @@ - LinkedHashSetNodeBase* next) - : LinkedHashSetNodeBase(prev, next), value_(value) {} - -+ LinkedHashSetNode(ValueArg&& value, -+ LinkedHashSetNodeBase* prev, -+ LinkedHashSetNodeBase* next) -+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} -+ - LinkedHashSetNode(LinkedHashSetNode&& other) - : LinkedHashSetNodeBase(std::move(other)), - value_(std::move(other.value_)) {} -@@ -445,10 +450,13 @@ - - // The slot is empty when the next_ field is zero so it's safe to zero - // the backing. -- static const bool kEmptyValueIsZero = true; -+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; - - static const bool kHasIsEmptyValueFunction = true; - static bool IsEmptyValue(const Node& node) { return !node.next_; } -+ static Node EmptyValue() { -+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); -+ } - - static const int kDeletedValue = -1; - -diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -index 4c3f899..cd1be00 100644 ---- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -@@ -487,6 +487,7 @@ - }; - - struct Complicated { -+ Complicated() : Complicated(0) {} - Complicated(int value) : simple_(value) { objects_constructed_++; } - - Complicated(const Complicated& other) : simple_(other.simple_) { -@@ -495,9 +496,6 @@ - - Simple simple_; - static int objects_constructed_; -- -- private: -- Complicated() = delete; - }; - - int Complicated::objects_constructed_ = 0; -@@ -731,4 +729,45 @@ - - } // anonymous namespace - -+// A unit type which objects to its state being initialized wrong. -+struct InvalidZeroValue { -+ InvalidZeroValue() = default; -+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} -+ ~InvalidZeroValue() { CHECK(ok_); } -+ bool IsHashTableDeletedValue() const { return deleted_; } -+ -+ bool ok_ = true; -+ bool deleted_ = false; -+}; -+ -+template <> -+struct HashTraits : SimpleClassHashTraits { -+ static const bool kEmptyValueIsZero = false; -+}; -+ -+template <> -+struct DefaultHash { -+ struct Hash { -+ static unsigned GetHash(const InvalidZeroValue&) { return 0; } -+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { -+ return true; -+ } -+ }; -+}; -+ -+template -+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; -+ -+using InvalidZeroValueSetTypes = -+ testing::Types, -+ ListHashSet, -+ LinkedHashSet>; -+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); -+ -+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { -+ using Set = TypeParam; -+ Set set; -+ set.insert(InvalidZeroValue()); -+} -+ - } // namespace WTF From b8e00f2f8a8925bafb45666ff8d4f34fd338baaa Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 1 Nov 2019 08:34:49 -0400 Subject: [PATCH 169/171] el7-noexcept patch --- chromium-78.0.3904.70-el7-noexcept.patch | 194 +++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 chromium-78.0.3904.70-el7-noexcept.patch diff --git a/chromium-78.0.3904.70-el7-noexcept.patch b/chromium-78.0.3904.70-el7-noexcept.patch new file mode 100644 index 0000000..a28b434 --- /dev/null +++ b/chromium-78.0.3904.70-el7-noexcept.patch @@ -0,0 +1,194 @@ +diff -up chromium-78.0.3904.70/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-78.0.3904.70/chrome/common/media_router/media_sink.cc +--- chromium-78.0.3904.70/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-10-21 15:06:26.000000000 -0400 ++++ chromium-78.0.3904.70/chrome/common/media_router/media_sink.cc 2019-10-30 09:26:51.339057055 -0400 +@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id + provider_id_(provider_id) {} + + MediaSink::MediaSink(const MediaSink& other) = default; +-MediaSink::MediaSink(MediaSink&& other) noexcept = default; ++MediaSink::MediaSink(MediaSink&& other) = default; + MediaSink::MediaSink() = default; + MediaSink::~MediaSink() = default; + + MediaSink& MediaSink::operator=(const MediaSink& other) = default; +-MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; ++MediaSink& MediaSink::operator=(MediaSink&& other) = default; + + bool MediaSink::IsMaybeCloudSink() const { + switch (icon_type_) { +diff -up chromium-78.0.3904.70/components/history/core/browser/history_types.cc.el7-noexcept chromium-78.0.3904.70/components/history/core/browser/history_types.cc +--- chromium-78.0.3904.70/components/history/core/browser/history_types.cc.el7-noexcept 2019-10-21 15:06:29.000000000 -0400 ++++ chromium-78.0.3904.70/components/history/core/browser/history_types.cc 2019-10-30 09:26:51.358056614 -0400 +@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& + Swap(&other); + } + +-QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { ++QueryResults& QueryResults::operator=(QueryResults&& other) { + Swap(&other); + return *this; + } +@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR + + QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; + +-QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; ++QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; + + // MostVisitedURL -------------------------------------------------------------- + +diff -up chromium-78.0.3904.70/components/history/core/browser/history_types.h.el7-noexcept chromium-78.0.3904.70/components/history/core/browser/history_types.h +--- chromium-78.0.3904.70/components/history/core/browser/history_types.h.el7-noexcept 2019-10-21 15:06:29.000000000 -0400 ++++ chromium-78.0.3904.70/components/history/core/browser/history_types.h 2019-10-30 09:26:51.623050465 -0400 +@@ -143,7 +143,7 @@ class QueryResults { + ~QueryResults(); + + QueryResults(QueryResults&& other) noexcept; +- QueryResults& operator=(QueryResults&& other) noexcept; ++ QueryResults& operator=(QueryResults&& other); + + void set_reached_beginning(bool reached) { reached_beginning_ = reached; } + bool reached_beginning() { return reached_beginning_; } +@@ -278,7 +278,7 @@ struct QueryURLResult { + QueryURLResult(const QueryURLResult&); + QueryURLResult(QueryURLResult&&) noexcept; + QueryURLResult& operator=(const QueryURLResult&); +- QueryURLResult& operator=(QueryURLResult&&) noexcept; ++ QueryURLResult& operator=(QueryURLResult&&); + ~QueryURLResult(); + + // Indicates whether the call to HistoryBackend::QueryURL was successfull +diff -up chromium-78.0.3904.70/components/history/core/browser/url_row.cc.el7-noexcept chromium-78.0.3904.70/components/history/core/browser/url_row.cc +--- chromium-78.0.3904.70/components/history/core/browser/url_row.cc.el7-noexcept 2019-10-21 15:06:29.000000000 -0400 ++++ chromium-78.0.3904.70/components/history/core/browser/url_row.cc 2019-10-30 09:26:51.625050418 -0400 +@@ -26,7 +26,7 @@ URLRow::~URLRow() { + } + + URLRow& URLRow::operator=(const URLRow& other) = default; +-URLRow& URLRow::operator=(URLRow&& other) noexcept = default; ++URLRow& URLRow::operator=(URLRow&& other) = default; + + void URLRow::Swap(URLRow* other) { + std::swap(id_, other->id_); +diff -up chromium-78.0.3904.70/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-78.0.3904.70/components/omnibox/browser/suggestion_answer.cc +--- chromium-78.0.3904.70/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-10-21 15:06:29.000000000 -0400 ++++ chromium-78.0.3904.70/components/omnibox/browser/suggestion_answer.cc 2019-10-30 09:26:51.627050372 -0400 +@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( + const TextField&) = default; + SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( +- TextField&&) noexcept = default; ++ TextField&&) = default; + + // static + bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, +diff -up chromium-78.0.3904.70/components/policy/core/common/policy_map.cc.el7-noexcept chromium-78.0.3904.70/components/policy/core/common/policy_map.cc +--- chromium-78.0.3904.70/components/policy/core/common/policy_map.cc.el7-noexcept 2019-10-21 15:06:29.000000000 -0400 ++++ chromium-78.0.3904.70/components/policy/core/common/policy_map.cc 2019-10-30 09:26:51.628050349 -0400 +@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( + PolicyMap::Entry::~Entry() = default; + + PolicyMap::Entry::Entry(Entry&&) noexcept = default; +-PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; ++PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; + + PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { + Entry copy; +diff -up chromium-78.0.3904.70/components/search_provider_logos/logo_common.cc.el7-noexcept chromium-78.0.3904.70/components/search_provider_logos/logo_common.cc +--- chromium-78.0.3904.70/components/search_provider_logos/logo_common.cc.el7-noexcept 2019-10-30 09:27:30.773143557 -0400 ++++ chromium-78.0.3904.70/components/search_provider_logos/logo_common.cc 2019-10-30 13:09:43.872691009 -0400 +@@ -14,14 +14,14 @@ LogoMetadata::LogoMetadata() = default; + LogoMetadata::LogoMetadata(const LogoMetadata&) = default; + LogoMetadata::LogoMetadata(LogoMetadata&&) noexcept = default; + LogoMetadata& LogoMetadata::operator=(const LogoMetadata&) = default; +-LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) noexcept = default; ++LogoMetadata& LogoMetadata::operator=(LogoMetadata&&) = default; + LogoMetadata::~LogoMetadata() = default; + + EncodedLogo::EncodedLogo() = default; + EncodedLogo::EncodedLogo(const EncodedLogo&) = default; + EncodedLogo::EncodedLogo(EncodedLogo&&) noexcept = default; + EncodedLogo& EncodedLogo::operator=(const EncodedLogo&) = default; +-EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) noexcept = default; ++EncodedLogo& EncodedLogo::operator=(EncodedLogo&&) = default; + EncodedLogo::~EncodedLogo() = default; + + Logo::Logo() = default; +@@ -29,7 +29,7 @@ Logo::~Logo() = default; + + LogoCallbacks::LogoCallbacks() = default; + LogoCallbacks::LogoCallbacks(LogoCallbacks&&) noexcept = default; +-LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) noexcept = default; ++LogoCallbacks& LogoCallbacks::operator=(LogoCallbacks&&) = default; + LogoCallbacks::~LogoCallbacks() = default; + + } // namespace search_provider_logos +diff -up chromium-78.0.3904.70/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-78.0.3904.70/components/signin/public/identity_manager/account_info.cc +--- chromium-78.0.3904.70/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2019-10-21 15:06:30.000000000 -0400 ++++ chromium-78.0.3904.70/components/signin/public/identity_manager/account_info.cc 2019-10-30 09:26:51.629050326 -0400 +@@ -57,7 +57,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc + CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = + default; + +-CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = ++CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = + default; + + bool CoreAccountInfo::IsEmpty() const { +@@ -74,7 +74,7 @@ AccountInfo::AccountInfo(AccountInfo&& o + + AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; + +-AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; ++AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; + + bool AccountInfo::IsEmpty() const { + return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && +diff -up chromium-78.0.3904.70/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-78.0.3904.70/google_apis/gaia/core_account_id.cc +--- chromium-78.0.3904.70/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-10-21 15:06:34.000000000 -0400 ++++ chromium-78.0.3904.70/google_apis/gaia/core_account_id.cc 2019-10-30 09:26:51.630050302 -0400 +@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul + + CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; + +-CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; ++CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; + + CoreAccountId::CoreAccountId(const char* id) : id(id) {} + +diff -up chromium-78.0.3904.70/google_apis/gaia/core_account_id.h.el7-noexcept chromium-78.0.3904.70/google_apis/gaia/core_account_id.h +--- chromium-78.0.3904.70/google_apis/gaia/core_account_id.h.el7-noexcept 2019-10-21 15:06:34.000000000 -0400 ++++ chromium-78.0.3904.70/google_apis/gaia/core_account_id.h 2019-10-30 09:26:51.631050279 -0400 +@@ -20,7 +20,7 @@ struct CoreAccountId { + ~CoreAccountId(); + + CoreAccountId& operator=(const CoreAccountId&); +- CoreAccountId& operator=(CoreAccountId&&) noexcept; ++ CoreAccountId& operator=(CoreAccountId&&); + + // Those implicit constructor and conversion operator allow to + // progressively migrate the code to use this struct. Removing +diff -up chromium-78.0.3904.70/gpu/config/gpu_info.cc.el7-noexcept chromium-78.0.3904.70/gpu/config/gpu_info.cc +--- chromium-78.0.3904.70/gpu/config/gpu_info.cc.el7-noexcept 2019-10-21 15:06:35.000000000 -0400 ++++ chromium-78.0.3904.70/gpu/config/gpu_info.cc 2019-10-30 09:26:51.633050233 -0400 +@@ -169,7 +169,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: + const GPUInfo::GPUDevice& other) = default; + + GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( +- GPUInfo::GPUDevice&& other) noexcept = default; ++ GPUInfo::GPUDevice&& other) = default; + + GPUInfo::GPUInfo() + : optimus(false), +diff -up chromium-78.0.3904.70/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-78.0.3904.70/third_party/openscreen/src/osp/public/service_info.h +--- chromium-78.0.3904.70/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2019-10-21 15:09:14.000000000 -0400 ++++ chromium-78.0.3904.70/third_party/openscreen/src/osp/public/service_info.h 2019-10-30 09:26:51.634050210 -0400 +@@ -21,7 +21,7 @@ struct ServiceInfo { + ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; + ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; + +- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; ++ ServiceInfo& operator=(ServiceInfo&&) = default; + ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; + + bool operator==(const ServiceInfo& other) const; From 06c6ac201bcbbeee18fccbca1a01a5edcb3e10f1 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 1 Nov 2019 08:35:42 -0400 Subject: [PATCH 170/171] el7 fixes --- chromium-77.0.3865.75-el7-noexcept.patch | 165 ----------------------- chromium.spec | 4 +- 2 files changed, 2 insertions(+), 167 deletions(-) delete mode 100644 chromium-77.0.3865.75-el7-noexcept.patch diff --git a/chromium-77.0.3865.75-el7-noexcept.patch b/chromium-77.0.3865.75-el7-noexcept.patch deleted file mode 100644 index 366c139..0000000 --- a/chromium-77.0.3865.75-el7-noexcept.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff -up chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc ---- chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc.el7-noexcept 2019-09-17 18:42:37.137393137 +0200 -+++ chromium-77.0.3865.75/chrome/common/media_router/media_sink.cc 2019-09-17 18:42:37.145393201 +0200 -@@ -19,12 +19,12 @@ MediaSink::MediaSink(const MediaSink::Id - provider_id_(provider_id) {} - - MediaSink::MediaSink(const MediaSink& other) = default; --MediaSink::MediaSink(MediaSink&& other) noexcept = default; -+MediaSink::MediaSink(MediaSink&& other) = default; - MediaSink::MediaSink() = default; - MediaSink::~MediaSink() = default; - - MediaSink& MediaSink::operator=(const MediaSink& other) = default; --MediaSink& MediaSink::operator=(MediaSink&& other) noexcept = default; -+MediaSink& MediaSink::operator=(MediaSink&& other) = default; - - bool MediaSink::IsMaybeCloudSink() const { - switch (icon_type_) { -diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.cc ---- chromium-77.0.3865.75/components/history/core/browser/history_types.cc.el7-noexcept 2019-09-17 18:42:09.417172829 +0200 -+++ chromium-77.0.3865.75/components/history/core/browser/history_types.cc 2019-09-17 18:42:09.385172574 +0200 -@@ -42,7 +42,7 @@ QueryResults::QueryResults(QueryResults& - Swap(&other); - } - --QueryResults& QueryResults::operator=(QueryResults&& other) noexcept { -+QueryResults& QueryResults::operator=(QueryResults&& other) { - Swap(&other); - return *this; - } -@@ -186,7 +186,7 @@ QueryURLResult::QueryURLResult(QueryURLR - - QueryURLResult& QueryURLResult::operator=(const QueryURLResult&) = default; - --QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) noexcept = default; -+QueryURLResult& QueryURLResult::operator=(QueryURLResult&&) = default; - - // MostVisitedURL -------------------------------------------------------------- - -diff -up chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/history_types.h ---- chromium-77.0.3865.75/components/history/core/browser/history_types.h.el7-noexcept 2019-09-17 18:42:09.437172988 +0200 -+++ chromium-77.0.3865.75/components/history/core/browser/history_types.h 2019-09-17 18:42:09.365172415 +0200 -@@ -143,7 +143,7 @@ class QueryResults { - ~QueryResults(); - - QueryResults(QueryResults&& other) noexcept; -- QueryResults& operator=(QueryResults&& other) noexcept; -+ QueryResults& operator=(QueryResults&& other); - - void set_reached_beginning(bool reached) { reached_beginning_ = reached; } - bool reached_beginning() { return reached_beginning_; } -@@ -278,7 +278,7 @@ struct QueryURLResult { - QueryURLResult(const QueryURLResult&); - QueryURLResult(QueryURLResult&&) noexcept; - QueryURLResult& operator=(const QueryURLResult&); -- QueryURLResult& operator=(QueryURLResult&&) noexcept; -+ QueryURLResult& operator=(QueryURLResult&&); - ~QueryURLResult(); - - // Indicates whether the call to HistoryBackend::QueryURL was successfull -diff -up chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept chromium-77.0.3865.75/components/history/core/browser/url_row.cc ---- chromium-77.0.3865.75/components/history/core/browser/url_row.cc.el7-noexcept 2019-09-18 08:03:25.458138423 +0200 -+++ chromium-77.0.3865.75/components/history/core/browser/url_row.cc 2019-09-18 08:03:34.363234155 +0200 -@@ -26,7 +26,7 @@ URLRow::~URLRow() { - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) noexcept = default; -+URLRow& URLRow::operator=(URLRow&& other) = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff -up chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc ---- chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc.el7-noexcept 2019-09-17 22:00:18.670108528 +0200 -+++ chromium-77.0.3865.75/components/omnibox/browser/suggestion_answer.cc 2019-09-17 22:00:32.518272148 +0200 -@@ -60,7 +60,7 @@ SuggestionAnswer::TextField::TextField(T - SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( - const TextField&) = default; - SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( -- TextField&&) noexcept = default; -+ TextField&&) = default; - - // static - bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, -diff -up chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept chromium-77.0.3865.75/components/policy/core/common/policy_map.cc ---- chromium-77.0.3865.75/components/policy/core/common/policy_map.cc.el7-noexcept 2019-09-17 18:42:14.622214197 +0200 -+++ chromium-77.0.3865.75/components/policy/core/common/policy_map.cc 2019-09-17 18:42:14.556213673 +0200 -@@ -52,7 +52,7 @@ PolicyMap::Entry::Entry( - PolicyMap::Entry::~Entry() = default; - - PolicyMap::Entry::Entry(Entry&&) noexcept = default; --PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) noexcept = default; -+PolicyMap::Entry& PolicyMap::Entry::operator=(Entry&&) = default; - - PolicyMap::Entry PolicyMap::Entry::DeepCopy() const { - Entry copy; -diff -up chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc ---- chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc.el7-noexcept 2019-09-17 21:06:27.037828110 +0200 -+++ chromium-77.0.3865.75/components/signin/public/identity_manager/account_info.cc 2019-09-17 21:07:20.726472932 +0200 -@@ -52,7 +52,7 @@ CoreAccountInfo::CoreAccountInfo(CoreAcc - CoreAccountInfo& CoreAccountInfo::operator=(const CoreAccountInfo& other) = - default; - --CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) noexcept = -+CoreAccountInfo& CoreAccountInfo::operator=(CoreAccountInfo&& other) = - default; - - bool CoreAccountInfo::IsEmpty() const { -@@ -69,7 +69,7 @@ AccountInfo::AccountInfo(AccountInfo&& o - - AccountInfo& AccountInfo::operator=(const AccountInfo& other) = default; - --AccountInfo& AccountInfo::operator=(AccountInfo&& other) noexcept = default; -+AccountInfo& AccountInfo::operator=(AccountInfo&& other) = default; - - bool AccountInfo::IsEmpty() const { - return CoreAccountInfo::IsEmpty() && hosted_domain.empty() && -diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc ---- chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc.el7-noexcept 2019-09-17 18:43:12.969677930 +0200 -+++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.cc 2019-09-17 18:43:12.989678089 +0200 -@@ -14,7 +14,7 @@ CoreAccountId::~CoreAccountId() = defaul - - CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; - --CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) = default; - - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - -diff -up chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept chromium-77.0.3865.75/google_apis/gaia/core_account_id.h ---- chromium-77.0.3865.75/google_apis/gaia/core_account_id.h.el7-noexcept 2019-09-17 18:43:12.978678001 +0200 -+++ chromium-77.0.3865.75/google_apis/gaia/core_account_id.h 2019-09-17 18:43:12.983678041 +0200 -@@ -20,7 +20,7 @@ struct CoreAccountId { - ~CoreAccountId(); - - CoreAccountId& operator=(const CoreAccountId&); -- CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ CoreAccountId& operator=(CoreAccountId&&); - - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing -diff -up chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept chromium-77.0.3865.75/gpu/config/gpu_info.cc ---- chromium-77.0.3865.75/gpu/config/gpu_info.cc.el7-noexcept 2019-09-17 18:42:25.049297073 +0200 -+++ chromium-77.0.3865.75/gpu/config/gpu_info.cc 2019-09-17 18:42:25.049297073 +0200 -@@ -170,7 +170,7 @@ GPUInfo::GPUDevice& GPUInfo::GPUDevice:: - const GPUInfo::GPUDevice& other) = default; - - GPUInfo::GPUDevice& GPUInfo::GPUDevice::operator=( -- GPUInfo::GPUDevice&& other) noexcept = default; -+ GPUInfo::GPUDevice&& other) = default; - - GPUInfo::GPUInfo() - : optimus(false), -diff -up chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h ---- chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h.el7-noexcept 2019-09-17 21:46:46.378655525 +0200 -+++ chromium-77.0.3865.75/third_party/openscreen/src/osp/public/service_info.h 2019-09-17 21:47:16.897035418 +0200 -@@ -21,7 +21,7 @@ struct ServiceInfo { - ServiceInfo(ServiceInfo&&) MAYBE_NOEXCEPT = default; - ServiceInfo(const ServiceInfo&) MAYBE_NOEXCEPT = default; - -- ServiceInfo& operator=(ServiceInfo&&) MAYBE_NOEXCEPT = default; -+ ServiceInfo& operator=(ServiceInfo&&) = default; - ServiceInfo& operator=(const ServiceInfo&) MAYBE_NOEXCEPT = default; - - bool operator==(const ServiceInfo& other) const; diff --git a/chromium.spec b/chromium.spec index e5d2fd6..e619049 100644 --- a/chromium.spec +++ b/chromium.spec @@ -243,7 +243,7 @@ Patch69: chromium-77-clang.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch # el7 only patch -Patch102: chromium-77.0.3865.75-el7-noexcept.patch +Patch102: chromium-78.0.3904.70-el7-noexcept.patch # Enable VAAPI support on Linux # NOTE: This patch will never land upstream @@ -423,7 +423,6 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) %endif BuildRequires: /usr/bin/python2 -BuildRequires: python2-devel %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else @@ -441,6 +440,7 @@ BuildRequires: python-markupsafe BuildRequires: python-ply %endif BuildRequires: python2-simplejson +BuildRequires: python2-devel %endif %if 0%{?bundlere2} # Using bundled bits, do nothing. From a776f11facd3adb02d178ced2f28b32c9219c00d Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 1 Nov 2019 12:29:41 -0400 Subject: [PATCH 171/171] update to 78.0.3904.87, apply most of the freeworld changes in PR 23/24/25 --- chromium.spec | 74 ++++++++++++++++++++++++++++++++++++--------------- sources | 3 +-- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/chromium.spec b/chromium.spec index e619049..d7c8d25 100644 --- a/chromium.spec +++ b/chromium.spec @@ -22,12 +22,22 @@ # We'd like to always have this on. %global use_vaapi 0 +# If we build with shared on, then chrome-remote-desktop depends on chromium libs. +# If we build with shared off, then users cannot swap out libffmpeg (and i686 gets a lot harder to build) +%global shared 1 + # NEVER EVER EVER turn this on in official builds %global freeworld 0 %if %{freeworld} %global lsuffix freeworld +%if 0%{?shared} +%global nsuffix -libs-media-freeworld +%else +%global nsuffix -freeworld +%endif %else %global lsuffix fedora +%global nsuffix %{nil} %endif # Some people wish not to use the Fedora Google API keys. Mmkay. @@ -67,10 +77,6 @@ %endif %global __requires_exclude ^(%{privlibs})\\.so* -# If we build with shared on, then chrome-remote-desktop depends on chromium libs. -# If we build with shared off, then users cannot swap out libffmpeg (and i686 gets a lot harder to build) -%global shared 1 - # AddressSanitizer mode # https://www.chromium.org/developers/testing/addresssanitizer %global asan 0 @@ -157,13 +163,23 @@ BuildRequires: libicu-devel >= 5.4 %global majorversion 78 %if %{freeworld} -Name: chromium%{chromium_channel}%{?freeworld:-freeworld} +Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3904.70 +Version: %{majorversion}.0.3904.87 Release: 1%{?dist} +%if %{?freeworld} +%if %{?shared} +# chromium-libs-media-freeworld +Summary: Chromium media libraries built with all possible codecs +%else +# chromium-freeworld +Summary: A WebKit (Blink) powered web browser built with all possible codecs +%endif +%else Summary: A WebKit (Blink) powered web browser +%endif Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -529,9 +545,19 @@ Obsoletes: chromium-v8 <= 3.25.28.18 Provides: webrtc = 0.2 Obsoletes: webrtc <= 0.1 %if 0%{?shared} +%if 0%{?freeworld} +# chromium-libs-media-freeworld case +Provides: chromium-libs-media = %{version}-%{release} +Provides: chromium-libs-media%{_isa} = %{version}-%{release} +Requires: chromium-libs%{_isa} = %{version} +Requires(post): %{_sbindir}/update-alternatives +Requires(preun): %{_sbindir}/update-alternatives +%else +# chromium case with shared libs Requires: chromium-libs%{_isa} = %{version}-%{release} # This is broken out so it can be replaced. Requires: chromium-libs-media%{_isa} = %{version}-%{release} +%endif # Nothing to do here. chromium-libs is real. %else Provides: chromium-libs = %{version}-%{release} @@ -638,8 +664,22 @@ Provides: bundled(xdg-user-dirs) Requires(post): /usr/sbin/semanage Requires(post): /usr/sbin/restorecon +%if %{?freeworld} +%if %{?shared} +%description +Chromium media libraries built with all possible codecs. Chromium is an +open-source web browser, powered by WebKit (Blink). This package replaces +the default chromium-libs-media package, which is limited in what it +can include. +%else +%description +Chromium built with all possible codecs. Chromium is an +open-source web browser, powered by WebKit (Blink). +%endif +%else %description Chromium is an open-source web browser, powered by WebKit (Blink). +%endif %package common Summary: Files needed for both the headless_shell and full Chromium @@ -665,21 +705,7 @@ Requires(preun): %{_sbindir}/update-alternatives %description libs Shared libraries used by chromium (and chrome-remote-desktop). -%if %{freeworld} -%package -n chromium-libs-media-freeworld -Summary: Chromium media libraries built with all possible codecs -Provides: chromium-libs-media = %{version}-%{release} -Provides: chromium-libs-media%{_isa} = %{version}-%{release} -Requires: chromium-libs%{_isa} = %{version} -Requires(post): %{_sbindir}/update-alternatives -Requires(preun): %{_sbindir}/update-alternatives - -%description -n chromium-libs-media-freeworld -Chromium media libraries built with all possible codecs. Chromium is an -open-source web browser, powered by WebKit (Blink). This package replaces -the default chromium-libs-media package, which is limited in what it -can include. -%else +%if ! %{freeworld} %package libs-media Summary: Shared libraries used by the chromium media subsystem Requires: chromium-libs%{_isa} = %{version} @@ -1482,6 +1508,7 @@ if st and st.type == "link" then os.remove(path) end +%if %{shared} %if %{freeworld} %posttrans -n chromium-libs-media-freeworld %{_sbindir}/update-alternatives --install \ @@ -1517,6 +1544,7 @@ if [ $1 = 0 ]; then %{_libdir}/chromium-browser/libffmpeg.so.fedora fi %endif +%endif %pre -n chrome-remote-desktop getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop @@ -1690,6 +1718,10 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Nov 1 2019 Tom Callaway - 78.0.3904.87-1 +- update to 78.0.3904.87 +- apply most of the freeworld changes in PR 23/24/25 + * Wed Oct 23 2019 Tom Callaway - 78.0.3904.80-1 - update to 78.0.3904.80 diff --git a/sources b/sources index c18b1d0..5687005 100644 --- a/sources +++ b/sources @@ -17,5 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844 -SHA512 (chromium-77.0.3865.120-clean.tar.xz) = 018702b53bafeb5fe8a297b8efb4805419555acb80a22b9f5f5fe2a3484f838f6ffa06655229466aca5a9de7f8b0497b9d387da4a1ba2dbc7c62ec3d1d0ffbb9 -SHA512 (chromium-78.0.3904.70-clean.tar.xz) = f702bc3c084a69adc81f47300d00f0b8cf46ee721dbb4986bfc5ba7fc95129172d021da0514350fe77591a209ec050307eead8e9bf309b70e46eb26d29d88509 +SHA512 (chromium-78.0.3904.87-clean.tar.xz) = ebd2a1440c36e9272b52b11ddfa596ce3d7b7a3a914970ebd4ce98d5bb862625ab61c392a9ea277ae8f791185d98d84ff5797db77bb80fa305b847e549035893