Reland "Delete implicit conversion from raw pointer to scoped_ref_ptr"

This is a reland of 7b370b935ec0dac991da08f9da227df9ce245fd5

Original change's description:
> Delete implicit conversion from raw pointer to scoped_ref_ptr
>
> Followup to https://webrtc-review.googlesource.com/c/src/+/242363
>
> Bug: webrtc:13464
> Change-Id: I44358e8cfedeea92aac4ef47c540aff9a4865cdc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247362
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35897}

Bug: webrtc:13464
Change-Id: Ia0da558adb65852a900030ca7c2f2310a275188e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35943}
This commit is contained in:
Niels Möller
2022-01-25 15:54:17 +01:00
committed by WebRTC LUCI CQ
parent b6f3916c48
commit 1a58a3fe3f
2 changed files with 4 additions and 4 deletions

View File

@ -74,10 +74,9 @@ class scoped_refptr {
typedef T element_type;
scoped_refptr() : ptr_(nullptr) {}
scoped_refptr(std::nullptr_t) : ptr_(nullptr) {} // NOLINT(runtime/explicit)
// TODO(bugs.webrtc.org/13464): Implicit construction is deprecated. Mark
// explicit, and add a new implicit constructor accepting a nullptr_t.
scoped_refptr(T* p) : ptr_(p) { // NOLINT(runtime/explicit)
explicit scoped_refptr(T* p) : ptr_(p) {
if (ptr_)
ptr_->AddRef();
}

View File

@ -693,7 +693,8 @@ SharedScreenCastStream::~SharedScreenCastStream() {}
rtc::scoped_refptr<SharedScreenCastStream>
SharedScreenCastStream::CreateDefault() {
return new SharedScreenCastStream();
// Explicit new, to access non-public constructor.
return rtc::scoped_refptr(new SharedScreenCastStream());
}
bool SharedScreenCastStream::StartScreenCastStream(uint32_t stream_node_id,