| Index: content/public/test/test_browser_thread_bundle.h | 
| diff --git a/content/public/test/test_browser_thread_bundle.h b/content/public/test/test_browser_thread_bundle.h | 
| index 4a6b030c21f67b83e59c3cc0a4aacfaf06baf790..970c9404ef95853db8495f154fd002210b5a0865 100644 | 
| --- a/content/public/test/test_browser_thread_bundle.h | 
| +++ b/content/public/test/test_browser_thread_bundle.h | 
| @@ -25,6 +25,10 @@ | 
| // FileDescriptorWatcher. Most of the time, IO_MAINLOOP avoids needing to use a | 
| // REAL_IO_THREAD. | 
| // | 
| +// If a test needs a TaskScheduler that runs tasks on a dedicated thread, it | 
| +// should use REAL_TASK_SCHEDULER. Usage of this option should be justified as | 
| +// it is easier to understand and debug a single-threaded unit test. | 
| +// | 
| // For some tests it is important to emulate real browser startup. During real | 
| // browser startup, the main MessageLoop is created before other threads. | 
| // Passing DONT_CREATE_THREADS to constructor will delay creating other threads | 
| @@ -43,6 +47,7 @@ | 
| namespace base { | 
| class MessageLoop; | 
| namespace test { | 
| +class ScopedAsyncTaskScheduler; | 
| class ScopedTaskScheduler; | 
| }  // namespace test | 
| }  // namespace base | 
| @@ -57,12 +62,13 @@ class TestBrowserThreadBundle { | 
| // which of the named BrowserThreads should be backed by a real | 
| // threads. The UI thread is always the main thread in a unit test. | 
| enum Options { | 
| -    DEFAULT = 0x00, | 
| -    IO_MAINLOOP = 0x01, | 
| -    REAL_DB_THREAD = 0x02, | 
| -    REAL_FILE_THREAD = 0x08, | 
| -    REAL_IO_THREAD = 0x10, | 
| -    DONT_CREATE_THREADS = 0x20, | 
| +    DEFAULT = 0, | 
| +    IO_MAINLOOP = 1 << 0, | 
| +    REAL_DB_THREAD = 1 << 1, | 
| +    REAL_FILE_THREAD = 1 << 2, | 
| +    REAL_IO_THREAD = 1 << 3, | 
| +    REAL_TASK_SCHEDULER = 1 << 4, | 
| +    DONT_CREATE_THREADS = 1 << 5, | 
| }; | 
|  | 
| TestBrowserThreadBundle(); | 
| @@ -78,7 +84,9 @@ class TestBrowserThreadBundle { | 
| void Init(); | 
|  | 
| std::unique_ptr<base::MessageLoop> message_loop_; | 
| -  std::unique_ptr<base::test::ScopedTaskScheduler> task_scheduler_; | 
| +  std::unique_ptr<base::test::ScopedAsyncTaskScheduler> | 
| +      scoped_async_task_scheduler_; | 
| +  std::unique_ptr<base::test::ScopedTaskScheduler> scoped_task_scheduler_; | 
| std::unique_ptr<TestBrowserThread> ui_thread_; | 
| std::unique_ptr<TestBrowserThread> db_thread_; | 
| std::unique_ptr<TestBrowserThread> file_thread_; | 
|  |