Index: base/message_loop/message_loop.h |
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h |
index 66176466cfd1e7131987697076f81dbb50399799..4bb7d550bccf53a53c062daea1436208bd6e6b38 100644 |
--- a/base/message_loop/message_loop.h |
+++ b/base/message_loop/message_loop.h |
@@ -32,17 +32,6 @@ |
#include "base/message_loop/message_pump_io_ios.h" |
#elif defined(OS_POSIX) |
#include "base/message_loop/message_pump_libevent.h" |
-#if !defined(OS_MACOSX) && !defined(OS_ANDROID) |
- |
-#if defined(OS_CHROMEOS) && !defined(OS_NACL) && !defined(USE_GLIB) |
-#include "base/message_loop/message_pump_libevent.h" |
-#elif defined(USE_GLIB) && !defined(OS_NACL) |
-#include "base/message_loop/message_pump_glib.h" |
-#elif !defined(OS_ANDROID_HOST) |
-#include "base/message_loop/message_pump_glib.h" |
-#endif |
- |
-#endif |
#endif |
namespace base { |
@@ -51,11 +40,6 @@ class HistogramBase; |
class MessagePumpObserver; |
class RunLoop; |
class ThreadTaskRunnerHandle; |
-#if defined(OS_ANDROID) |
-class MessagePumpForUI; |
-#elif defined(OS_ANDROID_HOST) || (defined(OS_CHROMEOS) && !defined(USE_GLIB)) |
-typedef MessagePumpLibevent MessagePumpForUI; |
-#endif |
class WaitableEvent; |
// A MessageLoop is used to process events for a particular thread. There is |
@@ -91,10 +75,6 @@ class WaitableEvent; |
// |
class BASE_EXPORT MessageLoop : public MessagePump::Delegate { |
public: |
-#if defined(OS_WIN) |
- typedef MessagePumpObserver Observer; |
-#endif |
- |
// A MessageLoop has a particular type, which indicates the set of |
// asynchronous events it may process in addition to tasks and timers. |
// |
@@ -392,17 +372,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate { |
//---------------------------------------------------------------------------- |
protected: |
- |
-#if defined(OS_WIN) |
- MessagePumpWin* pump_win() { |
- return static_cast<MessagePumpWin*>(pump_.get()); |
- } |
-#elif defined(OS_POSIX) && !defined(OS_IOS) |
- MessagePumpLibevent* pump_libevent() { |
- return static_cast<MessagePumpLibevent*>(pump_.get()); |
- } |
-#endif |
- |
scoped_ptr<MessagePump> pump_; |
private: |
@@ -518,6 +487,8 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate { |
DISALLOW_COPY_AND_ASSIGN(MessageLoop); |
}; |
+#if !defined(OS_NACL) |
+ |
//----------------------------------------------------------------------------- |
// MessageLoopForUI extends MessageLoop with methods that are particular to a |
// MessageLoop instantiated with TYPE_UI. |
@@ -557,14 +528,15 @@ class BASE_EXPORT MessageLoopForUI : public MessageLoop { |
void Start(); |
#endif |
-#if !defined(OS_NACL) && defined(OS_WIN) |
+#if defined(OS_WIN) |
+ typedef MessagePumpObserver Observer; |
+ |
// Please see message_pump_win for definitions of these methods. |
void AddObserver(Observer* observer); |
void RemoveObserver(Observer* observer); |
#endif |
-#if !defined(OS_NACL) && \ |
- (defined(USE_OZONE) || (defined(OS_CHROMEOS) && !defined(USE_GLIB))) |
+#if defined(USE_OZONE) || (defined(OS_CHROMEOS) && !defined(USE_GLIB)) |
// Please see MessagePumpLibevent for definition. |
bool WatchFileDescriptor( |
int fd, |
@@ -573,14 +545,6 @@ class BASE_EXPORT MessageLoopForUI : public MessageLoop { |
MessagePumpLibevent::FileDescriptorWatcher* controller, |
MessagePumpLibevent::Watcher* delegate); |
#endif |
- |
- protected: |
-#if !defined(OS_MACOSX) && !defined(OS_ANDROID) |
- // TODO(rvargas): Make this platform independent. |
- MessagePumpForUI* pump_ui() { |
- return static_cast<MessagePumpForUI*>(pump_.get()); |
- } |
-#endif |
}; |
// Do not add any member variables to MessageLoopForUI! This is important b/c |
@@ -589,6 +553,8 @@ class BASE_EXPORT MessageLoopForUI : public MessageLoop { |
COMPILE_ASSERT(sizeof(MessageLoop) == sizeof(MessageLoopForUI), |
MessageLoopForUI_should_not_have_extra_member_variables); |
+#endif // !defined(OS_NACL) |
+ |
//----------------------------------------------------------------------------- |
// MessageLoopForIO extends MessageLoop with methods that are particular to a |
// MessageLoop instantiated with TYPE_IO. |
@@ -598,6 +564,23 @@ COMPILE_ASSERT(sizeof(MessageLoop) == sizeof(MessageLoopForUI), |
// |
class BASE_EXPORT MessageLoopForIO : public MessageLoop { |
public: |
+ MessageLoopForIO() : MessageLoop(TYPE_IO) { |
+ } |
+ |
+ // Returns the MessageLoopForIO of the current thread. |
+ static MessageLoopForIO* current() { |
+ MessageLoop* loop = MessageLoop::current(); |
+ DCHECK_EQ(MessageLoop::TYPE_IO, loop->type()); |
+ return static_cast<MessageLoopForIO*>(loop); |
+ } |
+ |
+ static bool IsCurrent() { |
+ MessageLoop* loop = MessageLoop::current(); |
+ return loop && loop->type() == MessageLoop::TYPE_IO; |
+ } |
+ |
+#if !defined(OS_NACL) |
+ |
#if defined(OS_WIN) |
typedef MessagePumpForIO::IOHandler IOHandler; |
typedef MessagePumpForIO::IOContext IOContext; |
@@ -624,70 +607,25 @@ class BASE_EXPORT MessageLoopForIO : public MessageLoop { |
WATCH_WRITE = MessagePumpLibevent::WATCH_WRITE, |
WATCH_READ_WRITE = MessagePumpLibevent::WATCH_READ_WRITE |
}; |
- |
#endif |
- MessageLoopForIO() : MessageLoop(TYPE_IO) { |
- } |
- |
- // Returns the MessageLoopForIO of the current thread. |
- static MessageLoopForIO* current() { |
- MessageLoop* loop = MessageLoop::current(); |
- DCHECK_EQ(MessageLoop::TYPE_IO, loop->type()); |
- return static_cast<MessageLoopForIO*>(loop); |
- } |
- |
- static bool IsCurrent() { |
- MessageLoop* loop = MessageLoop::current(); |
- return loop && loop->type() == MessageLoop::TYPE_IO; |
- } |
- |
- void AddIOObserver(IOObserver* io_observer) { |
- pump_io()->AddIOObserver(io_observer); |
- } |
- |
- void RemoveIOObserver(IOObserver* io_observer) { |
- pump_io()->RemoveIOObserver(io_observer); |
- } |
+ void AddIOObserver(IOObserver* io_observer); |
+ void RemoveIOObserver(IOObserver* io_observer); |
#if defined(OS_WIN) |
// Please see MessagePumpWin for definitions of these methods. |
void RegisterIOHandler(HANDLE file, IOHandler* handler); |
bool RegisterJobObject(HANDLE job, IOHandler* handler); |
bool WaitForIOCompletion(DWORD timeout, IOHandler* filter); |
- |
- protected: |
- // TODO(rvargas): Make this platform independent. |
- MessagePumpForIO* pump_io() { |
- return static_cast<MessagePumpForIO*>(pump_.get()); |
- } |
- |
-#elif defined(OS_IOS) |
- // Please see MessagePumpIOSForIO for definition. |
+#elif defined(OS_POSIX) |
+ // Please see MessagePumpIOSForIO/MessagePumpLibevent for definition. |
bool WatchFileDescriptor(int fd, |
bool persistent, |
Mode mode, |
FileDescriptorWatcher *controller, |
Watcher *delegate); |
- |
- private: |
- MessagePumpIOSForIO* pump_io() { |
- return static_cast<MessagePumpIOSForIO*>(pump_.get()); |
- } |
- |
-#elif defined(OS_POSIX) |
- // Please see MessagePumpLibevent for definition. |
- bool WatchFileDescriptor(int fd, |
- bool persistent, |
- Mode mode, |
- FileDescriptorWatcher* controller, |
- Watcher* delegate); |
- |
- private: |
- MessagePumpLibevent* pump_io() { |
- return static_cast<MessagePumpLibevent*>(pump_.get()); |
- } |
-#endif // defined(OS_POSIX) |
+#endif // defined(OS_IOS) || defined(OS_POSIX) |
+#endif // !defined(OS_NACL) |
}; |
// Do not add any member variables to MessageLoopForIO! This is important b/c |