From c2342031f4d9c4f55b666115ad2430aec921df9c Mon Sep 17 00:00:00 2001 From: Karl Wiberg Date: Wed, 8 Aug 2018 11:39:52 +0200 Subject: [PATCH] Remove rtc::{Make,Wrap}Unique and their header file + unit tests We've switched to absl::make_unique and absl::WrapUnique. Bug: webrtc:9473 Change-Id: I08aef72d52b571c511c0f4adb4c68d6cc2654192 Reviewed-on: https://webrtc-review.googlesource.com/87262 Commit-Queue: Karl Wiberg Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#24225} --- api/video/BUILD.gn | 1 + api/video/video_stream_encoder_create.cc | 6 +- rtc_base/BUILD.gn | 5 -- rtc_base/ptr_util.h | 38 ------------ rtc_base/ptr_util_unittest.cc | 69 ---------------------- sdk/android/src/jni/androidmediadecoder.cc | 1 - sdk/android/src/jni/androidmediaencoder.cc | 1 - sdk/android/src/jni/pc/video.cc | 1 - 8 files changed, 4 insertions(+), 118 deletions(-) delete mode 100644 rtc_base/ptr_util.h delete mode 100644 rtc_base/ptr_util_unittest.cc diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn index f9c33ab02a2..9a9bd2a2756 100644 --- a/api/video/BUILD.gn +++ b/api/video/BUILD.gn @@ -166,5 +166,6 @@ rtc_source_set("video_stream_encoder_create") { "../../rtc_base:ptr_util", "../../video:video_stream_encoder_impl", "../video_codecs:video_codecs_api", + "//third_party/abseil-cpp/absl/memory", ] } diff --git a/api/video/video_stream_encoder_create.cc b/api/video/video_stream_encoder_create.cc index b376a4878fa..3147d34eea7 100644 --- a/api/video/video_stream_encoder_create.cc +++ b/api/video/video_stream_encoder_create.cc @@ -10,7 +10,7 @@ #include "api/video/video_stream_encoder_create.h" -#include "rtc_base/ptr_util.h" +#include "absl/memory/memory.h" #include "video/video_stream_encoder.h" namespace webrtc { @@ -20,8 +20,8 @@ std::unique_ptr CreateVideoStreamEncoder( const VideoStreamEncoderSettings& settings, // Deprecated, used for tests only. rtc::VideoSinkInterface* pre_encode_callback) { - return rtc::MakeUnique( + return absl::make_unique( number_of_cores, encoder_stats_observer, settings, pre_encode_callback, - rtc::MakeUnique(encoder_stats_observer)); + absl::make_unique(encoder_stats_observer)); } } // namespace webrtc diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn index 1dc81d2fb61..2987420343f 100644 --- a/rtc_base/BUILD.gn +++ b/rtc_base/BUILD.gn @@ -111,12 +111,8 @@ rtc_source_set("platform_thread_types") { rtc_source_set("ptr_util") { sources = [ - "ptr_util.h", "scoped_ref_ptr.h", ] - deps = [ - "//third_party/abseil-cpp/absl/memory", - ] } rtc_source_set("refcount") { @@ -1272,7 +1268,6 @@ if (rtc_include_tests) { "network_unittest.cc", "optionsfile_unittest.cc", "proxy_unittest.cc", - "ptr_util_unittest.cc", "rollingaccumulator_unittest.cc", "rtccertificate_unittest.cc", "rtccertificategenerator_unittest.cc", diff --git a/rtc_base/ptr_util.h b/rtc_base/ptr_util.h deleted file mode 100644 index 56d8da341d2..00000000000 --- a/rtc_base/ptr_util.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2017 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -// This file contains rtc::MakeUnique and rtc::WrapUnique, which are backwards -// compatibility aliases for absl::make_unique and absl::WrapUnique, -// respectively. This file will go away soon; use the Abseil types directly in -// new code. - -#ifndef RTC_BASE_PTR_UTIL_H_ -#define RTC_BASE_PTR_UTIL_H_ - -#include "absl/memory/memory.h" - -namespace rtc { - -template -auto MakeUnique(Args&&... args) - -> decltype(absl::make_unique(std::forward(args)...)) { - return absl::make_unique(std::forward(args)...); -} - -template -auto MakeUnique(size_t n) -> decltype(absl::make_unique(n)) { - return absl::make_unique(n); -} - -using absl::WrapUnique; - -} // namespace rtc - -#endif // RTC_BASE_PTR_UTIL_H_ diff --git a/rtc_base/ptr_util_unittest.cc b/rtc_base/ptr_util_unittest.cc deleted file mode 100644 index 6497fda525c..00000000000 --- a/rtc_base/ptr_util_unittest.cc +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2017 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include "rtc_base/ptr_util.h" - -#include -#include - -#include "rtc_base/gunit.h" - -namespace rtc { - -namespace { - -class DeleteCounter { - public: - DeleteCounter() { ++count_; } - ~DeleteCounter() { --count_; } - - static size_t count() { return count_; } - - private: - static size_t count_; -}; - -size_t DeleteCounter::count_ = 0; - -} // namespace - -TEST(PtrUtilTest, WrapUnique) { - EXPECT_EQ(0u, DeleteCounter::count()); - DeleteCounter* counter = new DeleteCounter; - EXPECT_EQ(1u, DeleteCounter::count()); - std::unique_ptr owned_counter = WrapUnique(counter); - EXPECT_EQ(1u, DeleteCounter::count()); - owned_counter.reset(); - EXPECT_EQ(0u, DeleteCounter::count()); -} - -TEST(PtrUtilTest, MakeUniqueScalar) { - auto s = MakeUnique(); - EXPECT_EQ("", *s); - - auto s2 = MakeUnique("test"); - EXPECT_EQ("test", *s2); -} - -TEST(PtrUtilTest, MakeUniqueScalarWithMoveOnlyType) { - using MoveOnly = std::unique_ptr; - auto p = MakeUnique(MakeUnique("test")); - EXPECT_EQ("test", **p); -} - -TEST(PtrUtilTest, MakeUniqueArray) { - EXPECT_EQ(0u, DeleteCounter::count()); - auto a = MakeUnique(5); - EXPECT_EQ(5u, DeleteCounter::count()); - a.reset(); - EXPECT_EQ(0u, DeleteCounter::count()); -} - -} // namespace rtc diff --git a/sdk/android/src/jni/androidmediadecoder.cc b/sdk/android/src/jni/androidmediadecoder.cc index 9c9e456c934..2f5398e0acf 100644 --- a/sdk/android/src/jni/androidmediadecoder.cc +++ b/sdk/android/src/jni/androidmediadecoder.cc @@ -23,7 +23,6 @@ #include "rtc_base/checks.h" #include "rtc_base/logging.h" #include "rtc_base/numerics/safe_conversions.h" -#include "rtc_base/ptr_util.h" #include "rtc_base/scoped_ref_ptr.h" #include "rtc_base/thread.h" #include "rtc_base/timeutils.h" diff --git a/sdk/android/src/jni/androidmediaencoder.cc b/sdk/android/src/jni/androidmediaencoder.cc index 75c50c1cb1f..0fd6912cbca 100644 --- a/sdk/android/src/jni/androidmediaencoder.cc +++ b/sdk/android/src/jni/androidmediaencoder.cc @@ -30,7 +30,6 @@ #include "rtc_base/bind.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "rtc_base/ptr_util.h" #include "rtc_base/sequenced_task_checker.h" #include "rtc_base/task_queue.h" #include "rtc_base/thread.h" diff --git a/sdk/android/src/jni/pc/video.cc b/sdk/android/src/jni/pc/video.cc index d5132620b8a..cb1307a367c 100644 --- a/sdk/android/src/jni/pc/video.cc +++ b/sdk/android/src/jni/pc/video.cc @@ -18,7 +18,6 @@ #include "api/videosourceproxy.h" #include "media/engine/convert_legacy_video_factory.h" #include "rtc_base/logging.h" -#include "rtc_base/ptr_util.h" #include "sdk/android/src/jni/androidvideotracksource.h" #include "sdk/android/src/jni/videodecoderfactorywrapper.h" #include "sdk/android/src/jni/videoencoderfactorywrapper.h"