diff --git a/http2/platform/api/http2_ptr_util.h b/http2/platform/api/http2_ptr_util.h
deleted file mode 100644
index 2530e7c..0000000
--- a/http2/platform/api/http2_ptr_util.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018 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_HTTP2_PLATFORM_API_HTTP2_PTR_UTIL_H_
-#define QUICHE_HTTP2_PLATFORM_API_HTTP2_PTR_UTIL_H_
-
-#include <memory>
-#include <utility>
-
-#include "net/http2/platform/impl/http2_ptr_util_impl.h"
-
-namespace http2 {
-
-template <typename T, typename... Args>
-std::unique_ptr<T> Http2MakeUnique(Args&&... args) {
-  return Http2MakeUniqueImpl<T>(std::forward<Args>(args)...);
-}
-
-}  // namespace http2
-
-#endif  // QUICHE_HTTP2_PLATFORM_API_HTTP2_PTR_UTIL_H_
diff --git a/quic/core/quic_packet_creator_test.cc b/quic/core/quic_packet_creator_test.cc
index f13805c..5a0c9db 100644
--- a/quic/core/quic_packet_creator_test.cc
+++ b/quic/core/quic_packet_creator_test.cc
@@ -2132,7 +2132,7 @@
   // Verify packet process.
   std::unique_ptr<QuicEncryptedPacket> packets[NUM_ENCRYPTION_LEVELS];
   packets[ENCRYPTION_INITIAL] =
-      QuicMakeUnique<QuicEncryptedPacket>(buffer, coalesced_length);
+      std::make_unique<QuicEncryptedPacket>(buffer, coalesced_length);
   for (size_t i = ENCRYPTION_INITIAL; i < NUM_ENCRYPTION_LEVELS; ++i) {
     InSequence s;
     EXPECT_CALL(framer_visitor_, OnPacket());
diff --git a/quic/platform/api/quic_ptr_util.h b/quic/platform/api/quic_ptr_util.h
index d0ed460..71045e1 100644
--- a/quic/platform/api/quic_ptr_util.h
+++ b/quic/platform/api/quic_ptr_util.h
@@ -12,11 +12,6 @@
 
 namespace quic {
 
-template <typename T, typename... Args>
-std::unique_ptr<T> QuicMakeUnique(Args&&... args) {
-  return QuicMakeUniqueImpl<T>(std::forward<Args>(args)...);
-}
-
 template <typename T>
 std::unique_ptr<T> QuicWrapUnique(T* ptr) {
   return QuicWrapUniqueImpl<T>(ptr);
diff --git a/spdy/platform/api/spdy_ptr_util.h b/spdy/platform/api/spdy_ptr_util.h
index 32b8515..dd77e8e 100644
--- a/spdy/platform/api/spdy_ptr_util.h
+++ b/spdy/platform/api/spdy_ptr_util.h
@@ -12,11 +12,6 @@
 
 namespace spdy {
 
-template <typename T, typename... Args>
-std::unique_ptr<T> SpdyMakeUnique(Args&&... args) {
-  return SpdyMakeUniqueImpl<T>(std::forward<Args>(args)...);
-}
-
 template <typename T>
 std::unique_ptr<T> SpdyWrapUnique(T* ptr) {
   return SpdyWrapUniqueImpl<T>(ptr);
