Inject signaling and network threads to DataChannel.

Add a few DCHECKs and comments about upcoming work.

Bug: webrtc:11547
Change-Id: I2d42f48cb93f31e70cf9fe4b3b62241c38bc9d8c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177106
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31530}
diff --git a/pc/data_channel_unittest.cc b/pc/data_channel_unittest.cc
index b29be33..11dfcc4 100644
--- a/pc/data_channel_unittest.cc
+++ b/pc/data_channel_unittest.cc
@@ -64,6 +64,7 @@
 // TODO(deadbeef): The fact that these tests use a fake provider makes them not
 // too valuable. Should rewrite using the
 // peerconnection_datachannel_unittest.cc infrastructure.
+// TODO(bugs.webrtc.org/11547): Incorporate a dedicated network thread.
 class SctpDataChannelTest : public ::testing::Test {
  protected:
   SctpDataChannelTest()
@@ -71,7 +72,9 @@
         webrtc_data_channel_(DataChannel::Create(provider_.get(),
                                                  cricket::DCT_SCTP,
                                                  "test",
-                                                 init_)) {}
+                                                 init_,
+                                                 rtc::Thread::Current(),
+                                                 rtc::Thread::Current())) {}
 
   void SetChannelReady() {
     provider_->set_transport_available(true);
@@ -111,7 +114,8 @@
 TEST_F(SctpDataChannelTest, ConnectedToTransportOnCreated) {
   provider_->set_transport_available(true);
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init_);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init_,
+                          rtc::Thread::Current(), rtc::Thread::Current());
 
   EXPECT_TRUE(provider_->IsConnected(dc.get()));
   // The sid is not set yet, so it should not have added the streams.
@@ -305,7 +309,8 @@
   webrtc::InternalDataChannelInit init;
   init.id = 1;
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init,
+                          rtc::Thread::Current(), rtc::Thread::Current());
   EXPECT_EQ(webrtc::DataChannelInterface::kConnecting, dc->state());
   EXPECT_TRUE_WAIT(webrtc::DataChannelInterface::kOpen == dc->state(), 1000);
 }
@@ -318,7 +323,8 @@
   init.id = 1;
   init.ordered = false;
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init,
+                          rtc::Thread::Current(), rtc::Thread::Current());
 
   EXPECT_EQ_WAIT(webrtc::DataChannelInterface::kOpen, dc->state(), 1000);
 
@@ -348,7 +354,8 @@
   init.id = 1;
   init.ordered = false;
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", init,
+                          rtc::Thread::Current(), rtc::Thread::Current());
 
   EXPECT_EQ_WAIT(webrtc::DataChannelInterface::kOpen, dc->state(), 1000);
 
@@ -449,7 +456,8 @@
 
   SetChannelReady();
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", config);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", config,
+                          rtc::Thread::Current(), rtc::Thread::Current());
 
   EXPECT_EQ_WAIT(webrtc::DataChannelInterface::kOpen, dc->state(), 1000);
   EXPECT_EQ(0U, provider_->last_send_data_params().ssrc);
@@ -512,7 +520,8 @@
 
   SetChannelReady();
   rtc::scoped_refptr<DataChannel> dc =
-      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", config);
+      DataChannel::Create(provider_.get(), cricket::DCT_SCTP, "test1", config,
+                          rtc::Thread::Current(), rtc::Thread::Current());
 
   EXPECT_EQ_WAIT(webrtc::DataChannelInterface::kOpen, dc->state(), 1000);