Remove SignalSSLHandshakeError signal from SSLStreamAdapter.

Also removing has_slots depdency from OpenSSLStreamAdapter and moving
it to the  OpenSSLStreamAdapter subclass where it's still needed.

Bug: webrtc:11943
Change-Id: Ibcae5ea1efff146d78b32bb0eca63d7f44ed08c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/318885
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40702}
diff --git a/rtc_base/openssl_stream_adapter.cc b/rtc_base/openssl_stream_adapter.cc
index 5064f0d..d462f77 100644
--- a/rtc_base/openssl_stream_adapter.cc
+++ b/rtc_base/openssl_stream_adapter.cc
@@ -942,10 +942,6 @@
                            << ERR_GET_REASON(err_code);
       if (handshake_error_) {
         handshake_error_(ssl_handshake_err);
-      } else {
-        // TODO(bugs.webrtc.org/11943): SignalSSLHandshakeError usage has been
-        // deprecated. Remove once external usage has been cleaned up.
-        SignalSSLHandshakeError(ssl_handshake_err);
       }
       return (ssl_error != 0) ? ssl_error : -1;
   }
diff --git a/rtc_base/openssl_stream_adapter.h b/rtc_base/openssl_stream_adapter.h
index 779bc01..579ca2a 100644
--- a/rtc_base/openssl_stream_adapter.h
+++ b/rtc_base/openssl_stream_adapter.h
@@ -34,6 +34,7 @@
 #include "rtc_base/stream.h"
 #include "rtc_base/system/rtc_export.h"
 #include "rtc_base/task_utils/repeating_task.h"
+#include "rtc_base/third_party/sigslot/sigslot.h"
 
 namespace rtc {
 
@@ -71,7 +72,8 @@
 // configuration is restored.
 RTC_EXPORT void SetAllowLegacyTLSProtocols(const absl::optional<bool>& allow);
 
-class OpenSSLStreamAdapter final : public SSLStreamAdapter {
+class OpenSSLStreamAdapter final : public SSLStreamAdapter,
+                                   public sigslot::has_slots<> {
  public:
   OpenSSLStreamAdapter(
       std::unique_ptr<StreamInterface> stream,
diff --git a/rtc_base/ssl_stream_adapter.h b/rtc_base/ssl_stream_adapter.h
index 6494bcf..d8b66f1 100644
--- a/rtc_base/ssl_stream_adapter.h
+++ b/rtc_base/ssl_stream_adapter.h
@@ -24,7 +24,6 @@
 #include "rtc_base/ssl_certificate.h"
 #include "rtc_base/ssl_identity.h"
 #include "rtc_base/stream.h"
-#include "rtc_base/third_party/sigslot/sigslot.h"
 
 namespace rtc {
 
@@ -113,7 +112,7 @@
 // Used to send back UMA histogram value. Logged when Dtls handshake fails.
 enum class SSLHandshakeError { UNKNOWN, INCOMPATIBLE_CIPHERSUITE, MAX_VALUE };
 
-class SSLStreamAdapter : public StreamInterface, public sigslot::has_slots<> {
+class SSLStreamAdapter : public StreamInterface {
  public:
   // Instantiate an SSLStreamAdapter wrapping the given stream,
   // (using the selected implementation for the platform).
@@ -263,9 +262,6 @@
   // authentication.
   bool GetClientAuthEnabled() const { return client_auth_enabled_; }
 
-  // TODO(bugs.webrtc.org/11943): Remove after updating downstream code.
-  sigslot::signal1<SSLHandshakeError> SignalSSLHandshakeError;
-
  private:
   // If true (default), the client is required to provide a certificate during
   // handshake. If no certificate is given, handshake fails. This applies to