0

Replace MessageLoop::current()->task_runner() with ThreadTaskRunnerHandle::Get().

This CL makes the following replacements:

MessageLoop::current()->task_runner()
becomes
ThreadTaskRunnerHandle::Get()

MessageLoopForUIorIO::current()->task_runner()
becomes
DCHECK(MessageLoopForUIorIO::IsCurrent()); (or ASSERT_TRUE)
ThreadTaskRunnerHandle::Get()

TBR=gavinp@chromium.org
BUG=650723

Review-Url: https://codereview.chromium.org/2375663002
Cr-Commit-Position: refs/heads/master@{#422211}
This commit is contained in:
fdoray
2016-09-30 13:42:16 -07:00
committed by Commit bot
parent 5556b4bf5c
commit 19e49e924e
39 changed files with 238 additions and 219 deletions

@@ -2624,12 +2624,12 @@ class ScopedMockTaskRunnerWrapper {
public:
ScopedMockTaskRunnerWrapper() {
mock_task_runner_ = new base::TestMockTimeTaskRunner;
previous_task_runner_ = base::MessageLoop::current()->task_runner();
previous_task_runner_ = base::ThreadTaskRunnerHandle::Get();
base::MessageLoop::current()->SetTaskRunner(mock_task_runner_);
}
~ScopedMockTaskRunnerWrapper() {
DCHECK_EQ(mock_task_runner_, base::MessageLoop::current()->task_runner());
DCHECK_EQ(mock_task_runner_, base::ThreadTaskRunnerHandle::Get());
mock_task_runner_->ClearPendingTasks();
base::MessageLoop::current()->SetTaskRunner(previous_task_runner_);
}

@@ -33,10 +33,8 @@ namespace base {
template <class T>
class RefCountedDeleteOnMessageLoop : public subtle::RefCountedThreadSafeBase {
public:
// This constructor will accept a MessageL00pProxy object, but new code should
// prefer a SingleThreadTaskRunner. A SingleThreadTaskRunner for the
// MessageLoop on the current thread can be acquired by calling
// MessageLoop::current()->task_runner().
// A SingleThreadTaskRunner for the current thread can be acquired by calling
// ThreadTaskRunnerHandle::Get().
RefCountedDeleteOnMessageLoop(
scoped_refptr<SingleThreadTaskRunner> task_runner)
: task_runner_(std::move(task_runner)) {

@@ -15,6 +15,7 @@
#include "base/single_thread_task_runner.h"
#include "base/synchronization/waitable_event.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
namespace base {
namespace test {
@@ -97,20 +98,19 @@ 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()->task_runner()->PostTask(FROM_HERE,
Bind(&Foo::Test0, foo));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&Foo::Test1ConstRef, foo, a));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&Foo::Test1Ptr, foo, &b));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&Foo::Test1Int, foo, 100));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&Foo::Test2Ptr, foo, &a, &c));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&Foo::Test2Mixed, foo, a, &d));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&Foo::Test0, foo));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&Foo::Test1ConstRef, foo, a));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&Foo::Test1Ptr, foo, &b));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&Foo::Test1Int, foo, 100));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&Foo::Test2Ptr, foo, &a, &c));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&Foo::Test2Mixed, foo, a, &d));
// After all tests, post a message that will shut down the message loop
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
Bind(&MessageLoop::QuitWhenIdle, Unretained(MessageLoop::current())));
@@ -302,7 +302,7 @@ class RecordDeletionProbe : public RefCounted<RecordDeletionProbe> {
~RecordDeletionProbe() {
*was_deleted_ = true;
if (post_on_delete_.get())
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecordDeletionProbe::Run, post_on_delete_));
}
@@ -351,8 +351,8 @@ void RunTest_EnsureDeletion_Chain(MessagePumpFactory factory) {
void NestingFunc(int* depth) {
if (*depth > 0) {
*depth -= 1;
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&NestingFunc, depth));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&NestingFunc, depth));
MessageLoop::current()->SetNestableTasksAllowed(true);
RunLoop().Run();
@@ -365,8 +365,8 @@ void RunTest_Nesting(MessagePumpFactory factory) {
MessageLoop loop(std::move(pump));
int depth = 100;
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&NestingFunc, &depth));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&NestingFunc, &depth));
RunLoop().Run();
EXPECT_EQ(depth, 0);
}
@@ -403,10 +403,9 @@ 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()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&ExpectOneBeginNestedLoop, observer));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
nested_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, nested_loop.QuitClosure());
nested_loop.Run();
// Quitting message loops doesn't change the begin count.
@@ -518,7 +517,7 @@ void RecursiveFunc(TaskList* order, int cookie, int depth,
if (depth > 0) {
if (is_reentrant)
MessageLoop::current()->SetNestableTasksAllowed(true);
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
Bind(&RecursiveFunc, order, cookie, depth - 1, is_reentrant));
}
@@ -536,12 +535,12 @@ void RunTest_RecursiveDenial1(MessagePumpFactory factory) {
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed());
TaskList order;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveFunc, &order, 1, 2, false));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveFunc, &order, 2, 2, false));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
RunLoop().Run();
@@ -580,13 +579,13 @@ void RunTest_RecursiveDenial3(MessagePumpFactory factory) {
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed());
TaskList order;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveSlowFunc, &order, 1, 2, false));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveSlowFunc, &order, 2, 2, false));
MessageLoop::current()->task_runner()->PostDelayedTask(
ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, Bind(&OrderedFunc, &order, 3), TimeDelta::FromMilliseconds(5));
MessageLoop::current()->task_runner()->PostDelayedTask(
ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, Bind(&QuitFunc, &order, 4), TimeDelta::FromMilliseconds(5));
RunLoop().Run();
@@ -616,12 +615,12 @@ void RunTest_RecursiveSupport1(MessagePumpFactory factory) {
MessageLoop loop(std::move(pump));
TaskList order;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveFunc, &order, 1, 2, true));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&RecursiveFunc, &order, 2, 2, true));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
RunLoop().Run();
@@ -650,14 +649,12 @@ void RunTest_NonNestableWithNoNesting(MessagePumpFactory factory) {
TaskList order;
MessageLoop::current()->task_runner()->PostNonNestableTask(
FROM_HERE,
Bind(&OrderedFunc, &order, 1));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE,
Bind(&OrderedFunc, &order, 2));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostNonNestableTask(
FROM_HERE, Bind(&OrderedFunc, &order, 1));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&QuitFunc, &order, 3));
RunLoop().Run();
// FIFO order.
@@ -692,24 +689,18 @@ void RunTest_NonNestableInNestedLoop(MessagePumpFactory factory) {
TaskList order;
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE,
Bind(&FuncThatPumps, &order, 1));
MessageLoop::current()->task_runner()->PostNonNestableTask(
FROM_HERE,
Bind(&OrderedFunc, &order, 2));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE,
Bind(&OrderedFunc, &order, 3));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE,
Bind(&SleepFunc, &order, 4, TimeDelta::FromMilliseconds(50)));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE,
Bind(&OrderedFunc, &order, 5));
MessageLoop::current()->task_runner()->PostNonNestableTask(
FROM_HERE,
Bind(&QuitFunc, &order, 6));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&FuncThatPumps, &order, 1));
ThreadTaskRunnerHandle::Get()->PostNonNestableTask(
FROM_HERE, Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&SleepFunc, &order, 4, TimeDelta::FromMilliseconds(50)));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 5));
ThreadTaskRunnerHandle::Get()->PostNonNestableTask(
FROM_HERE, Bind(&QuitFunc, &order, 6));
RunLoop().Run();
@@ -750,17 +741,15 @@ void RunTest_QuitNow(MessagePumpFactory factory) {
RunLoop run_loop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop)));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 2));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&FuncThatQuitsNow));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 3));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&FuncThatQuitsNow));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&FuncThatQuitsNow));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&FuncThatQuitsNow));
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 4)); // never runs
RunLoop().Run();
@@ -786,14 +775,14 @@ void RunTest_RunLoopQuitTop(MessagePumpFactory factory) {
RunLoop outer_run_loop;
RunLoop nested_run_loop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->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()->task_runner()->PostTask(
FROM_HERE, nested_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_run_loop.QuitClosure());
outer_run_loop.Run();
@@ -816,14 +805,14 @@ void RunTest_RunLoopQuitNested(MessagePumpFactory factory) {
RunLoop outer_run_loop;
RunLoop nested_run_loop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_run_loop)));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, nested_run_loop.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 2));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
outer_run_loop.Run();
@@ -847,16 +836,16 @@ void RunTest_RunLoopQuitBogus(MessagePumpFactory factory) {
RunLoop nested_run_loop;
RunLoop bogus_run_loop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->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()->task_runner()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, nested_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
bogus_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_run_loop.QuitClosure());
outer_run_loop.Run();
@@ -882,36 +871,36 @@ void RunTest_RunLoopQuitDeep(MessagePumpFactory factory) {
RunLoop nested_loop3;
RunLoop nested_loop4;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&nested_loop1)));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 2, Unretained(&nested_loop2)));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 3, Unretained(&nested_loop3)));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 4, Unretained(&nested_loop4)));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 5));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 6));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
nested_loop1.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 7));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
nested_loop2.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 8));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
nested_loop3.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 9));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
nested_loop4.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 10));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 5));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
outer_run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 6));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_loop1.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 7));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_loop2.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 8));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_loop3.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 9));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
nested_loop4.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 10));
outer_run_loop.Run();
@@ -949,9 +938,9 @@ void RunTest_RunLoopQuitOrderBefore(MessagePumpFactory factory) {
run_loop.Quit();
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 1)); // never runs
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs
run_loop.Run();
@@ -968,13 +957,12 @@ void RunTest_RunLoopQuitOrderDuring(MessagePumpFactory factory) {
RunLoop run_loop;
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 1));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
run_loop.QuitClosure());
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 1));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, run_loop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 2)); // never runs
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatQuitsNow)); // never runs
run_loop.Run();
@@ -995,20 +983,18 @@ void RunTest_RunLoopQuitOrderAfter(MessagePumpFactory factory) {
RunLoop run_loop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&FuncThatRuns, &order, 1, Unretained(&run_loop)));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 2));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&FuncThatQuitsNow));
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 3));
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 2));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&FuncThatQuitsNow));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 3));
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, run_loop.QuitClosure()); // has no affect
MessageLoop::current()->task_runner()->PostTask(
FROM_HERE, Bind(&OrderedFunc, &order, 4));
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&FuncThatQuitsNow));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
Bind(&OrderedFunc, &order, 4));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&FuncThatQuitsNow));
RunLoop outer_run_loop;
outer_run_loop.Run();
@@ -1028,7 +1014,7 @@ void RunTest_RunLoopQuitOrderAfter(MessagePumpFactory factory) {
void PostNTasksThenQuit(int posts_remaining) {
if (posts_remaining > 1) {
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&PostNTasksThenQuit, posts_remaining - 1));
} else {
MessageLoop::current()->QuitWhenIdle();

@@ -456,7 +456,7 @@ void RunTest_RecursiveSupport2(MessageLoop::Type message_loop_type) {
void PostNTasksThenQuit(int posts_remaining) {
if (posts_remaining > 1) {
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&PostNTasksThenQuit, posts_remaining - 1));
} else {
MessageLoop::current()->QuitWhenIdle();
@@ -872,7 +872,7 @@ TEST(MessageLoopTest, ThreadMainTaskRunner) {
&Foo::Test1ConstRef, foo, a));
// Post quit task;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
Bind(&MessageLoop::QuitWhenIdle, Unretained(MessageLoop::current())));

