| Index: content/public/test/test_browser_thread_bundle.cc | 
| diff --git a/content/public/test/test_browser_thread_bundle.cc b/content/public/test/test_browser_thread_bundle.cc | 
| index e9251c3fa1b39ee33064fc8ba8965e1ee9ddaf70..cc35627cded0adf9701e1b24b70b5f1bf2eca03f 100644 | 
| --- a/content/public/test/test_browser_thread_bundle.cc | 
| +++ b/content/public/test/test_browser_thread_bundle.cc | 
| @@ -5,8 +5,10 @@ | 
| #include "content/public/test/test_browser_thread_bundle.h" | 
|  | 
| #include "base/logging.h" | 
| +#include "base/memory/ptr_util.h" | 
| #include "base/message_loop/message_loop.h" | 
| #include "base/run_loop.h" | 
| +#include "base/test/scoped_async_task_scheduler.h" | 
| #include "base/test/scoped_task_scheduler.h" | 
| #include "content/browser/browser_thread_impl.h" | 
| #include "content/public/test/test_browser_thread.h" | 
| @@ -55,7 +57,8 @@ TestBrowserThreadBundle::~TestBrowserThreadBundle() { | 
| ui_thread_->Stop(); | 
| base::RunLoop().RunUntilIdle(); | 
|  | 
| -  task_scheduler_.reset(); | 
| +  scoped_async_task_scheduler_.reset(); | 
| +  scoped_task_scheduler_.reset(); | 
|  | 
| // |message_loop_| needs to explicitly go away before fake threads in order | 
| // for DestructionObservers hooked to |message_loop_| to be able to invoke | 
| @@ -89,8 +92,13 @@ void TestBrowserThreadBundle::Init() { | 
| void TestBrowserThreadBundle::CreateThreads() { | 
| DCHECK(!threads_created_); | 
|  | 
| -  task_scheduler_.reset( | 
| -      new base::test::ScopedTaskScheduler(message_loop_.get())); | 
| +  if (options_ & REAL_TASK_SCHEDULER) { | 
| +    scoped_async_task_scheduler_ = | 
| +        base::MakeUnique<base::test::ScopedAsyncTaskScheduler>(); | 
| +  } else { | 
| +    scoped_task_scheduler_ = | 
| +        base::MakeUnique<base::test::ScopedTaskScheduler>(message_loop_.get()); | 
| +  } | 
|  | 
| if (options_ & REAL_DB_THREAD) { | 
| db_thread_.reset(new TestBrowserThread(BrowserThread::DB)); | 
|  |