Remove QuicContainsKey() from platform.

There is no need to platformize this utility function.  Use contains() instead
for Abseil containers, and find() for std::map and std::set.  Note that
contains() exists for std::map and std::set but only since C++20 and is
therefore not supported yet.

PiperOrigin-RevId: 378644155
diff --git a/quic/core/crypto/crypto_handshake_message.cc b/quic/core/crypto/crypto_handshake_message.cc
index 6dcb989..b591bec 100644
--- a/quic/core/crypto/crypto_handshake_message.cc
+++ b/quic/core/crypto/crypto_handshake_message.cc
@@ -16,7 +16,6 @@
 #include "quic/core/crypto/crypto_utils.h"
 #include "quic/core/quic_socket_address_coder.h"
 #include "quic/core/quic_utils.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "common/quiche_endian.h"
 
 namespace quic {
@@ -171,7 +170,7 @@
 }
 
 bool CryptoHandshakeMessage::HasStringPiece(QuicTag tag) const {
-  return QuicContainsKey(tag_value_map_, tag);
+  return tag_value_map_.find(tag) != tag_value_map_.end();
 }
 
 QuicErrorCode CryptoHandshakeMessage::GetNthValue24(
diff --git a/quic/core/crypto/quic_crypto_client_config.cc b/quic/core/crypto/quic_crypto_client_config.cc
index 3f94e7c..c19798c 100644
--- a/quic/core/crypto/quic_crypto_client_config.cc
+++ b/quic/core/crypto/quic_crypto_client_config.cc
@@ -33,7 +33,6 @@
 #include "quic/platform/api/quic_client_stats.h"
 #include "quic/platform/api/quic_hostname_utils.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
@@ -848,7 +847,8 @@
 
   QuicServerId suffix_server_id(canonical_suffixes_[i], server_id.port(),
                                 server_id.privacy_mode_enabled());
-  if (!QuicContainsKey(canonical_server_map_, suffix_server_id)) {
+  if (canonical_server_map_.find(suffix_server_id) ==
+      canonical_server_map_.end()) {
     // This is the first host we've seen which matches the suffix, so make it
     // canonical.
     canonical_server_map_[suffix_server_id] = server_id;
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 29e1f6b..163377b 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -35,7 +35,6 @@
 #include "quic/core/quic_versions.h"
 #include "quic/platform/api/quic_expect_bug.h"
 #include "quic/platform/api/quic_flags.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_test.h"
 #include "quic/test_tools/qpack/qpack_encoder_peer.h"
 #include "quic/test_tools/qpack/qpack_test_utils.h"
@@ -420,7 +419,7 @@
       first_stream_id = QuicUtils::GetCryptoStreamId(transport_version());
     }
     for (QuicStreamId i = first_stream_id; i < 100; i++) {
-      if (!QuicContainsKey(closed_streams_, i)) {
+      if (closed_streams_.find(i) == closed_streams_.end()) {
         EXPECT_FALSE(session_.IsClosedStream(i)) << " stream id: " << i;
       } else {
         EXPECT_TRUE(session_.IsClosedStream(i)) << " stream id: " << i;
diff --git a/quic/core/http/quic_spdy_stream_test.cc b/quic/core/http/quic_spdy_stream_test.cc
index 57f3e4d..18526a5 100644
--- a/quic/core/http/quic_spdy_stream_test.cc
+++ b/quic/core/http/quic_spdy_stream_test.cc
@@ -25,7 +25,6 @@
 #include "quic/core/quic_versions.h"
 #include "quic/core/quic_write_blocked_list.h"
 #include "quic/platform/api/quic_expect_bug.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_test.h"
 #include "quic/test_tools/qpack/qpack_test_utils.h"
 #include "quic/test_tools/quic_config_peer.h"
diff --git a/quic/core/legacy_quic_stream_id_manager.cc b/quic/core/legacy_quic_stream_id_manager.cc
index 2ddf4b2..19128ab 100644
--- a/quic/core/legacy_quic_stream_id_manager.cc
+++ b/quic/core/legacy_quic_stream_id_manager.cc
@@ -7,7 +7,6 @@
 #include "quic/core/quic_types.h"
 #include "quic/core/quic_utils.h"
 #include "quic/core/quic_versions.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
@@ -125,7 +124,7 @@
   return largest_peer_created_stream_id_ ==
              QuicUtils::GetInvalidStreamId(transport_version_) ||
          id > largest_peer_created_stream_id_ ||
-         QuicContainsKey(available_streams_, id);
+         available_streams_.contains(id);
 }
 
 bool LegacyQuicStreamIdManager::IsIncomingStream(QuicStreamId id) const {
diff --git a/quic/core/quic_buffered_packet_store.cc b/quic/core/quic_buffered_packet_store.cc
index e4d4c97..078e222 100644
--- a/quic/core/quic_buffered_packet_store.cc
+++ b/quic/core/quic_buffered_packet_store.cc
@@ -8,7 +8,6 @@
 
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_flags.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
@@ -92,15 +91,14 @@
   QUIC_BUG_IF(quic_bug_12410_1, !GetQuicFlag(FLAGS_quic_allow_chlo_buffering))
       << "Shouldn't buffer packets if disabled via flag.";
   QUIC_BUG_IF(quic_bug_12410_2,
-              is_chlo && QuicContainsKey(connections_with_chlo_, connection_id))
+              is_chlo && connections_with_chlo_.contains(connection_id))
       << "Shouldn't buffer duplicated CHLO on connection " << connection_id;
   QUIC_BUG_IF(quic_bug_12410_3, !is_chlo && !alpns.empty())
       << "Shouldn't have an ALPN defined for a non-CHLO packet.";
   QUIC_BUG_IF(quic_bug_12410_4, is_chlo && !version.IsKnown())
       << "Should have version for CHLO packet.";
 
-  const bool is_first_packet =
-      !QuicContainsKey(undecryptable_packets_, connection_id);
+  const bool is_first_packet = !undecryptable_packets_.contains(connection_id);
   if (is_first_packet) {
     if (ShouldNotBufferPacket(is_chlo)) {
       // Drop the packet if the upper limit of undecryptable packets has been
@@ -112,17 +110,16 @@
     undecryptable_packets_.back().second.ietf_quic = ietf_quic;
     undecryptable_packets_.back().second.version = version;
   }
-  QUICHE_CHECK(QuicContainsKey(undecryptable_packets_, connection_id));
+  QUICHE_CHECK(undecryptable_packets_.contains(connection_id));
   BufferedPacketList& queue =
       undecryptable_packets_.find(connection_id)->second;
 
   if (!is_chlo) {
     // If current packet is not CHLO, it might not be buffered because store
     // only buffers certain number of undecryptable packets per connection.
-    size_t num_non_chlo_packets =
-        QuicContainsKey(connections_with_chlo_, connection_id)
-            ? (queue.buffered_packets.size() - 1)
-            : queue.buffered_packets.size();
+    size_t num_non_chlo_packets = connections_with_chlo_.contains(connection_id)
+                                      ? (queue.buffered_packets.size() - 1)
+                                      : queue.buffered_packets.size();
     if (num_non_chlo_packets >= kDefaultMaxUndecryptablePackets) {
       // If there are kMaxBufferedPacketsPerConnection packets buffered up for
       // this connection, drop the current packet.
@@ -169,7 +166,7 @@
 
 bool QuicBufferedPacketStore::HasBufferedPackets(
     QuicConnectionId connection_id) const {
-  return QuicContainsKey(undecryptable_packets_, connection_id);
+  return undecryptable_packets_.contains(connection_id);
 }
 
 bool QuicBufferedPacketStore::HasChlosBuffered() const {
@@ -254,7 +251,7 @@
 
 bool QuicBufferedPacketStore::HasChloForConnection(
     QuicConnectionId connection_id) {
-  return QuicContainsKey(connections_with_chlo_, connection_id);
+  return connections_with_chlo_.contains(connection_id);
 }
 
 bool QuicBufferedPacketStore::IngestPacketForTlsChloExtraction(
diff --git a/quic/core/quic_control_frame_manager.cc b/quic/core/quic_control_frame_manager.cc
index f41a356..4286249 100644
--- a/quic/core/quic_control_frame_manager.cc
+++ b/quic/core/quic_control_frame_manager.cc
@@ -17,7 +17,6 @@
 #include "quic/core/quic_utils.h"
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_flag_utils.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
@@ -167,14 +166,14 @@
   }
   if (frame.type == WINDOW_UPDATE_FRAME) {
     QuicStreamId stream_id = frame.window_update_frame->stream_id;
-    if (QuicContainsKey(window_update_frames_, stream_id) &&
+    if (window_update_frames_.contains(stream_id) &&
         id > window_update_frames_[stream_id]) {
       // Consider the older window update of the same stream as acked.
       OnControlFrameIdAcked(window_update_frames_[stream_id]);
     }
     window_update_frames_[stream_id] = id;
   }
-  if (QuicContainsKey(pending_retransmissions_, id)) {
+  if (pending_retransmissions_.contains(id)) {
     // This is retransmitted control frame.
     pending_retransmissions_.erase(id);
     return;
@@ -197,7 +196,7 @@
   }
   if (frame.type == WINDOW_UPDATE_FRAME) {
     QuicStreamId stream_id = frame.window_update_frame->stream_id;
-    if (QuicContainsKey(window_update_frames_, stream_id) &&
+    if (window_update_frames_.contains(stream_id) &&
         window_update_frames_[stream_id] == id) {
       window_update_frames_.erase(stream_id);
     }
@@ -223,7 +222,7 @@
     // This frame has already been acked.
     return;
   }
-  if (!QuicContainsKey(pending_retransmissions_, id)) {
+  if (!pending_retransmissions_.contains(id)) {
     pending_retransmissions_[id] = true;
     QUIC_BUG_IF(quic_bug_12727_2,
                 pending_retransmissions_.size() > control_frames_.size())
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index d0d5485..bc10b50 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -47,7 +47,6 @@
 #include "quic/platform/api/quic_flag_utils.h"
 #include "quic/platform/api/quic_flags.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_stack_trace.h"
 #include "common/quiche_text_utils.h"
 
diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index 42ab32a..934ee0c 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -24,7 +24,6 @@
 #include "quic/platform/api/quic_flag_utils.h"
 #include "quic/platform/api/quic_flags.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 1bcb9dc..3c0b964 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -22,7 +22,6 @@
 #include "quic/platform/api/quic_flag_utils.h"
 #include "quic/platform/api/quic_flags.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_server_stats.h"
 #include "quic/platform/api/quic_stack_trace.h"
 #include "common/quiche_text_utils.h"
@@ -739,8 +738,8 @@
     return GetCryptoStream()->HasPendingCryptoRetransmission() ||
            GetCryptoStream()->HasBufferedCryptoFrames();
   }
-  return QuicContainsKey(streams_with_pending_retransmission_,
-                         QuicUtils::GetCryptoStreamId(transport_version())) ||
+  return streams_with_pending_retransmission_.contains(
+             QuicUtils::GetCryptoStreamId(transport_version())) ||
          write_blocked_streams_.IsStreamBlocked(
              QuicUtils::GetCryptoStreamId(transport_version()));
 }
@@ -1817,7 +1816,7 @@
   bool is_static = stream->is_static();
   QUIC_DVLOG(1) << ENDPOINT << "num_streams: " << stream_map_.size()
                 << ". activating stream " << stream_id;
-  QUICHE_DCHECK(!QuicContainsKey(stream_map_, stream_id));
+  QUICHE_DCHECK(!stream_map_.contains(stream_id));
   stream_map_[stream_id] = std::move(stream);
   if (is_static) {
     ++num_static_streams_;
@@ -1897,7 +1896,7 @@
 }
 
 QuicStream* QuicSession::GetOrCreateStream(const QuicStreamId stream_id) {
-  QUICHE_DCHECK(!QuicContainsKey(pending_stream_map_, stream_id));
+  QUICHE_DCHECK(!pending_stream_map_.contains(stream_id));
   if (QuicUtils::IsCryptoStreamId(transport_version(), stream_id)) {
     return GetMutableCryptoStream();
   }
@@ -1936,7 +1935,7 @@
 }
 
 void QuicSession::StreamDraining(QuicStreamId stream_id, bool unidirectional) {
-  QUICHE_DCHECK(QuicContainsKey(stream_map_, stream_id));
+  QUICHE_DCHECK(stream_map_.contains(stream_id));
   QUIC_DVLOG(1) << ENDPOINT << "Stream " << stream_id << " is draining";
   if (VersionHasIetfQuicFrames(transport_version())) {
     ietf_streamid_manager_.OnStreamClosed(stream_id);
@@ -2052,7 +2051,7 @@
   if (it != stream_map_.end()) {
     return !it->second->IsZombie();
   }
-  if (QuicContainsKey(pending_stream_map_, id) ||
+  if (pending_stream_map_.contains(id) ||
       QuicUtils::IsCryptoStreamId(transport_version(), id)) {
     // Stream is active
     return true;
@@ -2272,8 +2271,8 @@
                             frame.stream_frame.data_length,
                             frame.stream_frame.fin);
   if (stream->HasPendingRetransmission() &&
-      !QuicContainsKey(streams_with_pending_retransmission_,
-                       frame.stream_frame.stream_id)) {
+      !streams_with_pending_retransmission_.contains(
+          frame.stream_frame.stream_id)) {
     streams_with_pending_retransmission_.insert(
         std::make_pair(frame.stream_frame.stream_id, true));
   }
@@ -2397,8 +2396,8 @@
   }
   // Retransmit crypto data in stream 1 frames (version < 47).
   if (!uses_crypto_frames &&
-      QuicContainsKey(streams_with_pending_retransmission_,
-                      QuicUtils::GetCryptoStreamId(transport_version()))) {
+      streams_with_pending_retransmission_.contains(
+          QuicUtils::GetCryptoStreamId(transport_version()))) {
     // Retransmit crypto data first.
     QuicStream* crypto_stream =
         GetStream(QuicUtils::GetCryptoStreamId(transport_version()));
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc
index 81282fe..a79f5ba 100644
--- a/quic/core/quic_session_test.cc
+++ b/quic/core/quic_session_test.cc
@@ -27,7 +27,6 @@
 #include "quic/core/quic_versions.h"
 #include "quic/platform/api/quic_expect_bug.h"
 #include "quic/platform/api/quic_flags.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_mem_slice_storage.h"
 #include "quic/platform/api/quic_test.h"
 #include "quic/platform/api/quic_test_mem_slice_vector.h"
@@ -452,7 +451,7 @@
           QuicUtils::GetCryptoStreamId(connection_->transport_version());
     }
     for (QuicStreamId i = first_stream_id; i < 100; i++) {
-      if (!QuicContainsKey(closed_streams_, i)) {
+      if (closed_streams_.find(i) == closed_streams_.end()) {
         EXPECT_FALSE(session_.IsClosedStream(i)) << " stream id: " << i;
       } else {
         EXPECT_TRUE(session_.IsClosedStream(i)) << " stream id: " << i;
@@ -2507,7 +2506,7 @@
   EXPECT_TRUE(stream2->IsWaitingForAcks());
   // Verify stream2 is a zombie streams.
   auto& stream_map = QuicSessionPeer::stream_map(&session_);
-  ASSERT_TRUE(QuicContainsKey(stream_map, stream2->id()));
+  ASSERT_TRUE(stream_map.contains(stream2->id()));
   auto* stream = stream_map.find(stream2->id())->second.get();
   EXPECT_TRUE(stream->IsZombie());
 
@@ -2556,7 +2555,7 @@
   stream4->WriteOrBufferData(body, false, nullptr);
   stream4->WriteOrBufferData(body, true, nullptr);
   auto& stream_map = QuicSessionPeer::stream_map(&session_);
-  ASSERT_TRUE(QuicContainsKey(stream_map, stream4->id()));
+  ASSERT_TRUE(stream_map.contains(stream4->id()));
   auto* stream = stream_map.find(stream4->id())->second.get();
   EXPECT_TRUE(stream->IsZombie());
 }
diff --git a/quic/core/quic_stream_id_manager.cc b/quic/core/quic_stream_id_manager.cc
index 0556212..40aa3d0 100644
--- a/quic/core/quic_stream_id_manager.cc
+++ b/quic/core/quic_stream_id_manager.cc
@@ -217,7 +217,7 @@
   return largest_peer_created_stream_id_ ==
              QuicUtils::GetInvalidStreamId(version_.transport_version) ||
          id > largest_peer_created_stream_id_ ||
-         QuicContainsKey(available_streams_, id);
+         available_streams_.contains(id);
 }
 
 QuicStreamId QuicStreamIdManager::GetFirstOutgoingStreamId() const {
diff --git a/quic/core/quic_time_wait_list_manager.cc b/quic/core/quic_time_wait_list_manager.cc
index dbaa38b..12f5ef9 100644
--- a/quic/core/quic_time_wait_list_manager.cc
+++ b/quic/core/quic_time_wait_list_manager.cc
@@ -22,7 +22,6 @@
 #include "quic/platform/api/quic_flag_utils.h"
 #include "quic/platform/api/quic_flags.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_socket_address.h"
 #include "common/quiche_text_utils.h"
 
@@ -174,7 +173,7 @@
   if (use_indirect_connection_id_map_) {
     return indirect_connection_id_map_.contains(connection_id);
   }
-  return QuicContainsKey(connection_id_map_, connection_id);
+  return connection_id_map_.contains(connection_id);
 }
 
 void QuicTimeWaitListManager::OnBlockedWriterCanWrite() {
diff --git a/quic/core/quic_write_blocked_list.h b/quic/core/quic_write_blocked_list.h
index dbc2ca9..78efbad 100644
--- a/quic/core/quic_write_blocked_list.h
+++ b/quic/core/quic_write_blocked_list.h
@@ -15,7 +15,6 @@
 #include "quic/platform/api/quic_containers.h"
 #include "quic/platform/api/quic_export.h"
 #include "quic/platform/api/quic_flags.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
diff --git a/quic/platform/api/quic_map_util.h b/quic/platform/api/quic_map_util.h
deleted file mode 100644
index f07086b..0000000
--- a/quic/platform/api/quic_map_util.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 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.
-
-#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_MAP_UTIL_H_
-#define QUICHE_QUIC_PLATFORM_API_QUIC_MAP_UTIL_H_
-
-#include "net/quic/platform/impl/quic_map_util_impl.h"
-
-namespace quic {
-
-template <class Collection, class Key>
-bool QuicContainsKey(const Collection& collection, const Key& key) {
-  return QuicContainsKeyImpl(collection, key);
-}
-
-}  // namespace quic
-
-#endif  // QUICHE_QUIC_PLATFORM_API_QUIC_MAP_UTIL_H_
diff --git a/quic/test_tools/quic_framer_peer.cc b/quic/test_tools/quic_framer_peer.cc
index 14cc594..8692a25 100644
--- a/quic/test_tools/quic_framer_peer.cc
+++ b/quic/test_tools/quic_framer_peer.cc
@@ -6,7 +6,6 @@
 
 #include "quic/core/quic_framer.h"
 #include "quic/core/quic_packets.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 namespace test {
diff --git a/quic/test_tools/quic_session_peer.cc b/quic/test_tools/quic_session_peer.cc
index a3dbf84..e734a79 100644
--- a/quic/test_tools/quic_session_peer.cc
+++ b/quic/test_tools/quic_session_peer.cc
@@ -8,7 +8,6 @@
 #include "quic/core/quic_session.h"
 #include "quic/core/quic_stream.h"
 #include "quic/core/quic_utils.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 namespace test {
@@ -152,24 +151,20 @@
 
 // static
 bool QuicSessionPeer::IsStreamCreated(QuicSession* session, QuicStreamId id) {
-  return QuicContainsKey(session->stream_map_, id);
+  return session->stream_map_.contains(id);
 }
 
 // static
 bool QuicSessionPeer::IsStreamAvailable(QuicSession* session, QuicStreamId id) {
   if (VersionHasIetfQuicFrames(session->transport_version())) {
     if (id % QuicUtils::StreamIdDelta(session->transport_version()) < 2) {
-      return QuicContainsKey(
-          session->ietf_streamid_manager_.bidirectional_stream_id_manager_
-              .available_streams_,
-          id);
+      return session->ietf_streamid_manager_.bidirectional_stream_id_manager_
+          .available_streams_.contains(id);
     }
-    return QuicContainsKey(
-        session->ietf_streamid_manager_.unidirectional_stream_id_manager_
-            .available_streams_,
-        id);
+    return session->ietf_streamid_manager_.unidirectional_stream_id_manager_
+        .available_streams_.contains(id);
   }
-  return QuicContainsKey(session->stream_id_manager_.available_streams_, id);
+  return session->stream_id_manager_.available_streams_.contains(id);
 }
 
 // static
diff --git a/quic/test_tools/quic_test_client.cc b/quic/test_tools/quic_test_client.cc
index 7cc3ff9..bc1142d 100644
--- a/quic/test_tools/quic_test_client.cc
+++ b/quic/test_tools/quic_test_client.cc
@@ -786,7 +786,7 @@
   // written.
   client()->OnClose(stream);
   ++num_responses_;
-  if (!QuicContainsKey(open_streams_, stream->id())) {
+  if (open_streams_.find(stream->id()) == open_streams_.end()) {
     return;
   }
   if (latest_created_stream_ == stream) {
diff --git a/quic/test_tools/quic_test_client.h b/quic/test_tools/quic_test_client.h
index d764ca9..e498e8e 100644
--- a/quic/test_tools/quic_test_client.h
+++ b/quic/test_tools/quic_test_client.h
@@ -16,7 +16,6 @@
 #include "quic/core/quic_packets.h"
 #include "quic/platform/api/quic_containers.h"
 #include "quic/platform/api/quic_epoll.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/platform/api/quic_test.h"
 #include "quic/tools/quic_client.h"
 
diff --git a/quic/test_tools/simple_data_producer.cc b/quic/test_tools/simple_data_producer.cc
index 5ef53f4..413a840 100644
--- a/quic/test_tools/simple_data_producer.cc
+++ b/quic/test_tools/simple_data_producer.cc
@@ -10,7 +10,6 @@
 #include "quic/core/quic_data_writer.h"
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_flags.h"
-#include "quic/platform/api/quic_map_util.h"
 
 namespace quic {
 
@@ -28,7 +27,7 @@
   if (data_length == 0) {
     return;
   }
-  if (!QuicContainsKey(send_buffer_map_, id)) {
+  if (!send_buffer_map_.contains(id)) {
     send_buffer_map_[id] = std::make_unique<QuicStreamSendBuffer>(&allocator_);
   }
   send_buffer_map_[id]->SaveStreamData(iov, iov_count, iov_offset, data_length);
diff --git a/quic/test_tools/simple_session_notifier.cc b/quic/test_tools/simple_session_notifier.cc
index 51d4017..62ab05a 100644
--- a/quic/test_tools/simple_session_notifier.cc
+++ b/quic/test_tools/simple_session_notifier.cc
@@ -6,7 +6,6 @@
 
 #include "quic/core/quic_utils.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/test_tools/quic_test_utils.h"
 
 namespace quic {
@@ -40,7 +39,7 @@
     QuicStreamId id,
     QuicByteCount data_length,
     StreamSendingState state) {
-  if (!QuicContainsKey(stream_map_, id)) {
+  if (!stream_map_.contains(id)) {
     stream_map_[id] = StreamState();
   }
   StreamState& stream_state = stream_map_.find(id)->second;
@@ -263,7 +262,7 @@
   if (frame.type != STREAM_FRAME) {
     return OnControlFrameAcked(frame);
   }
-  if (!QuicContainsKey(stream_map_, frame.stream_frame.stream_id)) {
+  if (!stream_map_.contains(frame.stream_frame.stream_id)) {
     return false;
   }
   auto* state = &stream_map_.find(frame.stream_frame.stream_id)->second;
@@ -304,7 +303,7 @@
     OnControlFrameLost(frame);
     return;
   }
-  if (!QuicContainsKey(stream_map_, frame.stream_frame.stream_id)) {
+  if (!stream_map_.contains(frame.stream_frame.stream_id)) {
     return;
   }
   auto* state = &stream_map_.find(frame.stream_frame.stream_id)->second;
@@ -359,7 +358,7 @@
       }
       continue;
     }
-    if (!QuicContainsKey(stream_map_, frame.stream_frame.stream_id)) {
+    if (!stream_map_.contains(frame.stream_frame.stream_id)) {
       continue;
     }
     const auto& state = stream_map_.find(frame.stream_frame.stream_id)->second;
@@ -437,7 +436,7 @@
   if (frame.type != STREAM_FRAME) {
     return IsControlFrameOutstanding(frame);
   }
-  if (!QuicContainsKey(stream_map_, frame.stream_frame.stream_id)) {
+  if (!stream_map_.contains(frame.stream_frame.stream_id)) {
     return false;
   }
   const auto& state = stream_map_.find(frame.stream_frame.stream_id)->second;
@@ -463,8 +462,8 @@
     }
     return false;
   }
-  if (!QuicContainsKey(stream_map_, QuicUtils::GetCryptoStreamId(
-                                        connection_->transport_version()))) {
+  if (!stream_map_.contains(
+          QuicUtils::GetCryptoStreamId(connection_->transport_version()))) {
     return false;
   }
   const auto& state =
@@ -521,7 +520,7 @@
           kInvalidControlFrameId) {
     return;
   }
-  if (!QuicContainsKey(lost_control_frames_, id)) {
+  if (!lost_control_frames_.contains(id)) {
     lost_control_frames_[id] = true;
   }
 }
@@ -584,8 +583,8 @@
     }
     return true;
   }
-  if (!QuicContainsKey(stream_map_, QuicUtils::GetCryptoStreamId(
-                                        connection_->transport_version()))) {
+  if (!stream_map_.contains(
+          QuicUtils::GetCryptoStreamId(connection_->transport_version()))) {
     return true;
   }
   auto& state =
@@ -701,7 +700,7 @@
 }
 
 bool SimpleSessionNotifier::StreamIsWaitingForAcks(QuicStreamId id) const {
-  if (!QuicContainsKey(stream_map_, id)) {
+  if (!stream_map_.contains(id)) {
     return false;
   }
   const StreamState& state = stream_map_.find(id)->second;
@@ -710,7 +709,7 @@
 }
 
 bool SimpleSessionNotifier::StreamHasBufferedData(QuicStreamId id) const {
-  if (!QuicContainsKey(stream_map_, id)) {
+  if (!stream_map_.contains(id)) {
     return false;
   }
   const StreamState& state = stream_map_.find(id)->second;
diff --git a/quic/tools/quic_memory_cache_backend.cc b/quic/tools/quic_memory_cache_backend.cc
index de20648..120c2b7 100644
--- a/quic/tools/quic_memory_cache_backend.cc
+++ b/quic/tools/quic_memory_cache_backend.cc
@@ -14,7 +14,6 @@
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_file_utils.h"
 #include "quic/platform/api/quic_logging.h"
-#include "quic/platform/api/quic_map_util.h"
 #include "quic/tools/web_transport_test_visitors.h"
 #include "common/quiche_text_utils.h"
 
@@ -414,7 +413,7 @@
   QUICHE_DCHECK(!host.empty())
       << "Host must be populated, e.g. \"www.google.com\"";
   std::string key = GetKey(host, path);
-  if (QuicContainsKey(responses_, key)) {
+  if (responses_.contains(key)) {
     QUIC_BUG(quic_bug_10932_3)
         << "Response for '" << key << "' already exists!";
     return;
@@ -468,7 +467,7 @@
     bool found_existing_response = false;
     {
       QuicWriterMutexLock lock(&response_mutex_);
-      found_existing_response = QuicContainsKey(responses_, GetKey(host, path));
+      found_existing_response = responses_.contains(GetKey(host, path));
     }
     if (!found_existing_response) {
       // Add a server push response to responses map, if it is not in the map.