diff --git a/fml/message_loop_unittests.cc b/fml/message_loop_unittests.cc index a2e49f8fb1c82..af89052f7d108 100644 --- a/fml/message_loop_unittests.cc +++ b/fml/message_loop_unittests.cc @@ -10,7 +10,6 @@ #include "flutter/fml/build_config.h" #include "flutter/fml/concurrent_message_loop.h" #include "flutter/fml/message_loop.h" -#include "flutter/fml/message_loop_impl.h" #include "flutter/fml/synchronization/count_down_latch.h" #include "flutter/fml/synchronization/waitable_event.h" #include "flutter/fml/task_runner.h" @@ -316,32 +315,3 @@ TEST(MessageLoop, CanCreateConcurrentMessageLoop) { latch.Wait(); ASSERT_GE(thread_ids.size(), 1u); } - -TEST(MessageLoop, TIME_SENSITIVE(WakeUpTimersAreSingletons)) { - auto loop_impl = fml::MessageLoopImpl::Create(); - - const auto t1 = fml::TimeDelta::FromMilliseconds(10); - const auto t2 = fml::TimeDelta::FromMilliseconds(20); - - const auto begin = fml::TimePoint::Now(); - - // Register a task scheduled for 10ms in the future. This schedules a - // WakeUp call on the MessageLoopImpl with that fml::TimePoint - loop_impl->PostTask( - [&]() { - auto delta = fml::TimePoint::Now() - begin; - auto ms = delta.ToMillisecondsF(); - ASSERT_GE(ms, 10); - ASSERT_LE(ms, 25); - - loop_impl->Terminate(); - }, - fml::TimePoint::Now() + t1); - - // Call WakeUp manually to change the WakeUp time to the future. If the - // timer is correctly set up to be rearmed instead of a new timer scheduled, - // the above task will be executed at t2 instead of t1 now. - loop_impl->WakeUp(fml::TimePoint::Now() + t2); - - loop_impl->Run(); -} diff --git a/fml/platform/fuchsia/message_loop_fuchsia.cc b/fml/platform/fuchsia/message_loop_fuchsia.cc index 44ceecdf6e42b..4e44c913cac46 100644 --- a/fml/platform/fuchsia/message_loop_fuchsia.cc +++ b/fml/platform/fuchsia/message_loop_fuchsia.cc @@ -5,16 +5,13 @@ #include "flutter/fml/platform/fuchsia/message_loop_fuchsia.h" #include +#include #include namespace fml { MessageLoopFuchsia::MessageLoopFuchsia() - : loop_(&kAsyncLoopConfigAttachToCurrentThread) { - auto handler = [this](async_dispatcher_t* dispatcher, async::Task* task, - zx_status_t status) { RunExpiredTasksNow(); }; - task_.set_handler(handler); -} + : loop_(&kAsyncLoopConfigAttachToCurrentThread) {} MessageLoopFuchsia::~MessageLoopFuchsia() = default; @@ -33,12 +30,8 @@ void MessageLoopFuchsia::WakeUp(fml::TimePoint time_point) { due_time = zx::nsec((time_point - now).ToNanoseconds()); } - std::scoped_lock lock(task_mutex_); - - auto status = task_.Cancel(); - FML_DCHECK(status == ZX_OK || status == ZX_ERR_NOT_FOUND); - - status = task_.PostDelayed(loop_.dispatcher(), due_time); + auto status = async::PostDelayedTask( + loop_.dispatcher(), [this]() { RunExpiredTasksNow(); }, due_time); FML_DCHECK(status == ZX_OK); } diff --git a/fml/platform/fuchsia/message_loop_fuchsia.h b/fml/platform/fuchsia/message_loop_fuchsia.h index b494d89761ef6..f54c587c4a2b3 100644 --- a/fml/platform/fuchsia/message_loop_fuchsia.h +++ b/fml/platform/fuchsia/message_loop_fuchsia.h @@ -6,7 +6,6 @@ #define FLUTTER_FML_PLATFORM_FUCHSIA_MESSAGE_LOOP_FUCHSIA_H_ #include -#include #include "flutter/fml/macros.h" #include "flutter/fml/message_loop_impl.h" @@ -26,8 +25,6 @@ class MessageLoopFuchsia : public MessageLoopImpl { void WakeUp(fml::TimePoint time_point) override; async::Loop loop_; - std::mutex task_mutex_; - async::Task task_; FML_FRIEND_MAKE_REF_COUNTED(MessageLoopFuchsia); FML_FRIEND_REF_COUNTED_THREAD_SAFE(MessageLoopFuchsia);