| Index: webrtc/rtc_base/task_queue.h
 | 
| diff --git a/webrtc/rtc_base/task_queue.h b/webrtc/rtc_base/task_queue.h
 | 
| index 218fce9a3b9854529e5683731915b13324aaea25..e7eac2f18535ac7030d8c810b11fbf7c1d777800 100644
 | 
| --- a/webrtc/rtc_base/task_queue.h
 | 
| +++ b/webrtc/rtc_base/task_queue.h
 | 
| @@ -15,23 +15,16 @@
 | 
|  #include <memory>
 | 
|  #include <queue>
 | 
|  
 | 
| -#if defined(WEBRTC_MAC) && !defined(WEBRTC_BUILD_LIBEVENT)
 | 
| +#if defined(WEBRTC_MAC)
 | 
|  #include <dispatch/dispatch.h>
 | 
|  #endif
 | 
|  
 | 
|  #include "webrtc/rtc_base/constructormagic.h"
 | 
|  #include "webrtc/rtc_base/criticalsection.h"
 | 
| -
 | 
| -#if defined(WEBRTC_WIN) || defined(WEBRTC_BUILD_LIBEVENT)
 | 
| -#include "webrtc/rtc_base/platform_thread.h"
 | 
| -#endif
 | 
| -
 | 
| -#if defined(WEBRTC_BUILD_LIBEVENT)
 | 
| -#include "webrtc/rtc_base/refcountedobject.h"
 | 
|  #include "webrtc/rtc_base/scoped_ref_ptr.h"
 | 
|  
 | 
| -struct event_base;
 | 
| -struct event;
 | 
| +#if defined(WEBRTC_WIN)
 | 
| +#include "webrtc/rtc_base/platform_thread.h"
 | 
|  #endif
 | 
|  
 | 
|  namespace rtc {
 | 
| @@ -242,32 +235,7 @@ class LOCKABLE TaskQueue {
 | 
|    }
 | 
|  
 | 
|   private:
 | 
| -#if defined(WEBRTC_BUILD_LIBEVENT)
 | 
| -  static void ThreadMain(void* context);
 | 
| -  static void OnWakeup(int socket, short flags, void* context);  // NOLINT
 | 
| -  static void RunTask(int fd, short flags, void* context);       // NOLINT
 | 
| -  static void RunTimer(int fd, short flags, void* context);      // NOLINT
 | 
| -
 | 
| -  class ReplyTaskOwner;
 | 
| -  class PostAndReplyTask;
 | 
| -  class SetTimerTask;
 | 
| -
 | 
| -  typedef RefCountedObject<ReplyTaskOwner> ReplyTaskOwnerRef;
 | 
| -
 | 
| -  void PrepareReplyTask(scoped_refptr<ReplyTaskOwnerRef> reply_task);
 | 
| -
 | 
| -  struct QueueContext;
 | 
| -
 | 
| -  int wakeup_pipe_in_ = -1;
 | 
| -  int wakeup_pipe_out_ = -1;
 | 
| -  event_base* event_base_;
 | 
| -  std::unique_ptr<event> wakeup_event_;
 | 
| -  PlatformThread thread_;
 | 
| -  rtc::CriticalSection pending_lock_;
 | 
| -  std::list<std::unique_ptr<QueuedTask>> pending_ GUARDED_BY(pending_lock_);
 | 
| -  std::list<scoped_refptr<ReplyTaskOwnerRef>> pending_replies_
 | 
| -      GUARDED_BY(pending_lock_);
 | 
| -#elif defined(WEBRTC_MAC)
 | 
| +#if defined(WEBRTC_MAC)
 | 
|    struct QueueContext;
 | 
|    struct TaskContext;
 | 
|    struct PostTaskAndReplyContext;
 | 
| @@ -295,7 +263,8 @@ class LOCKABLE TaskQueue {
 | 
|    std::queue<std::unique_ptr<QueuedTask>> pending_ GUARDED_BY(pending_lock_);
 | 
|    HANDLE in_queue_;
 | 
|  #else
 | 
| -#error not supported.
 | 
| +  class Impl;
 | 
| +  const scoped_refptr<Impl> impl_;
 | 
|  #endif
 | 
|  
 | 
|    RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue);
 | 
| 
 |