Index: base/message_loop/message_loop_test.cc |
diff --git a/base/message_loop/message_loop_test.cc b/base/message_loop/message_loop_test.cc |
index 4e45acbbf02218792f9b5a4eca33e478b89327e8..1ab946f9e242a8eb0928cd89bd0dbbf33e758eea 100644 |
--- a/base/message_loop/message_loop_test.cc |
+++ b/base/message_loop/message_loop_test.cc |
@@ -12,6 +12,7 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/run_loop.h" |
+#include "base/single_thread_task_runner.h" |
#include "base/synchronization/waitable_event.h" |
#include "base/threading/thread.h" |
@@ -96,25 +97,25 @@ void RunTest_PostTask(MessagePumpFactory factory) { |
// Add tests to message loop |
scoped_refptr<Foo> foo(new Foo()); |
std::string a("a"), b("b"), c("c"), d("d"); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test0, foo.get())); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test1ConstRef, foo.get(), a)); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test1Ptr, foo.get(), &b)); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test1Int, foo.get(), 100)); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test2Ptr, foo.get(), &a, &c)); |
- MessageLoop::current()->PostTask(FROM_HERE, Bind( |
- &Foo::Test2Mixed, foo.get(), a, &d)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&Foo::Test0, foo.get())); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&Foo::Test1ConstRef, foo.get(), a)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&Foo::Test1Ptr, foo.get(), &b)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&Foo::Test1Int, foo.get(), 100)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&Foo::Test2Ptr, foo.get(), &a, &c)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&Foo::Test2Mixed, foo.get(), a, &d)); |
// After all tests, post a message that will shut down the message loop |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, |
Bind(&MessageLoop::QuitWhenIdle, Unretained(MessageLoop::current()))); |
// Now kick things off |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
EXPECT_EQ(foo->test_count(), 105); |
EXPECT_EQ(foo->result(), "abacad"); |
@@ -131,12 +132,11 @@ void RunTest_PostDelayedTask_Basic(MessagePumpFactory factory) { |
int num_tasks = 1; |
Time run_time; |
- loop.PostDelayedTask( |
- FROM_HERE, Bind(&RecordRunTimeFunc, &run_time, &num_tasks), |
- kDelay); |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time, &num_tasks), kDelay); |
Time time_before_run = Time::Now(); |
- loop.Run(); |
+ RunLoop().Run(); |
Time time_after_run = Time::Now(); |
EXPECT_EQ(0, num_tasks); |
@@ -151,18 +151,16 @@ void RunTest_PostDelayedTask_InDelayOrder(MessagePumpFactory factory) { |
int num_tasks = 2; |
Time run_time1, run_time2; |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), |
TimeDelta::FromMilliseconds(200)); |
// If we get a large pause in execution (due to a context switch) here, this |
// test could fail. |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), |
TimeDelta::FromMilliseconds(10)); |
- loop.Run(); |
+ RunLoop().Run(); |
EXPECT_EQ(0, num_tasks); |
EXPECT_TRUE(run_time2 < run_time1); |
@@ -185,14 +183,12 @@ void RunTest_PostDelayedTask_InPostOrder(MessagePumpFactory factory) { |
int num_tasks = 2; |
Time run_time1, run_time2; |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), kDelay); |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), kDelay); |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), kDelay); |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), kDelay); |
- loop.Run(); |
+ RunLoop().Run(); |
EXPECT_EQ(0, num_tasks); |
EXPECT_TRUE(run_time1 < run_time2); |
@@ -210,14 +206,13 @@ void RunTest_PostDelayedTask_InPostOrder_2(MessagePumpFactory factory) { |
int num_tasks = 2; |
Time run_time; |
- loop.PostTask(FROM_HERE, Bind(&SlowFunc, kPause, &num_tasks)); |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time, &num_tasks), |
+ loop.task_runner()->PostTask(FROM_HERE, Bind(&SlowFunc, kPause, &num_tasks)); |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time, &num_tasks), |
TimeDelta::FromMilliseconds(10)); |
Time time_before_run = Time::Now(); |
- loop.Run(); |
+ RunLoop().Run(); |
Time time_after_run = Time::Now(); |
EXPECT_EQ(0, num_tasks); |
@@ -240,14 +235,14 @@ void RunTest_PostDelayedTask_InPostOrder_3(MessagePumpFactory factory) { |
// Clutter the ML with tasks. |
for (int i = 1; i < num_tasks; ++i) |
- loop.PostTask(FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time1, &num_tasks)); |
+ loop.task_runner()->PostTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time1, &num_tasks)); |
- loop.PostDelayedTask( |
+ loop.task_runner()->PostDelayedTask( |
FROM_HERE, Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), |
TimeDelta::FromMilliseconds(1)); |
- loop.Run(); |
+ RunLoop().Run(); |
EXPECT_EQ(0, num_tasks); |
EXPECT_TRUE(run_time2 > run_time1); |
@@ -265,18 +260,16 @@ void RunTest_PostDelayedTask_SharedTimer(MessagePumpFactory factory) { |
int num_tasks = 1; |
Time run_time1, run_time2; |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time1, &num_tasks), |
TimeDelta::FromSeconds(1000)); |
- loop.PostDelayedTask( |
- FROM_HERE, |
- Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), |
+ loop.task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&RecordRunTimeFunc, &run_time2, &num_tasks), |
TimeDelta::FromMilliseconds(10)); |
Time start_time = Time::Now(); |
- loop.Run(); |
+ RunLoop().Run(); |
EXPECT_EQ(0, num_tasks); |
// Ensure that we ran in far less time than the slower timer. |
@@ -309,7 +302,7 @@ class RecordDeletionProbe : public RefCounted<RecordDeletionProbe> { |
~RecordDeletionProbe() { |
*was_deleted_ = true; |
if (post_on_delete_.get()) |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&RecordDeletionProbe::Run, post_on_delete_.get())); |
} |
@@ -323,13 +316,13 @@ void RunTest_EnsureDeletion(MessagePumpFactory factory) { |
{ |
std::unique_ptr<MessagePump> pump(factory()); |
MessageLoop loop(std::move(pump)); |
- loop.PostTask( |
+ loop.task_runner()->PostTask( |
FROM_HERE, Bind(&RecordDeletionProbe::Run, |
- new RecordDeletionProbe(NULL, &a_was_deleted))); |
+ new RecordDeletionProbe(NULL, &a_was_deleted))); |
// TODO(ajwong): Do we really need 1000ms here? |
- loop.PostDelayedTask( |
+ loop.task_runner()->PostDelayedTask( |
FROM_HERE, Bind(&RecordDeletionProbe::Run, |
- new RecordDeletionProbe(NULL, &b_was_deleted)), |
+ new RecordDeletionProbe(NULL, &b_was_deleted)), |
TimeDelta::FromMilliseconds(1000)); |
} |
EXPECT_TRUE(a_was_deleted); |
@@ -348,7 +341,7 @@ void RunTest_EnsureDeletion_Chain(MessagePumpFactory factory) { |
RecordDeletionProbe* a = new RecordDeletionProbe(NULL, &a_was_deleted); |
RecordDeletionProbe* b = new RecordDeletionProbe(a, &b_was_deleted); |
RecordDeletionProbe* c = new RecordDeletionProbe(b, &c_was_deleted); |
- loop.PostTask(FROM_HERE, Bind(&RecordDeletionProbe::Run, c)); |
+ loop.task_runner()->PostTask(FROM_HERE, Bind(&RecordDeletionProbe::Run, c)); |
} |
EXPECT_TRUE(a_was_deleted); |
EXPECT_TRUE(b_was_deleted); |
@@ -358,11 +351,11 @@ void RunTest_EnsureDeletion_Chain(MessagePumpFactory factory) { |
void NestingFunc(int* depth) { |
if (*depth > 0) { |
*depth -= 1; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&NestingFunc, depth)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&NestingFunc, depth)); |
MessageLoop::current()->SetNestableTasksAllowed(true); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
} |
MessageLoop::current()->QuitWhenIdle(); |
} |
@@ -372,9 +365,9 @@ void RunTest_Nesting(MessagePumpFactory factory) { |
MessageLoop loop(std::move(pump)); |
int depth = 100; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&NestingFunc, &depth)); |
- MessageLoop::current()->Run(); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&NestingFunc, &depth)); |
+ RunLoop().Run(); |
EXPECT_EQ(depth, 0); |
} |
@@ -410,9 +403,10 @@ void RunNestedLoop(TestNestingObserver* observer, |
RunLoop nested_loop; |
// Verify that by the time the first task is run the observer has seen the |
// message loop begin. |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&ExpectOneBeginNestedLoop, observer)); |
- MessageLoop::current()->PostTask(FROM_HERE, nested_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&ExpectOneBeginNestedLoop, observer)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ nested_loop.QuitClosure()); |
nested_loop.Run(); |
// Quitting message loops doesn't change the begin count. |
@@ -431,9 +425,10 @@ void RunTest_NestingObserver(MessagePumpFactory factory) { |
outer_loop.AddNestingObserver(&nesting_observer); |
// Post a task that runs a nested message loop. |
- outer_loop.PostTask(FROM_HERE, Bind(&RunNestedLoop, &nesting_observer, |
- outer_loop.QuitWhenIdleClosure())); |
- outer_loop.Run(); |
+ outer_loop.task_runner()->PostTask(FROM_HERE, |
+ Bind(&RunNestedLoop, &nesting_observer, |
+ outer_loop.QuitWhenIdleClosure())); |
+ RunLoop().Run(); |
outer_loop.RemoveNestingObserver(&nesting_observer); |
} |
@@ -523,7 +518,7 @@ void RecursiveFunc(TaskList* order, int cookie, int depth, |
if (depth > 0) { |
if (is_reentrant) |
MessageLoop::current()->SetNestableTasksAllowed(true); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, |
Bind(&RecursiveFunc, order, cookie, depth - 1, is_reentrant)); |
} |
@@ -541,17 +536,14 @@ void RunTest_RecursiveDenial1(MessagePumpFactory factory) { |
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed()); |
TaskList order; |
- MessageLoop::current()->PostTask( |
- FROM_HERE, |
- Bind(&RecursiveFunc, &order, 1, 2, false)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, |
- Bind(&RecursiveFunc, &order, 2, 2, false)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, |
- Bind(&QuitFunc, &order, 3)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&RecursiveFunc, &order, 1, 2, false)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&RecursiveFunc, &order, 2, 2, false)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&QuitFunc, &order, 3)); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
// FIFO order. |
ASSERT_EQ(14U, order.Size()); |
@@ -588,20 +580,16 @@ void RunTest_RecursiveDenial3(MessagePumpFactory factory) { |
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed()); |
TaskList order; |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&RecursiveSlowFunc, &order, 1, 2, false)); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&RecursiveSlowFunc, &order, 2, 2, false)); |
- MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- Bind(&OrderedFunc, &order, 3), |
- TimeDelta::FromMilliseconds(5)); |
- MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- Bind(&QuitFunc, &order, 4), |
- TimeDelta::FromMilliseconds(5)); |
+ MessageLoop::current()->task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&OrderedFunc, &order, 3), TimeDelta::FromMilliseconds(5)); |
+ MessageLoop::current()->task_runner()->PostDelayedTask( |
+ FROM_HERE, Bind(&QuitFunc, &order, 4), TimeDelta::FromMilliseconds(5)); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
// FIFO order. |
ASSERT_EQ(16U, order.Size()); |
@@ -628,14 +616,14 @@ void RunTest_RecursiveSupport1(MessagePumpFactory factory) { |
MessageLoop loop(std::move(pump)); |
TaskList order; |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&RecursiveFunc, &order, 1, 2, true)); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&RecursiveFunc, &order, 2, 2, true)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&QuitFunc, &order, 3)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&QuitFunc, &order, 3)); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
// FIFO order. |
ASSERT_EQ(14U, order.Size()); |
@@ -670,7 +658,7 @@ void RunTest_NonNestableWithNoNesting(MessagePumpFactory factory) { |
Bind(&OrderedFunc, &order, 2)); |
MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
Bind(&QuitFunc, &order, 3)); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
// FIFO order. |
ASSERT_EQ(6U, order.Size()); |
@@ -723,7 +711,7 @@ void RunTest_NonNestableInNestedLoop(MessagePumpFactory factory) { |
FROM_HERE, |
Bind(&QuitFunc, &order, 6)); |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
// FIFO order. |
ASSERT_EQ(12U, order.Size()); |
@@ -762,20 +750,20 @@ void RunTest_QuitNow(MessagePumpFactory factory) { |
RunLoop run_loop; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop))); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop))); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 2)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&FuncThatQuitsNow)); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 3)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&OrderedFunc, &order, 4)); // never runs |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&FuncThatQuitsNow)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&OrderedFunc, &order, 4)); // never runs |
- MessageLoop::current()->Run(); |
+ RunLoop().Run(); |
ASSERT_EQ(6U, order.Size()); |
int task_index = 0; |
@@ -798,13 +786,13 @@ void RunTest_RunLoopQuitTop(MessagePumpFactory factory) { |
RunLoop outer_run_loop; |
RunLoop nested_run_loop; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, outer_run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ outer_run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 2)); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, nested_run_loop.QuitClosure()); |
outer_run_loop.Run(); |
@@ -828,14 +816,14 @@ void RunTest_RunLoopQuitNested(MessagePumpFactory factory) { |
RunLoop outer_run_loop; |
RunLoop nested_run_loop; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, nested_run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 2)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, outer_run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ outer_run_loop.QuitClosure()); |
outer_run_loop.Run(); |
@@ -859,15 +847,15 @@ void RunTest_RunLoopQuitBogus(MessagePumpFactory factory) { |
RunLoop nested_run_loop; |
RunLoop bogus_run_loop; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, bogus_run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop))); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ bogus_run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 2)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, outer_run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ outer_run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, nested_run_loop.QuitClosure()); |
outer_run_loop.Run(); |
@@ -894,35 +882,35 @@ void RunTest_RunLoopQuitDeep(MessagePumpFactory factory) { |
RunLoop nested_loop3; |
RunLoop nested_loop4; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&nested_loop1))); |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 2, Unretained(&nested_loop2))); |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 3, Unretained(&nested_loop3))); |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 4, Unretained(&nested_loop4))); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_loop1))); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 2, Unretained(&nested_loop2))); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 3, Unretained(&nested_loop3))); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 4, Unretained(&nested_loop4))); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 5)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, outer_run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ outer_run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 6)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, nested_loop1.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ nested_loop1.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 7)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, nested_loop2.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ nested_loop2.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 8)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, nested_loop3.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ nested_loop3.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 9)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, nested_loop4.QuitClosure()); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ nested_loop4.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 10)); |
outer_run_loop.Run(); |
@@ -961,10 +949,10 @@ void RunTest_RunLoopQuitOrderBefore(MessagePumpFactory factory) { |
run_loop.Quit(); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&OrderedFunc, &order, 1)); // never runs |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&OrderedFunc, &order, 1)); // never runs |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs |
run_loop.Run(); |
@@ -980,14 +968,14 @@ void RunTest_RunLoopQuitOrderDuring(MessagePumpFactory factory) { |
RunLoop run_loop; |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 1)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, run_loop.QuitClosure()); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&OrderedFunc, &order, 2)); // never runs |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ run_loop.QuitClosure()); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&OrderedFunc, &order, 2)); // never runs |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs |
run_loop.Run(); |
@@ -1007,20 +995,20 @@ void RunTest_RunLoopQuitOrderAfter(MessagePumpFactory factory) { |
RunLoop run_loop; |
- MessageLoop::current()->PostTask(FROM_HERE, |
- Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop))); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop))); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 2)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&FuncThatQuitsNow)); |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 3)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, run_loop.QuitClosure()); // has no affect |
- MessageLoop::current()->PostTask( |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, run_loop.QuitClosure()); // has no affect |
+ MessageLoop::current()->task_runner()->PostTask( |
FROM_HERE, Bind(&OrderedFunc, &order, 4)); |
- MessageLoop::current()->PostTask( |
- FROM_HERE, Bind(&FuncThatQuitsNow)); |
+ MessageLoop::current()->task_runner()->PostTask(FROM_HERE, |
+ Bind(&FuncThatQuitsNow)); |
RunLoop outer_run_loop; |
outer_run_loop.Run(); |
@@ -1040,9 +1028,8 @@ void RunTest_RunLoopQuitOrderAfter(MessagePumpFactory factory) { |
void PostNTasksThenQuit(int posts_remaining) { |
if (posts_remaining > 1) { |
- MessageLoop::current()->PostTask( |
- FROM_HERE, |
- Bind(&PostNTasksThenQuit, posts_remaining - 1)); |
+ MessageLoop::current()->task_runner()->PostTask( |
+ FROM_HERE, Bind(&PostNTasksThenQuit, posts_remaining - 1)); |
} else { |
MessageLoop::current()->QuitWhenIdle(); |
} |
@@ -1060,8 +1047,8 @@ void RunTest_RecursivePosts(MessagePumpFactory factory) { |
const int kNumTimes = 1 << 17; |
std::unique_ptr<MessagePump> pump(factory()); |
MessageLoop loop(std::move(pump)); |
- loop.PostTask(FROM_HERE, Bind(&PostNTasksThenQuit, kNumTimes)); |
- loop.Run(); |
+ loop.task_runner()->PostTask(FROM_HERE, Bind(&PostNTasksThenQuit, kNumTimes)); |
+ RunLoop().Run(); |
} |
} // namespace test |