Enforce thread invoke policy for invokes to itself

Bug: None
Change-Id: Ic4a80973bd0901f69c66ecabd3c135566f4ef247
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219629
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34119}
diff --git a/pc/connection_context.cc b/pc/connection_context.cc
index 8d6ee63..1bb7908 100644
--- a/pc/connection_context.cc
+++ b/pc/connection_context.cc
@@ -103,11 +103,13 @@
   signaling_thread_->AllowInvokesToThread(network_thread_);
   worker_thread_->AllowInvokesToThread(network_thread_);
   if (network_thread_->IsCurrent()) {
-    network_thread_->DisallowAllInvokes();
+    // TODO(https://crbug.com/webrtc/12802) switch to DisallowAllInvokes
+    network_thread_->AllowInvokesToThread(network_thread_);
   } else {
     network_thread_->PostTask(ToQueuedTask([thread = network_thread_] {
       thread->DisallowBlockingCalls();
-      thread->DisallowAllInvokes();
+      // TODO(https://crbug.com/webrtc/12802) switch to DisallowAllInvokes
+      thread->AllowInvokesToThread(thread);
     }));
   }
 
diff --git a/rtc_base/thread.cc b/rtc_base/thread.cc
index 2a5d5ec..8ca9ce7 100644
--- a/rtc_base/thread.cc
+++ b/rtc_base/thread.cc
@@ -929,6 +929,7 @@
   msg.pdata = pdata;
   if (IsCurrent()) {
 #if RTC_DCHECK_IS_ON
+    RTC_DCHECK(this->IsInvokeToThreadAllowed(this));
     RTC_DCHECK_RUN_ON(this);
     could_be_blocking_call_count_++;
 #endif