summaryrefslogtreecommitdiff
path: root/base/message_loop/message_loop.cc
diff options
context:
space:
mode:
authorScott Graham <scottmg@chromium.org>2017-05-26 11:02:10 +0900
committerQijiang Fan <fqj@google.com>2020-06-05 06:14:08 +0900
commit87dd4391b908ed95c8905997cdf0b91703891a86 (patch)
treef1d335cbb90accdfb2c02239547eebecd8d3d915 /base/message_loop/message_loop.cc
parent0b827fbc7461f0df2a682cb35fb71296fc493c11 (diff)
downloadlibchrome-87dd4391b908ed95c8905997cdf0b91703891a86.tar.gz
fuchsia: boilerplate for MessageLoop and FilePathWatcher
Add boilerplate based on libevent and/or posix versions of these. This is just a mechanical change so that subsequent CLs will be more able to focus on the meat of the implementations of these classes without getting excessively large. Bug: 706592 Change-Id: Ia9e1356a863576acdf5ba7892f3fe853386e928c Reviewed-on: https://chromium-review.googlesource.com/516486 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#474938} CrOS-Libchrome-Original-Commit: f5902f84f5d8b0291871b3ed8b51802f6490efc6
Diffstat (limited to 'base/message_loop/message_loop.cc')
-rw-r--r--base/message_loop/message_loop.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index d72602babf..401a0acef6 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -22,9 +22,12 @@
#if defined(OS_MACOSX)
#include "base/message_loop/message_pump_mac.h"
#endif
-#if defined(OS_POSIX) && !defined(OS_IOS)
+#if defined(OS_POSIX) && !defined(OS_IOS) && !defined(OS_FUCHSIA)
#include "base/message_loop/message_pump_libevent.h"
#endif
+#if defined(OS_FUCHSIA)
+#include "base/message_loop/message_pump_fuchsia.h"
+#endif
#if defined(OS_ANDROID)
#include "base/message_loop/message_pump_android.h"
#endif
@@ -46,13 +49,15 @@ MessageLoop::MessagePumpFactory* message_pump_for_ui_factory_ = NULL;
#if defined(OS_IOS)
typedef MessagePumpIOSForIO MessagePumpForIO;
-#elif defined(OS_NACL_SFI) || defined(OS_FUCHSIA)
+#elif defined(OS_NACL_SFI)
typedef MessagePumpDefault MessagePumpForIO;
+#elif defined(OS_FUCHSIA)
+typedef MessagePumpFuchsia MessagePumpForIO;
#elif defined(OS_POSIX)
typedef MessagePumpLibevent MessagePumpForIO;
#endif
-#if !defined(OS_NACL_SFI) && !defined(OS_FUCHSIA)
+#if !defined(OS_NACL_SFI)
MessagePumpForIO* ToPumpIO(MessagePump* pump) {
return static_cast<MessagePumpForIO*>(pump);
}
@@ -166,15 +171,15 @@ std::unique_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) {
typedef MessagePumpGlib MessagePumpForUI;
#elif (defined(OS_LINUX) && !defined(OS_NACL)) || defined(OS_BSD)
typedef MessagePumpLibevent MessagePumpForUI;
+#elif defined(OS_FUCHSIA)
+ typedef MessagePumpFuchsia MessagePumpForUI;
#endif
#if defined(OS_IOS) || defined(OS_MACOSX)
#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>(MessagePumpMac::Create())
-#elif defined(OS_NACL) || defined(OS_AIX) || defined(OS_FUCHSIA)
+#elif defined(OS_NACL) || defined(OS_AIX)
// Currently NaCl and AIX don't have a UI MessageLoop.
// TODO(abarth): Figure out if we need this.
-// TODO(fuchsia): Fuchsia may require one once more UI-level things have been
-// ported. See https://crbug.com/706592.
#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>()
#else
#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>(new MessagePumpForUI())
@@ -636,7 +641,7 @@ bool MessageLoopForIO::RegisterJobObject(HANDLE job, IOHandler* handler) {
bool MessageLoopForIO::WaitForIOCompletion(DWORD timeout, IOHandler* filter) {
return ToPumpIO(pump_.get())->WaitForIOCompletion(timeout, filter);
}
-#elif defined(OS_POSIX) && !defined(OS_FUCHSIA)
+#elif defined(OS_POSIX)
bool MessageLoopForIO::WatchFileDescriptor(int fd,
bool persistent,
Mode mode,