diff --git a/common/platform/api/quiche_map_util.h b/common/platform/api/quiche_map_util.h
new file mode 100644
index 0000000..b539466
--- /dev/null
+++ b/common/platform/api/quiche_map_util.h
@@ -0,0 +1,19 @@
+// Copyright (c) 2019 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_COMMON_PLATFORM_API_QUICHE_MAP_UTIL_H_
+#define QUICHE_COMMON_PLATFORM_API_QUICHE_MAP_UTIL_H_
+
+#include "net/quiche/common/platform/impl/quiche_map_util_impl.h"
+
+namespace quiche {
+
+template <class Collection, class Key>
+bool QuicheContainsKey(const Collection& collection, const Key& key) {
+  return QuicheContainsKeyImpl(collection, key);
+}
+
+}  // namespace quiche
+
+#endif  // QUICHE_COMMON_PLATFORM_API_QUICHE_MAP_UTIL_H_
diff --git a/spdy/core/http2_priority_write_scheduler.h b/spdy/core/http2_priority_write_scheduler.h
index 2bb8fbe..a50745f 100644
--- a/spdy/core/http2_priority_write_scheduler.h
+++ b/spdy/core/http2_priority_write_scheduler.h
@@ -17,6 +17,7 @@
 #include <utility>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_map_util.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_str_cat.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_intrusive_list.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
@@ -24,7 +25,6 @@
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_bug_tracker.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_containers.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_logging.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_map_util.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_string_utils.h"
 
 namespace spdy {
@@ -211,7 +211,7 @@
 template <typename StreamIdType>
 bool Http2PriorityWriteScheduler<StreamIdType>::StreamRegistered(
     StreamIdType stream_id) const {
-  return SpdyContainsKey(all_stream_infos_, stream_id);
+  return quiche::QuicheContainsKey(all_stream_infos_, stream_id);
 }
 
 template <typename StreamIdType>
diff --git a/spdy/platform/api/spdy_map_util.h b/spdy/platform/api/spdy_map_util.h
deleted file mode 100644
index e9b5f85..0000000
--- a/spdy/platform/api/spdy_map_util.h
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2019 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_SPDY_PLATFORM_API_SPDY_MAP_UTIL_H_
-#define QUICHE_SPDY_PLATFORM_API_SPDY_MAP_UTIL_H_
-
-#include "net/spdy/platform/impl/spdy_map_util_impl.h"
-
-namespace spdy {
-
-template <class Collection, class Key>
-bool SpdyContainsKey(const Collection& collection, const Key& key) {
-  return SpdyContainsKeyImpl(collection, key);
-}
-
-}  // namespace spdy
-
-#endif  // QUICHE_SPDY_PLATFORM_API_SPDY_MAP_UTIL_H_