@@ -21,6 +21,7 @@
#include "base/test/gtest_util.h"
#include "base/third_party/libevent/event.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -174,8 +175,7 @@ void QuitMessageLoopAndStart(const Closure& quit_closure) {
MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current());
RunLoop runloop;
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
runloop.QuitClosure());
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, runloop.QuitClosure());
runloop.Run();
}
@@ -186,7 +186,7 @@ class NestedPumpWatcher : public MessagePumpLibevent::Watcher {
void OnFileCanReadWithoutBlocking(int /* fd */) override {
RunLoop runloop;
MessageLoop::current()->task_runner()->PostTask(
ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, Bind(&QuitMessageLoopAndStart, runloop.QuitClosure()));
runloop.Run();
}
@@ -218,8 +218,7 @@ class QuitWatcher : public BaseWatcher {
void OnFileCanReadWithoutBlocking(int /* fd */) override {
// Post a fatal closure to the MessageLoop before we quit it.
MessageLoop::current()->task_runner()->PostTask(FROM_HERE,
Bind(&FatalClosure));
ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, Bind(&FatalClosure));
// Now quit the MessageLoop.
run_loop_->Quit();

@@ -4,9 +4,11 @@
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_reauth.h"
#include "chrome/browser/chromeos/login/lock/screen_locker.h"
@@ -94,9 +96,10 @@ class ReauthHandler : public content::NotificationObserver,
// chromeos::AuthStatusConsumer:
void OnAuthSuccess(const chromeos::UserContext& user_context) override {
DCHECK(base::MessageLoopForUI::IsCurrent());
callback_.Run(user_context);
// Schedule deletion.
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&EndReauthAttempt));
}

