| Index: base/message_loop/message_loop.h
|
| diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
|
| index ee93c62de06a5abcde9b3190ec6d468c3bcc9524..fa25e78f6d38d0b282e7b8b36f2da29369bb7bd4 100644
|
| --- a/base/message_loop/message_loop.h
|
| +++ b/base/message_loop/message_loop.h
|
| @@ -21,6 +21,7 @@
|
| #include "base/message_loop/timer_slack.h"
|
| #include "base/observer_list.h"
|
| #include "base/pending_task.h"
|
| +#include "base/run_loop.h"
|
| #include "base/synchronization/lock.h"
|
| #include "base/time/time.h"
|
| #include "build/build_config.h"
|
| @@ -46,7 +47,6 @@ class JavaMessageHandlerFactory;
|
|
|
| namespace base {
|
|
|
| -class RunLoop;
|
| class ThreadTaskRunnerHandle;
|
| class WaitableEvent;
|
|
|
| @@ -81,7 +81,8 @@ class WaitableEvent;
|
| // Please be SURE your task is reentrant (nestable) and all global variables
|
| // are stable and accessible before calling SetNestableTasksAllowed(true).
|
| //
|
| -class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| +class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
|
| + public RunLoop::Delegate {
|
| public:
|
| // A MessageLoop has a particular type, which indicates the set of
|
| // asynchronous events it may process in addition to tasks and timers.
|
| @@ -325,7 +326,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
|
|
| private:
|
| friend class internal::IncomingTaskQueue;
|
| - friend class RunLoop;
|
| friend class ScheduleWorkTest;
|
| friend class Thread;
|
| friend struct PendingTask;
|
| @@ -351,8 +351,9 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| // task runner for this message loop.
|
| void SetThreadTaskRunnerHandle();
|
|
|
| - // Invokes the actual run loop using the message pump.
|
| - void RunHandler();
|
| + // RunLoop::Delegate:
|
| + void Run() override;
|
| + void Quit() override;
|
|
|
| // Called to process any delayed non-nestable tasks.
|
| bool ProcessNextDelayedNonNestableTask();
|
| @@ -419,8 +420,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| // if type_ is TYPE_CUSTOM and pump_ is null.
|
| MessagePumpFactoryCallback pump_factory_;
|
|
|
| - RunLoop* run_loop_;
|
| -
|
| ObserverList<TaskObserver> task_observers_;
|
|
|
| debug::TaskAnnotator task_annotator_;
|
| @@ -445,12 +444,12 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| // MessageLoop is bound to its thread and constant forever after.
|
| PlatformThreadId thread_id_;
|
|
|
| - // Whether this MessageLoop is currently running in nested RunLoops.
|
| - bool is_nested_ = false;
|
| -
|
| // Whether task observers are allowed.
|
| bool allow_task_observers_ = true;
|
|
|
| + // An interface back to RunLoop state accessible by this RunLoop::Delegate.
|
| + RunLoop::Delegate::Client* run_loop_client_ = nullptr;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MessageLoop);
|
| };
|
|
|
|
|