ozone: Remove the libevent message-pump.
The ozone message-pump is no longer needed. So remove that, and use the default
message-pump based on libevent instead. Also, add a convenience method for
adding a watcher on a file-descriptor to the message-pump from the message-loop.
BUG=354062
R=rjkroege@chromium.org, sky@chromium.org
TBR=darin@chromium.org
Review URL: https://codereview.chromium.org/231643005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263022 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: ef1a61b3ca42b158068c27e722630d881eb5fa1e
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index 2315fd1..d4315c1 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -219,6 +219,9 @@
// ipc_channel_nacl.cc uses a worker thread to do socket reads currently, and
// doesn't require extra support for watching file descriptors.
#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpDefault())
+#elif defined(USE_OZONE)
+#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpLibevent())
+#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpLibevent())
#elif defined(OS_POSIX) // POSIX but not MACOSX.
#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpForUI())
#define MESSAGE_PUMP_IO scoped_ptr<MessagePump>(new MessagePumpLibevent())
@@ -666,7 +669,7 @@
}
#endif
-#if !defined(OS_NACL) && (defined(TOOLKIT_GTK) || defined(USE_OZONE) || \
+#if !defined(OS_NACL) && (defined(TOOLKIT_GTK) || \
defined(OS_WIN) || defined(USE_X11))
void MessageLoopForUI::AddObserver(Observer* observer) {
pump_ui()->AddObserver(observer);
@@ -677,6 +680,22 @@
}
#endif // !defined(OS_MACOSX) && !defined(OS_NACL) && !defined(OS_ANDROID)
+#if defined(USE_OZONE)
+bool MessageLoopForUI::WatchFileDescriptor(
+ int fd,
+ bool persistent,
+ MessagePumpLibevent::Mode mode,
+ MessagePumpLibevent::FileDescriptorWatcher *controller,
+ MessagePumpLibevent::Watcher *delegate) {
+ return pump_libevent()->WatchFileDescriptor(
+ fd,
+ persistent,
+ mode,
+ controller,
+ delegate);
+}
+#endif
+
//------------------------------------------------------------------------------
// MessageLoopForIO