@@ -6,6 +6,7 @@
#include "base/location.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/input_method/input_method_persistence.h"
#include "chrome/browser/chromeos/language_preferences.h"
@@ -54,11 +55,13 @@ class FocusPODWaiter {
}
void OnFocusPOD() {
ASSERT_TRUE(base::MessageLoopForUI::IsCurrent());
focused_ = true;
if (runner_.get())
base::MessageLoopForUI::current()->task_runner()->PostTask(
if (runner_.get()) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&FocusPODWaiter::ExitMessageLoop, base::Unretained(this)));
}
}
void ExitMessageLoop() { runner_->Quit(); }

@@ -8,8 +8,10 @@
#include "ash/common/wm_shell.h"
#include "ash/content/shell_content_state.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/chromeos/extensions/media_player_api.h"
#include "chrome/browser/chromeos/extensions/media_player_event_router.h"
#include "chrome/browser/media/webrtc/media_stream_capture_indicator.h"
@@ -156,7 +158,8 @@ void MediaDelegateChromeOS::OnRequestUpdate(
int render_frame_id,
content::MediaStreamType stream_type,
const content::MediaRequestState state) {
base::MessageLoopForUI::current()->task_runner()->PostTask(
DCHECK(base::MessageLoopForUI::IsCurrent());
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MediaDelegateChromeOS::NotifyMediaCaptureChange,
weak_ptr_factory_.GetWeakPtr()));
}

