Index: net/http/http_server_properties.cc |
diff --git a/net/http/http_server_properties.cc b/net/http/http_server_properties.cc |
index bff262ade459a4b581b4de2142c12acd73c0c8f1..af972dfa194b24282fe84155b527f10e5bb97a23 100644 |
--- a/net/http/http_server_properties.cc |
+++ b/net/http/http_server_properties.cc |
@@ -16,7 +16,6 @@ namespace { |
// The order of these strings much match the order of the enum definition |
// for AlternateProtocol. |
const char* const kAlternateProtocolStrings[] = { |
- "npn-spdy/1", |
"npn-spdy/2", |
"npn-spdy/3", |
"npn-spdy/3.1", |
@@ -26,25 +25,28 @@ const char* const kAlternateProtocolStrings[] = { |
}; |
const char kBrokenAlternateProtocol[] = "Broken"; |
-COMPILE_ASSERT(arraysize(kAlternateProtocolStrings) == NUM_ALTERNATE_PROTOCOLS, |
- kAlternateProtocolStringsSize_NUM_ALTERNATE_PROTOCOLS_nut_equal); |
+COMPILE_ASSERT( |
+ arraysize(kAlternateProtocolStrings) == NUM_VALID_ALTERNATE_PROTOCOLS, |
+ kAlternateProtocolStringsSize_kNumValidAlternateProtocols_not_equal); |
} // namespace |
+bool IsAlternateProtocolValid(AlternateProtocol protocol) { |
+ return protocol >= ALTERNATE_PROTOCOL_MINIMUM_VALID_VERSION && |
+ protocol <= ALTERNATE_PROTOCOL_MAXIMUM_VALID_VERSION; |
+} |
+ |
const char* AlternateProtocolToString(AlternateProtocol protocol) { |
switch (protocol) { |
- case NPN_SPDY_1: |
case NPN_SPDY_2: |
case NPN_SPDY_3: |
case NPN_SPDY_3_1: |
case NPN_SPDY_4A2: |
case NPN_HTTP2_DRAFT_04: |
case QUIC: |
- DCHECK_LT(static_cast<size_t>(protocol), |
- arraysize(kAlternateProtocolStrings)); |
- return kAlternateProtocolStrings[protocol]; |
- case NUM_ALTERNATE_PROTOCOLS: |
- break; |
+ DCHECK(IsAlternateProtocolValid(protocol)); |
+ return kAlternateProtocolStrings[ |
+ protocol - ALTERNATE_PROTOCOL_MINIMUM_VALID_VERSION]; |
case ALTERNATE_PROTOCOL_BROKEN: |
return kBrokenAlternateProtocol; |
case UNINITIALIZED_ALTERNATE_PROTOCOL: |
@@ -54,11 +56,14 @@ const char* AlternateProtocolToString(AlternateProtocol protocol) { |
return ""; |
} |
-AlternateProtocol AlternateProtocolFromString(const std::string& protocol) { |
- for (int i = NPN_SPDY_1; i < NUM_ALTERNATE_PROTOCOLS; ++i) |
- if (protocol == kAlternateProtocolStrings[i]) |
- return static_cast<AlternateProtocol>(i); |
- if (protocol == kBrokenAlternateProtocol) |
+AlternateProtocol AlternateProtocolFromString(const std::string& str) { |
+ for (int i = ALTERNATE_PROTOCOL_MINIMUM_VALID_VERSION; |
+ i <= ALTERNATE_PROTOCOL_MAXIMUM_VALID_VERSION; ++i) { |
+ AlternateProtocol protocol = static_cast<AlternateProtocol>(i); |
+ if (str == AlternateProtocolToString(protocol)) |
+ return protocol; |
+ } |
+ if (str == kBrokenAlternateProtocol) |
return ALTERNATE_PROTOCOL_BROKEN; |
return UNINITIALIZED_ALTERNATE_PROTOCOL; |
} |
@@ -80,8 +85,6 @@ AlternateProtocol AlternateProtocolFromNextProto(NextProto next_proto) { |
case kProtoUnknown: |
case kProtoHTTP11: |
- case kProtoSPDY1: |
- case kProtoSPDY21: |
break; |
} |