Rewrite WebRtcSession data channel tests as PeerConnection tests

Bug: webrtc:8222
Change-Id: I1382a0727b04dfd33e79992841d885f640b3a032
Reviewed-on: https://webrtc-review.googlesource.com/8281
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20398}
diff --git a/pc/peerconnectionfactory.cc b/pc/peerconnectionfactory.cc
index 20edaa6..dc84d76 100644
--- a/pc/peerconnectionfactory.cc
+++ b/pc/peerconnectionfactory.cc
@@ -20,6 +20,7 @@
 #include "api/turncustomizer.h"
 #include "api/videosourceproxy.h"
 #include "logging/rtc_event_log/rtc_event_log.h"
+#include "media/sctp/sctptransport.h"
 #include "rtc_base/bind.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/ptr_util.h"
@@ -297,6 +298,15 @@
       redetermine_role_on_ice_restart, options_.crypto_options);
 }
 
+std::unique_ptr<cricket::SctpTransportInternalFactory>
+PeerConnectionFactory::CreateSctpTransportInternalFactory() {
+#ifdef HAVE_SCTP
+  return rtc::MakeUnique<cricket::SctpTransportFactory>(network_thread());
+#else
+  return nullptr;
+#endif
+}
+
 cricket::ChannelManager* PeerConnectionFactory::channel_manager() {
   return channel_manager_.get();
 }