Fix includes in task_queue.h

Move headers used only in implementation of TaskQueue to .cc files

Bug: None
Change-Id: I6efc9279ae2fef4693b91e992c66236cb9d3d27c
Reviewed-on: https://webrtc-review.googlesource.com/51763
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22035}
diff --git a/rtc_base/task_queue.h b/rtc_base/task_queue.h
index 2f247e6..41d6a10 100644
--- a/rtc_base/task_queue.h
+++ b/rtc_base/task_queue.h
@@ -11,16 +11,14 @@
 #ifndef RTC_BASE_TASK_QUEUE_H_
 #define RTC_BASE_TASK_QUEUE_H_
 
-#include <list>
 #include <memory>
-#include <queue>
 #include <type_traits>
 #include <utility>
 
 #include "rtc_base/constructormagic.h"
-#include "rtc_base/criticalsection.h"
 #include "rtc_base/ptr_util.h"
 #include "rtc_base/scoped_ref_ptr.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace rtc {
 
diff --git a/rtc_base/task_queue_libevent.cc b/rtc_base/task_queue_libevent.cc
index 9c87206..b6e6353 100644
--- a/rtc_base/task_queue_libevent.cc
+++ b/rtc_base/task_queue_libevent.cc
@@ -14,9 +14,11 @@
 #include <signal.h>
 #include <string.h>
 #include <unistd.h>
+#include <list>
 
 #include "base/third_party/libevent/event.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/criticalsection.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/safe_conversions.h"
 #include "rtc_base/platform_thread.h"
diff --git a/rtc_base/task_queue_win.cc b/rtc_base/task_queue_win.cc
index 8a626e9..cbf86a6 100644
--- a/rtc_base/task_queue_win.cc
+++ b/rtc_base/task_queue_win.cc
@@ -10,7 +10,14 @@
 
 #include "rtc_base/task_queue.h"
 
-#include <mmsystem.h>
+// Include winsock2.h before including <windows.h> to maintain consistency with
+// win32.h.  We can't include win32.h directly here since it pulls in
+// headers such as basictypes.h which causes problems in Chromium where webrtc
+// exists as two separate projects, webrtc and libjingle.
+#include <winsock2.h>
+#include <windows.h>
+#include <sal.h>  // Must come after windows headers.
+#include <mmsystem.h>  // Must come after windows headers.
 #include <string.h>
 
 #include <algorithm>
@@ -19,6 +26,7 @@
 
 #include "rtc_base/arraysize.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/criticalsection.h"
 #include "rtc_base/event.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/safe_conversions.h"