parent
a44f11deb4
commit
8e2b9c82f9
@ -0,0 +1,39 @@
|
||||
From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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 <mmenke@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
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<std::string>& GetNeverSniffedMimeTypes() {
|
||||
- static base::NoDestructor<base::flat_set<std::string>> s_types({
|
||||
+ static base::NoDestructor<base::flat_set<std::string>> 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.
|
@ -0,0 +1,76 @@
|
||||
From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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;
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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 <vmpstr@chromium.org>
|
||||
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
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
|
@ -0,0 +1,97 @@
|
||||
From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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 <kinuko@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
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 <bool has_non_zero_glyph_offsets>
|
||||
struct iterator final {};
|
||||
|
||||
- // For non-zero glyph offset array
|
||||
- template <>
|
||||
- struct iterator<true> 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<false> 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 <bool has_non_zero_glyph_offsets>
|
||||
iterator<has_non_zero_glyph_offsets> GetIterator() const {
|
||||
return iterator<has_non_zero_glyph_offsets>(*this);
|
||||
@@ -495,6 +464,37 @@
|
||||
float width_;
|
||||
};
|
||||
|
||||
+// For non-zero glyph offset array
|
||||
+template <>
|
||||
+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> 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<false> 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
|
@ -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<const uint8_t*>(
|
||||
@@ -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<TransportParameters::PreferredAddress>(
|
||||
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<const char*>(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 <string>
|
||||
-
|
||||
#include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h"
|
||||
|
||||
+#include <cstring>
|
||||
+#include <string>
|
||||
+#include <vector>
|
||||
+
|
||||
namespace quic {
|
||||
|
||||
namespace {
|
@ -0,0 +1,30 @@
|
||||
From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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 <kinuko@chromium.org>
|
||||
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
|
||||
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,
|
||||
};
|
@ -0,0 +1,66 @@
|
||||
From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
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>& 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<uintptr_t>(t);
|
||||
}
|
||||
template <typename U>
|
||||
- WeakPtr(WeakPtr<U>&& other) : WeakPtrBase(std::move(other)) {
|
||||
+ WeakPtr(WeakPtr<U>&& 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<U*>(other.ptr_);
|
Loading…
Reference in new issue