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}
diff --git a/api/scoped_refptr.h b/api/scoped_refptr.h
index 164fefe..8f45f89 100644
--- a/api/scoped_refptr.h
+++ b/api/scoped_refptr.h
@@ -74,10 +74,9 @@
   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();
   }
diff --git a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
index 43ad756..3e5ef03 100644
--- a/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
+++ b/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
@@ -691,7 +691,8 @@
 
 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,