Replace scoped_ptr with unique_ptr everywhere

But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
index cdc7e98..9948615 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
@@ -12,7 +12,7 @@
 
 #import "NSString+StdString.h"
 
-#include "webrtc/base/scoped_ptr.h"
+#include <memory>
 
 namespace webrtc {
 
@@ -46,7 +46,7 @@
 
 
 @implementation RTCDataBuffer {
-  rtc::scoped_ptr<webrtc::DataBuffer> _dataBuffer;
+  std::unique_ptr<webrtc::DataBuffer> _dataBuffer;
 }
 
 - (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary {
@@ -86,7 +86,7 @@
 
 @implementation RTCDataChannel {
   rtc::scoped_refptr<webrtc::DataChannelInterface> _nativeDataChannel;
-  rtc::scoped_ptr<webrtc::DataChannelDelegateAdapter> _observer;
+  std::unique_ptr<webrtc::DataChannelDelegateAdapter> _observer;
   BOOL _isObserverRegistered;
 }
 
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
index 73335f3..c1fbd74 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
@@ -10,11 +10,12 @@
 
 #import "WebRTC/RTCFileLogger.h"
 
+#include <memory>
+
 #include "webrtc/base/checks.h"
 #include "webrtc/base/filerotatingstream.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/base/logsinks.h"
-#include "webrtc/base/scoped_ptr.h"
 
 NSString *const kDefaultLogDirName = @"webrtc_logs";
 NSUInteger const kDefaultMaxFileSize = 10 * 1024 * 1024; // 10MB.
@@ -24,7 +25,7 @@
   BOOL _hasStarted;
   NSString *_dirPath;
   NSUInteger _maxFileSize;
-  rtc::scoped_ptr<rtc::FileRotatingLogSink> _logSink;
+  std::unique_ptr<rtc::FileRotatingLogSink> _logSink;
 }
 
 @synthesize severity = _severity;
@@ -129,7 +130,7 @@
     return nil;
   }
   NSMutableData* logData = [NSMutableData data];
-  rtc::scoped_ptr<rtc::FileRotatingStream> stream;
+  std::unique_ptr<rtc::FileRotatingStream> stream;
   switch(_rotationType) {
     case RTCFileLoggerTypeApp:
       stream.reset(
@@ -150,7 +151,7 @@
   size_t read = 0;
   // Allocate memory using malloc so we can pass it direcly to NSData without
   // copying.
-  rtc::scoped_ptr<uint8_t[]> buffer(static_cast<uint8_t*>(malloc(bufferSize)));
+  std::unique_ptr<uint8_t[]> buffer(static_cast<uint8_t*>(malloc(bufferSize)));
   stream->ReadAll(buffer.get(), bufferSize, &read, nullptr);
   logData = [[NSMutableData alloc] initWithBytesNoCopy:buffer.release()
                                                 length:read];
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
index ba3ffb6..04858cf 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
@@ -10,6 +10,8 @@
 
 #import "WebRTC/RTCIceCandidate.h"
 
+#include <memory>
+
 #include "webrtc/api/jsep.h"
 #include "webrtc/base/scoped_ptr.h"
 
@@ -22,7 +24,7 @@
  * object. This is needed to pass to the underlying C++ APIs.
  */
 @property(nonatomic, readonly)
-    rtc::scoped_ptr<webrtc::IceCandidateInterface> nativeCandidate;
+    std::unique_ptr<webrtc::IceCandidateInterface> nativeCandidate;
 
 /**
  * Initialize an RTCIceCandidate from a native IceCandidateInterface. No
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
index 7b1e655..193403d 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
@@ -10,6 +10,8 @@
 
 #import "RTCIceCandidate+Private.h"
 
+#include <memory>
+
 #import "NSString+StdString.h"
 #import "WebRTC/RTCLogging.h"
 
@@ -51,7 +53,7 @@
                     sdpMid:[NSString stringForStdString:candidate->sdp_mid()]];
 }
 
-- (rtc::scoped_ptr<webrtc::IceCandidateInterface>)nativeCandidate {
+- (std::unique_ptr<webrtc::IceCandidateInterface>)nativeCandidate {
   webrtc::SdpParseError error;
 
   webrtc::IceCandidateInterface *candidate = webrtc::CreateIceCandidate(
@@ -63,7 +65,7 @@
            error.line.c_str());
   }
 
-  return rtc::scoped_ptr<webrtc::IceCandidateInterface>(candidate);
+  return std::unique_ptr<webrtc::IceCandidateInterface>(candidate);
 }
 
 @end
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
index 3662c44..6ad3b6d 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
@@ -10,6 +10,8 @@
 
 #import "WebRTC/RTCMediaConstraints.h"
 
+#include <memory>
+
 #include "webrtc/api/mediaconstraintsinterface.h"
 #include "webrtc/base/scoped_ptr.h"
 
@@ -41,7 +43,7 @@
  * A MediaConstraints representation of this RTCMediaConstraints object. This is
  * needed to pass to the underlying C++ APIs.
  */
-- (rtc::scoped_ptr<webrtc::MediaConstraints>)nativeConstraints;
+- (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints;
 
 /** Return a native Constraints object representing these constraints */
 + (webrtc::MediaConstraintsInterface::Constraints)
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
index 7a7cdf1..11be2ec 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
@@ -12,6 +12,8 @@
 
 #import "NSString+StdString.h"
 
+#include <memory>
+
 namespace webrtc {
 
 MediaConstraints::~MediaConstraints() {}
@@ -62,7 +64,7 @@
 
 #pragma mark - Private
 
-- (rtc::scoped_ptr<webrtc::MediaConstraints>)nativeConstraints {
+- (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints {
   webrtc::MediaConstraintsInterface::Constraints mandatory =
       [[self class] nativeConstraintsForConstraints:_mandatory];
   webrtc::MediaConstraintsInterface::Constraints optional =
@@ -70,7 +72,7 @@
 
   webrtc::MediaConstraints *nativeConstraints =
       new webrtc::MediaConstraints(mandatory, optional);
-  return rtc::scoped_ptr<webrtc::MediaConstraints>(nativeConstraints);
+  return std::unique_ptr<webrtc::MediaConstraints>(nativeConstraints);
 }
 
 + (webrtc::MediaConstraintsInterface::Constraints)
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
index ab45ca4..7d7b416 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
@@ -16,10 +16,10 @@
 #import <OpenGL/gl3.h>
 #endif
 #include <string.h>
+#include <memory>
 
 #import "WebRTC/RTCVideoFrame.h"
 
-#include "webrtc/base/scoped_ptr.h"
 
 // TODO(tkchin): check and log openGL errors. Methods here return BOOLs in
 // anticipation of that happening in the future.
@@ -162,7 +162,7 @@
   GLint _vSampler;
   // Used to create a non-padded plane for GPU upload when we receive padded
   // frames.
-  rtc::scoped_ptr<uint8_t[]> _planeBuffer;
+  std::unique_ptr<uint8_t[]> _planeBuffer;
 }
 
 @synthesize lastDrawnFrame = _lastDrawnFrame;
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
index 46ea52a..3b7632c 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
@@ -22,6 +22,8 @@
 #import "RTCStatsReport+Private.h"
 #import "WebRTC/RTCLogging.h"
 
+#include <memory>
+
 #include "webrtc/base/checks.h"
 
 NSString * const kRTCPeerConnectionErrorDomain =
@@ -45,8 +47,8 @@
 
   void OnSuccess(SessionDescriptionInterface *desc) override {
     RTC_DCHECK(completion_handler_);
-    rtc::scoped_ptr<webrtc::SessionDescriptionInterface> description =
-        rtc::scoped_ptr<webrtc::SessionDescriptionInterface>(desc);
+    std::unique_ptr<webrtc::SessionDescriptionInterface> description =
+        std::unique_ptr<webrtc::SessionDescriptionInterface>(desc);
     RTCSessionDescription* session =
         [[RTCSessionDescription alloc] initWithNativeDescription:
             description.get()];
@@ -184,7 +186,7 @@
 
 @implementation RTCPeerConnection {
   NSMutableArray *_localStreams;
-  rtc::scoped_ptr<webrtc::PeerConnectionDelegateAdapter> _observer;
+  std::unique_ptr<webrtc::PeerConnectionDelegateAdapter> _observer;
   rtc::scoped_refptr<webrtc::PeerConnectionInterface> _peerConnection;
 }
 
@@ -199,7 +201,7 @@
     _observer.reset(new webrtc::PeerConnectionDelegateAdapter(self));
     webrtc::PeerConnectionInterface::RTCConfiguration config =
         configuration.nativeConfiguration;
-    rtc::scoped_ptr<webrtc::MediaConstraints> nativeConstraints =
+    std::unique_ptr<webrtc::MediaConstraints> nativeConstraints =
         constraints.nativeConstraints;
     _peerConnection =
         factory.nativeFactory->CreatePeerConnection(config,
@@ -257,7 +259,7 @@
 }
 
 - (void)addIceCandidate:(RTCIceCandidate *)candidate {
-  rtc::scoped_ptr<const webrtc::IceCandidateInterface> iceCandidate(
+  std::unique_ptr<const webrtc::IceCandidateInterface> iceCandidate(
       candidate.nativeCandidate);
   _peerConnection->AddIceCandidate(iceCandidate.get());
 }
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
index 04aa121..82d7707 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
@@ -20,9 +20,11 @@
 #import "RTCVideoSource+Private.h"
 #import "RTCVideoTrack+Private.h"
 
+#include <memory>
+
 @implementation RTCPeerConnectionFactory {
-  rtc::scoped_ptr<rtc::Thread> _signalingThread;
-  rtc::scoped_ptr<rtc::Thread> _workerThread;
+  std::unique_ptr<rtc::Thread> _signalingThread;
+  std::unique_ptr<rtc::Thread> _workerThread;
 }
 
 @synthesize nativeFactory = _nativeFactory;
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
index 8a99d4e..1fb2695 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
@@ -10,10 +10,10 @@
 
 #import "RTCVideoFrame+Private.h"
 
-#include "webrtc/base/scoped_ptr.h"
+#include <memory>
 
 @implementation RTCVideoFrame {
-  rtc::scoped_ptr<cricket::VideoFrame> _videoFrame;
+  std::unique_ptr<cricket::VideoFrame> _videoFrame;
   rtc::scoped_refptr<webrtc::VideoFrameBuffer> _i420Buffer;
 }
 
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
index 1d64cd8..4976ba9 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
@@ -12,6 +12,8 @@
 
 #import "RTCVideoFrame+Private.h"
 
+#include <memory>
+
 #include "webrtc/media/engine/webrtcvideoframe.h"
 
 namespace webrtc {
@@ -60,7 +62,7 @@
 }
 
 @implementation RTCVideoRendererAdapter {
-  rtc::scoped_ptr<webrtc::VideoRendererAdapter> _adapter;
+  std::unique_ptr<webrtc::VideoRendererAdapter> _adapter;
 }
 
 @synthesize videoRenderer = _videoRenderer;