diff options
author | Scott Graham <scottmg@chromium.org> | 2017-05-26 11:02:10 +0900 |
---|---|---|
committer | Qijiang Fan <fqj@google.com> | 2020-06-05 06:14:08 +0900 |
commit | 87dd4391b908ed95c8905997cdf0b91703891a86 (patch) | |
tree | f1d335cbb90accdfb2c02239547eebecd8d3d915 /base/message_loop/message_loop.cc | |
parent | 0b827fbc7461f0df2a682cb35fb71296fc493c11 (diff) | |
download | libchrome-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.cc | 19 |
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, |