@@ -7,10 +7,12 @@
#include <memory>
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
@@ -272,6 +274,8 @@ views::ViewsDelegate::ProcessMenuAcceleratorResult
ChromeViewsDelegate::ProcessAcceleratorWhileMenuShowing(
const ui::Accelerator& accelerator) {
#if defined(USE_ASH)
DCHECK(base::MessageLoopForUI::IsCurrent());
// Early return because mash chrome does not have access to ash::Shell
if (chrome::IsRunningInMash())
return views::ViewsDelegate::ProcessMenuAcceleratorResult::LEAVE_MENU_OPEN;
@@ -283,7 +287,7 @@ ChromeViewsDelegate::ProcessAcceleratorWhileMenuShowing(
accelerator);
if (accelerator_controller->ShouldCloseMenuAndRepostAccelerator(
accelerator)) {
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(ProcessAcceleratorNow, accelerator));
return views::ViewsDelegate::ProcessMenuAcceleratorResult::CLOSE_MENU;
}

@@ -233,7 +233,8 @@ class MenuModelAdapterTest : public ViewEventTestBase,
menu_model_adapter_.BuildMenu(menu_);
base::MessageLoopForUI::current()->task_runner()->PostTask(
ASSERT_TRUE(base::MessageLoopForUI::IsCurrent());
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, CreateEventTask(this, &MenuModelAdapterTest::Step3));
}

@@ -9,7 +9,6 @@
#include "base/command_line.h"
#include "base/json/json_writer.h"
#include "base/message_loop/message_loop.h"
#include "base/sequenced_task_runner.h"
#include "base/sys_info.h"
#include "base/task_runner_util.h"
@@ -148,7 +147,7 @@ void ArcBridgeServiceImpl::OnStopped(StopReason stop_reason) {
// Instead of immediately trying to restart the container, give it some
// time to finish tearing down in case it is still in the process of
// stopping.
base::MessageLoop::current()->task_runner()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&ArcBridgeServiceImpl::PrerequisitesChanged,
weak_factory_.GetWeakPtr()),
base::TimeDelta::FromSeconds(kReconnectDelayInSeconds));

