Index: chrome/test/base/testing_profile.cc |
diff --git a/chrome/test/base/testing_profile.cc b/chrome/test/base/testing_profile.cc |
index f196614ac658621897f7c588eca2cb2c2da59db8..2bef2be858a504de37aff4a873389cd4924d45b8 100644 |
--- a/chrome/test/base/testing_profile.cc |
+++ b/chrome/test/base/testing_profile.cc |
@@ -141,7 +141,9 @@ class QuittingHistoryDBTask : public history::HistoryDBTask { |
return true; |
} |
- void DoneRunOnMainThread() override { base::MessageLoop::current()->Quit(); } |
+ void DoneRunOnMainThread() override { |
+ base::MessageLoop::current()->QuitWhenIdle(); |
+ } |
private: |
~QuittingHistoryDBTask() override {} |
@@ -560,7 +562,8 @@ void TestingProfile::DestroyHistoryService() { |
return; |
history_service->ClearCachedDataForContextID(0); |
- history_service->SetOnBackendDestroyTask(base::MessageLoop::QuitClosure()); |
+ history_service->SetOnBackendDestroyTask( |
+ base::MessageLoop::QuitWhenIdleClosure()); |
history_service->Cleanup(); |
HistoryServiceFactory::ShutdownForProfile(this); |
@@ -573,7 +576,7 @@ void TestingProfile::DestroyHistoryService() { |
// Make sure we don't have any event pending that could disrupt the next |
// test. |
base::ThreadTaskRunnerHandle::Get()->PostTask( |
- FROM_HERE, base::MessageLoop::QuitClosure()); |
+ FROM_HERE, base::MessageLoop::QuitWhenIdleClosure()); |
base::MessageLoop::current()->Run(); |
} |