Move rtc::NewClosure into own build target as ToQueuedTask

to make it usable without need to depend on rtc_task_queue

Bug: webrtc:10191
Change-Id: I2ae1445cf5d498aa6928d66b6823f2f940987767
Reviewed-on: https://webrtc-review.googlesource.com/c/125084
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26942}
diff --git a/api/task_queue/BUILD.gn b/api/task_queue/BUILD.gn
index 333c872..f6bbbc3 100644
--- a/api/task_queue/BUILD.gn
+++ b/api/task_queue/BUILD.gn
@@ -42,8 +42,8 @@
   deps = [
     ":task_queue",
     "../../rtc_base:rtc_event",
-    "../../rtc_base:rtc_task_queue_api",
     "../../rtc_base:timeutils",
+    "../../rtc_base/task_utils:to_queued_task",
     "../../test:test_support",
     "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/strings",
diff --git a/api/task_queue/task_queue_test.cc b/api/task_queue/task_queue_test.cc
index b6f04cd..e78dbd2 100644
--- a/api/task_queue/task_queue_test.cc
+++ b/api/task_queue/task_queue_test.cc
@@ -12,7 +12,7 @@
 #include "absl/memory/memory.h"
 #include "absl/strings/string_view.h"
 #include "rtc_base/event.h"
-#include "rtc_base/task_queue.h"
+#include "rtc_base/task_utils/to_queued_task.h"
 #include "rtc_base/time_utils.h"
 
 namespace webrtc {
@@ -40,7 +40,7 @@
   EXPECT_FALSE(queue->IsCurrent());
   EXPECT_FALSE(TaskQueueBase::Current());
 
-  queue->PostTask(rtc::NewClosure([&event, &queue] {
+  queue->PostTask(ToQueuedTask([&event, &queue] {
     EXPECT_TRUE(queue->IsCurrent());
     event.Set();
   }));
@@ -74,7 +74,7 @@
   rtc::Event event;
   auto queue = CreateTaskQueue(factory, "PostDelayedZero");
 
-  queue->PostDelayedTask(rtc::NewClosure([&event] { event.Set(); }), 0);
+  queue->PostDelayedTask(ToQueuedTask([&event] { event.Set(); }), 0);
   EXPECT_TRUE(event.Wait(1000));
 }
 
@@ -83,8 +83,8 @@
   rtc::Event event;
   auto queue = CreateTaskQueue(factory, "PostFromQueue");
 
-  queue->PostTask(rtc::NewClosure([&event, &queue] {
-    queue->PostTask(rtc::NewClosure([&event] { event.Set(); }));
+  queue->PostTask(ToQueuedTask([&event, &queue] {
+    queue->PostTask(ToQueuedTask([&event] { event.Set(); }));
   }));
   EXPECT_TRUE(event.Wait(1000));
 }
@@ -96,7 +96,7 @@
       CreateTaskQueue(factory, "PostDelayed", TaskQueueFactory::Priority::HIGH);
 
   int64_t start = rtc::TimeMillis();
-  queue->PostDelayedTask(rtc::NewClosure([&event, &queue] {
+  queue->PostDelayedTask(ToQueuedTask([&event, &queue] {
                            EXPECT_TRUE(queue->IsCurrent());
                            event.Set();
                          }),
@@ -117,7 +117,7 @@
   std::vector<rtc::Event> events(100);
   for (int i = 0; i < 100; ++i) {
     rtc::Event* event = &events[i];
-    queue->PostDelayedTask(rtc::NewClosure([event, &queue] {
+    queue->PostDelayedTask(ToQueuedTask([event, &queue] {
                              EXPECT_TRUE(queue->IsCurrent());
                              event->Set();
                            }),
@@ -134,8 +134,7 @@
   rtc::Event deleted;
   auto queue = CreateTaskQueue(factory, "PostDelayedAfterDestruct");
   queue->PostDelayedTask(
-      rtc::NewClosure([&run] { run.Set(); }, [&deleted] { deleted.Set(); }),
-      100);
+      ToQueuedTask([&run] { run.Set(); }, [&deleted] { deleted.Set(); }), 100);
   // Destroy the queue.
   queue = nullptr;
   // Task might outlive the TaskQueue, but still should be deleted.
@@ -206,11 +205,11 @@
     // case inside of the libevent queue implementation.
 
     queue->PostTask(
-        rtc::NewClosure([&event] { event.Wait(rtc::Event::kForever); }));
+        ToQueuedTask([&event] { event.Wait(rtc::Event::kForever); }));
     for (int i = 0; i < kTaskCount; ++i)
       queue->PostTask(
-          rtc::NewClosure([&tasks_executed] { ++tasks_executed; },
-                          [&tasks_cleaned_up] { ++tasks_cleaned_up; }));
+          ToQueuedTask([&tasks_executed] { ++tasks_executed; },
+                       [&tasks_cleaned_up] { ++tasks_cleaned_up; }));
     event.Set();  // Unblock the first task.
   }
 
@@ -237,11 +236,11 @@
 
   auto queue = CreateTaskQueue(factory, "PostTwoWithSharedUnprotectedState");
   rtc::Event done;
-  queue->PostTask(rtc::NewClosure([&state, &queue, &done] {
+  queue->PostTask(ToQueuedTask([&state, &queue, &done] {
     // Post tasks from queue to guarantee, that 1st task won't be
     // executed before the second one will be posted.
-    queue->PostTask(rtc::NewClosure([&state] { state.state = 1; }));
-    queue->PostTask(rtc::NewClosure([&state, &done] {
+    queue->PostTask(ToQueuedTask([&state] { state.state = 1; }));
+    queue->PostTask(ToQueuedTask([&state, &done] {
       EXPECT_EQ(state.state, 1);
       done.Set();
     }));