@@ -9,9 +9,9 @@
#include "base/files/file_util.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/string_piece.h"
#include "base/strings/string_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/win/message_window.h"
namespace browser_watcher {
@@ -75,7 +75,7 @@ WindowHangMonitor::~WindowHangMonitor() {
void WindowHangMonitor::Initialize(base::Process process) {
window_process_ = std::move(process);
timer_.SetTaskRunner(base::MessageLoop::current()->task_runner());
timer_.SetTaskRunner(base::ThreadTaskRunnerHandle::Get());
ScheduleFindWindow();
}

@@ -79,7 +79,7 @@ void ConditionalCacheDeletionHelper::IterateOverEntries(int error) {
// The iteration finished successfuly or we can no longer iterate
// (e.g. the cache was destroyed). We cannot distinguish between the two,
// but we know that there is nothing more that we can do, so we return OK.
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(completion_callback_, net::OK));
base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
return;

@@ -13,6 +13,7 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/task/cancelable_task_tracker.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/favicon/core/favicon_client.h"
#include "components/favicon/core/favicon_service.h"
#include "components/favicon_base/fallback_icon_style.h"
@@ -71,9 +72,8 @@ class MockFaviconService : public FaviconService {
favicon_base::FaviconRawBitmapResult mock_result =
mock_result_queue_.front();
mock_result_queue_.pop_front();
return tracker->PostTask(
base::MessageLoop::current()->task_runner().get(), FROM_HERE,
base::Bind(callback, mock_result));
return tracker->PostTask(base::ThreadTaskRunnerHandle::Get().get(),
FROM_HERE, base::Bind(callback, mock_result));
}
void InjectResult(const favicon_base::FaviconRawBitmapResult& mock_result) {
@@ -96,7 +96,7 @@ class TestLargeIconService : public LargeIconService {
public:
explicit TestLargeIconService(MockFaviconService* mock_favicon_service)
: LargeIconService(mock_favicon_service,
base::MessageLoop::current()->task_runner()) {}
base::ThreadTaskRunnerHandle::Get()) {}
~TestLargeIconService() override {
}

@@ -4,7 +4,7 @@
#include "components/leveldb/leveldb_app.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/leveldb/leveldb_service_impl.h"
#include "services/shell/public/cpp/interface_registry.h"
@@ -27,8 +27,7 @@ bool LevelDBApp::OnConnect(const shell::Identity& remote_identity,
void LevelDBApp::Create(const shell::Identity& remote_identity,
leveldb::mojom::LevelDBServiceRequest request) {
if (!service_)
service_.reset(
new LevelDBServiceImpl(base::MessageLoop::current()->task_runner()));
service_.reset(new LevelDBServiceImpl(base::ThreadTaskRunnerHandle::Get()));
bindings_.AddBinding(service_.get(), std::move(request));
}

@@ -15,6 +15,7 @@
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/simple_test_clock.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "components/previews/core/previews_black_list_item.h"
#include "components/previews/core/previews_experiments.h"
@@ -53,7 +54,7 @@ class TestPreviewsOptOutStore : public PreviewsOptOutStore {
void LoadBlackList(LoadBlackListCallback callback) override {
std::unique_ptr<BlackListItemMap> black_list_item_map(
new BlackListItemMap());
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&RunLoadCallback, callback,
base::Passed(&black_list_item_map)));
}

@@ -8,7 +8,7 @@
#include "base/debug/leak_annotations.h"
#include "base/files/file_util.h"
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/safe_browsing_db/v4_database.h"
#include "content/public/browser/browser_thread.h"
@@ -28,8 +28,8 @@ void V4Database::Create(
DCHECK(base_path.IsAbsolute());
DCHECK(!list_infos.empty());
const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner =
base::MessageLoop::current()->task_runner();
const scoped_refptr<base::SingleThreadTaskRunner> callback_task_runner =
base::ThreadTaskRunnerHandle::Get();
db_task_runner->PostTask(
FROM_HERE,
base::Bind(&V4Database::CreateOnTaskRunner, db_task_runner, base_path,
@@ -107,8 +107,8 @@ void V4Database::ApplyUpdate(
// Post the V4Store update task on the task runner but get the callback on the
// current thread.
const scoped_refptr<base::SingleThreadTaskRunner>& current_task_runner =
base::MessageLoop::current()->task_runner();
const scoped_refptr<base::SingleThreadTaskRunner> current_task_runner =
base::ThreadTaskRunnerHandle::Get();
for (std::unique_ptr<ListUpdateResponse>& response :
*parsed_server_response) {
ListIdentifier identifier(*response);

@@ -6,8 +6,8 @@
#include "base/bind.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h"
namespace test_runner {
@@ -116,13 +116,13 @@ bool MockScreenOrientationClient::IsOrientationAllowedByCurrentLock(
void MockScreenOrientationClient::lockOrientation(
blink::WebScreenOrientationLockType orientation,
blink::WebLockOrientationCallback* callback) {
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MockScreenOrientationClient::UpdateLockSync,
base::Unretained(this), orientation, callback));
}
void MockScreenOrientationClient::unlockOrientation() {
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MockScreenOrientationClient::ResetLockSync,
base::Unretained(this)));
}

@@ -11,6 +11,7 @@
#include "base/macros.h"
#include "base/path_service.h"
#include "base/run_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/values.h"
#include "components/update_client/component_patcher.h"
#include "components/update_client/component_patcher_operation.h"
@@ -69,7 +70,7 @@ ComponentPatcherOperationTest::ComponentPatcherOperationTest() {
EXPECT_TRUE(input_dir_.CreateUniqueTempDir());
EXPECT_TRUE(installed_dir_.CreateUniqueTempDir());
installer_ = new ReadOnlyTestInstaller(installed_dir_.GetPath());
task_runner_ = base::MessageLoop::current()->task_runner();
task_runner_ = base::ThreadTaskRunnerHandle::Get();
}
ComponentPatcherOperationTest::~ComponentPatcherOperationTest() {

@@ -10,6 +10,7 @@
#include "base/mac/scoped_nsautorelease_pool.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/browser/compositor/test/no_transport_image_transport_factory.h"
#include "content/browser/gpu/compositor_util.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
@@ -135,8 +136,7 @@ TEST_F(RenderWidgetHostViewMacEditCommandHelperTest,
base::mac::ScopedNSAutoreleasePool pool;
base::MessageLoop message_loop;
ui::WindowResizeHelperMac::Get()->Init(
base::MessageLoop::current()->task_runner());
ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get());
// Owned by its |cocoa_view()|, i.e. |rwhv_cocoa|.
RenderWidgetHostViewMac* rwhv_mac = new RenderWidgetHostViewMac(

@@ -13,7 +13,6 @@
#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -308,7 +307,7 @@ class ServiceWorkerURLRequestJobTest
// Simulate another worker kicking out the incumbent worker. PostTask since
// it might respond synchronously, and the MockURLRequestDelegate would
// complain that the message loop isn't being run.
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&ServiceWorkerVersion::SetStatus, version_,
ServiceWorkerVersion::REDUNDANT));
base::RunLoop().RunUntilIdle();

@@ -23,6 +23,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/threading/worker_pool.h"
#include "base/trace_event/trace_event.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
@@ -326,7 +327,7 @@ void URLRequestChromeJob::Start() {
// Start reading asynchronously so that all error reporting and data
// callbacks happen as they would for network requests.
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&URLRequestChromeJob::StartAsync, weak_factory_.GetWeakPtr()));

@@ -20,6 +20,7 @@
#include "base/strings/stringprintf.h"
#include "base/synchronization/lock.h"
#include "base/third_party/dynamic_annotations/dynamic_annotations.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "content/common/child_process_messages.h"
#include "content/public/common/child_process_host_delegate.h"
@@ -184,8 +185,9 @@ std::string ChildProcessHostImpl::CreateChannel() {
bool ChildProcessHostImpl::InitChannel() {
#if USE_ATTACHMENT_BROKER
DCHECK(base::MessageLoopForIO::IsCurrent());
IPC::AttachmentBroker::GetGlobal()->RegisterCommunicationChannel(
channel_.get(), base::MessageLoopForIO::current()->task_runner());
channel_.get(), base::ThreadTaskRunnerHandle::Get());
#endif
if (!channel_->Connect()) {
#if USE_ATTACHMENT_BROKER

@@ -7,6 +7,7 @@
#include <utility>
#include "base/run_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "content/browser/compositor/test/no_transport_image_transport_factory.h"
#include "content/browser/frame_host/navigation_entry_impl.h"
@@ -272,8 +273,7 @@ void RenderViewHostTestHarness::SetUp() {
BrowserSideNavigationSetUp();
#if defined(OS_MACOSX)
ui::WindowResizeHelperMac::Get()->Init(
base::MessageLoop::current()->task_runner());
ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get());
#endif // OS_MACOSX
}

@@ -6,7 +6,7 @@
#include "base/android/context_utils.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "jni/PlatformSensor_jni.h"
using base::android::AttachCurrentThread;
@@ -26,7 +26,7 @@ PlatformSensorAndroid::PlatformSensorAndroid(
PlatformSensorProvider* provider,
const JavaRef<jobject>& java_sensor)
: PlatformSensor(type, std::move(mapping), provider),
task_runner_(base::MessageLoop::current()->task_runner()) {
task_runner_(base::ThreadTaskRunnerHandle::Get()) {
JNIEnv* env = AttachCurrentThread();
j_object_.Reset(java_sensor);

@@ -8,7 +8,9 @@
#include <algorithm>
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "ipc/ipc_listener.h"
#include "ipc/ipc_logging.h"
#include "ipc/ipc_message.h"
@@ -322,8 +324,8 @@ void ChannelReader::ReceivedBrokerableAttachmentWithId(
void ChannelReader::StartObservingAttachmentBroker() {
#if USE_ATTACHMENT_BROKER
GetAttachmentBroker()->AddObserver(
this, base::MessageLoopForIO::current()->task_runner());
DCHECK(base::MessageLoopForIO::IsCurrent());
GetAttachmentBroker()->AddObserver(this, base::ThreadTaskRunnerHandle::Get());
#endif // USE_ATTACHMENT_BROKER
}

@@ -20,6 +20,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_checker.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/win/scoped_handle.h"
#include "ipc/attachment_broker.h"
#include "ipc/ipc_listener.h"
@@ -393,6 +394,8 @@ bool ChannelWin::CreatePipe(const IPC::ChannelHandle &channel_handle,
}
bool ChannelWin::Connect() {
DCHECK(base::MessageLoopForIO::IsCurrent());
WillConnect();
DLOG_IF(WARNING, thread_check_.get()) << "Connect called more than once";
@@ -413,7 +416,7 @@ bool ChannelWin::Connect() {
// Complete setup asynchronously. By not setting input_state_.is_pending
// to true, we indicate to OnIOCompleted that this is the special
// initialization signal.
base::MessageLoopForIO::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&ChannelWin::OnIOCompleted, weak_factory_.GetWeakPtr(),
&input_state_.context, 0, 0));

@@ -219,7 +219,7 @@ void Context::Shutdown() {
TRACE_EVENT0("mojo_shell", "Context::Shutdown");
// Post a task in case OnShutdownComplete is called synchronously.
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(mojo::edk::ShutdownIPCSupport));
// We'll quit when we get OnShutdownComplete().
base::RunLoop().Run();

@@ -14,6 +14,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/synchronization/waitable_event.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/trace_config.h"
#include "base/trace_event/trace_event.h"
@@ -43,7 +44,7 @@ void Tracer::Start(const std::string& categories,
<< "Could not parse --trace-startup-duration value "
<< duration_seconds_str;
}
base::MessageLoop::current()->task_runner()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE,
base::Bind(&Tracer::StopAndFlushToFile, base::Unretained(this)),
base::TimeDelta::FromSeconds(trace_duration_secs));

@@ -13,6 +13,7 @@
#include "base/single_thread_task_runner.h"
#include "base/synchronization/lock.h"
#include "base/threading/platform_thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "base/trace_event/trace_config.h"
#include "base/trace_event/trace_event.h"
@@ -107,7 +108,7 @@ void Provider::ForceEnableTracing() {
base::trace_event::TraceConfig("*", base::trace_event::RECORD_UNTIL_FULL),
base::trace_event::TraceLog::RECORDING_MODE);
tracing_forced_ = true;
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&Provider::DelayedStop, weak_factory_.GetWeakPtr()));
}
@@ -116,7 +117,7 @@ void Provider::DelayedStop() {
// We use this indirection to account for cases where the Initialize method
// takes more than one second to finish; thus we start the countdown only when
// the current thread is unblocked.
base::MessageLoop::current()->task_runner()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE,
base::Bind(&Provider::StopIfForced, weak_factory_.GetWeakPtr()),
base::TimeDelta::FromSeconds(1));

@@ -10,6 +10,7 @@
#include "base/memory/ptr_util.h"
#include "base/run_loop.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/default_tick_clock.h"
#include "platform/scheduler/base/task_queue_impl.h"
#include "platform/scheduler/base/task_queue_manager_delegate_for_test.h"
@@ -40,7 +41,7 @@ class TaskQueueManagerPerfTest : public testing::Test {
num_queues_ = num_queues;
manager_ = base::MakeUnique<TaskQueueManager>(
TaskQueueManagerDelegateForTest::Create(
base::MessageLoop::current()->task_runner(),
base::ThreadTaskRunnerHandle::Get(),
base::WrapUnique(new base::DefaultTickClock())),
"fake.category", "fake.category", "fake.category.debug");
manager_->AddTaskTimeObserver(&test_task_time_observer_);

@@ -16,6 +16,7 @@
#include "base/test/simple_test_tick_clock.h"
#include "base/test/trace_event_analyzer.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/blame_context.h"
#include "base/trace_event/trace_buffer.h"
#include "cc/test/ordered_simple_task_runner.h"
@@ -65,9 +66,8 @@ class MessageLoopTaskRunner : public TaskQueueManagerDelegateForTest {
private:
explicit MessageLoopTaskRunner(std::unique_ptr<base::TickClock> tick_clock)
: TaskQueueManagerDelegateForTest(
base::MessageLoop::current()->task_runner(),
std::move(tick_clock)) {}
: TaskQueueManagerDelegateForTest(base::ThreadTaskRunnerHandle::Get(),
std::move(tick_clock)) {}
~MessageLoopTaskRunner() override {}
};

@@ -9,8 +9,8 @@
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "third_party/libaddressinput/chromium/addressinput_util.h"
#include "third_party/libaddressinput/chromium/input_suggester.h"
#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h"
@@ -148,7 +148,7 @@ void AddressValidator::RulesLoaded(bool success,
if (success || attempts_number_[region_code] + 1 >= kMaxAttemptsNumber)
return;
base::MessageLoop::current()->task_runner()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&AddressValidator::RetryLoadRules,
weak_factory_.GetWeakPtr(), region_code),
GetBaseRetryPeriod() * pow(2, attempts_number_[region_code]++));

@@ -10,7 +10,6 @@
#include "base/files/file.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
@@ -392,7 +391,7 @@ void ZipReader::ExtractCurrentEntryToFilePathAsync(
return;
}
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&ZipReader::ExtractChunk, weak_ptr_factory_.GetWeakPtr(),
Passed(std::move(output_file)), success_callback,
@@ -499,7 +498,7 @@ void ZipReader::ExtractChunk(base::File output_file,
progress_callback.Run(current_progress);
base::MessageLoop::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&ZipReader::ExtractChunk, weak_ptr_factory_.GetWeakPtr(),
Passed(std::move(output_file)), success_callback,

@@ -6,6 +6,7 @@
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "ui/aura/test/ui_controls_factory_aura.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
@@ -77,8 +78,8 @@ class UIControlsWin : public UIControlsAura {
void RunClosureAfterAllPendingUIEvents(
const base::Closure& closure) override {
// On windows, posting UI events is synchronous so just post the closure.
base::MessageLoopForUI::current()->task_runner()->PostTask(FROM_HERE,
closure);
DCHECK(base::MessageLoopForUI::IsCurrent());
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, closure);
}
private:

@@ -11,6 +11,7 @@
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/string_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "ui/ozone/platform/wayland/wayland_object.h"
#include "ui/ozone/platform/wayland/wayland_window.h"
@@ -88,7 +89,8 @@ bool WaylandConnection::StartProcessingEvents() {
void WaylandConnection::ScheduleFlush() {
if (scheduled_flush_ || !watching_)
return;
base::MessageLoopForUI::current()->task_runner()->PostTask(
DCHECK(base::MessageLoopForUI::IsCurrent());
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&WaylandConnection::Flush, base::Unretained(this)));
scheduled_flush_ = true;
}

@@ -15,10 +15,12 @@
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/i18n/case_conversion.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/win/registry.h"
#include "base/win/scoped_comptr.h"
#include "base/win/shortcut.h"
@@ -201,9 +203,10 @@ class SelectFileDialogImpl : public ui::SelectFileDialog,
file_type_index(file_type_index),
default_extension(default_extension),
run_state(run_state),
ui_task_runner(base::MessageLoopForUI::current()->task_runner()),
ui_task_runner(base::ThreadTaskRunnerHandle::Get()),
owner(owner),
params(params) {
DCHECK(base::MessageLoopForUI::IsCurrent());
if (file_types)
this->file_types = *file_types;
}

@@ -5,9 +5,11 @@
#include "ui/views/controls/menu/menu_controller.h"
#include "base/callback.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "ui/aura/scoped_window_targeter.h"
#include "ui/aura/window.h"
@@ -271,6 +273,7 @@ class MenuControllerTest : public ViewsTestBase {
void SetUp() override {
ViewsTestBase::SetUp();
Init();
ASSERT_TRUE(base::MessageLoopForUI::IsCurrent());
}
void TearDown() override {
@@ -612,7 +615,7 @@ class MenuControllerTest : public ViewsTestBase {
// Tests that an event targeter which blocks events will be honored by the menu
// event dispatcher.
TEST_F(MenuControllerTest, EventTargeter) {
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MenuControllerTest::TestEventTargeter,
base::Unretained(this)));
RunMenu();
@@ -635,11 +638,11 @@ TEST_F(MenuControllerTest, TouchIdsReleasedCorrectly) {
event_generator()->PressTouchId(1);
event_generator()->ReleaseTouchId(0);
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MenuControllerTest::ReleaseTouchId,
base::Unretained(this), 1));
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MenuControllerTest::PressKey,
base::Unretained(this), ui::VKEY_ESCAPE));
@@ -1221,7 +1224,7 @@ TEST_F(MenuControllerTest, AsynchronousTouchEventRepostEvent) {
TEST_F(MenuControllerTest, AsynchronousNestedExitAll) {
InstallTestMenuMessageLoop();
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&MenuControllerTest::TestAsynchronousNestedExitAll,
base::Unretained(this)));
@@ -1234,7 +1237,7 @@ TEST_F(MenuControllerTest, AsynchronousNestedExitAll) {
TEST_F(MenuControllerTest, AsynchronousNestedExitOutermost) {
InstallTestMenuMessageLoop();
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&MenuControllerTest::TestAsynchronousNestedExitOutermost,
base::Unretained(this)));
@@ -1333,7 +1336,7 @@ TEST_F(MenuControllerTest, NestedMessageLoopDiesWithNestedMenu) {
std::unique_ptr<TestMenuControllerDelegate> nested_delegate(
new TestMenuControllerDelegate());
// This will nest an asynchronous menu, and then kill the nested message loop.
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&MenuControllerTest::TestNestedMessageLoopKillsItself,
base::Unretained(this), nested_delegate.get()));
@@ -1352,7 +1355,7 @@ TEST_F(MenuControllerTest, NestedMessageLoopDiesWithNestedMenu) {
TEST_F(MenuControllerTest, SynchronousCancelEvent) {
ExitMenuRun();
// Post actual test to run once the menu has created a nested message loop.
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&MenuControllerTest::TestCancelEvent, base::Unretained(this)));
int mouse_event_flags = 0;

@@ -10,10 +10,12 @@
#include <utility>
#include "base/bind.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "ui/aura/client/capture_client.h"
#include "ui/aura/env.h"
#include "ui/aura/window.h"
@@ -73,6 +75,8 @@ bool X11WholeScreenMoveLoop::CanDispatchEvent(const ui::PlatformEvent& event) {
}
uint32_t X11WholeScreenMoveLoop::DispatchEvent(const ui::PlatformEvent& event) {
DCHECK(base::MessageLoopForUI::IsCurrent());
// This method processes all events while the move loop is active.
if (!in_move_loop_)
return ui::POST_DISPATCH_PERFORM_DEFAULT;
@@ -91,7 +95,7 @@ uint32_t X11WholeScreenMoveLoop::DispatchEvent(const ui::PlatformEvent& event) {
// Post a task to dispatch mouse movement event when control returns to
// the message loop. This allows smoother dragging since the events are
// dispatched without waiting for the drag widget updates.
base::MessageLoopForUI::current()->task_runner()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&X11WholeScreenMoveLoop::DispatchMouseMovement,
weak_factory_.GetWeakPtr()));