Send `urgency` when sending `incremental`.
PiperOrigin-RevId: 504634170
diff --git a/quiche/quic/core/quic_stream_priority.cc b/quiche/quic/core/quic_stream_priority.cc
index c378bfa..1d2e251 100644
--- a/quiche/quic/core/quic_stream_priority.cc
+++ b/quiche/quic/core/quic_stream_priority.cc
@@ -12,7 +12,9 @@
std::string SerializePriorityFieldValue(QuicStreamPriority priority) {
quiche::structured_headers::Dictionary dictionary;
- if (priority.urgency != QuicStreamPriority::kDefaultUrgency &&
+ // TODO(b/266722347): Never send `urgency` if value equals default value.
+ if ((priority.urgency != QuicStreamPriority::kDefaultUrgency ||
+ priority.incremental != QuicStreamPriority::kDefaultIncremental) &&
priority.urgency >= QuicStreamPriority::kMinimumUrgency &&
priority.urgency <= QuicStreamPriority::kMaximumUrgency) {
dictionary[QuicStreamPriority::kUrgencyKey] =
diff --git a/quiche/quic/core/quic_stream_priority_test.cc b/quiche/quic/core/quic_stream_priority_test.cc
index f379a2a..88be74e 100644
--- a/quiche/quic/core/quic_stream_priority_test.cc
+++ b/quiche/quic/core/quic_stream_priority_test.cc
@@ -36,8 +36,9 @@
{/* urgency = */ 3, /* incremental = */ false}));
EXPECT_EQ("u=5", SerializePriorityFieldValue(
{/* urgency = */ 5, /* incremental = */ false}));
- EXPECT_EQ("i", SerializePriorityFieldValue(
- {/* urgency = */ 3, /* incremental = */ true}));
+ // TODO(b/266722347): Never send `urgency` if value equals default value.
+ EXPECT_EQ("u=3, i", SerializePriorityFieldValue(
+ {/* urgency = */ 3, /* incremental = */ true}));
EXPECT_EQ("u=0, i", SerializePriorityFieldValue(
{/* urgency = */ 0, /* incremental = */ true}));
// Out-of-bound value is ignored.