| Index: chrome/test/base/browser_with_test_window_test.cc
|
| diff --git a/chrome/test/base/browser_with_test_window_test.cc b/chrome/test/base/browser_with_test_window_test.cc
|
| index ca71fb55c783fa937cb07c907883e36641884647..dc12429fddc55a235d7400f701ff12d47b6b7c8e 100644
|
| --- a/chrome/test/base/browser_with_test_window_test.cc
|
| +++ b/chrome/test/base/browser_with_test_window_test.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/test/base/browser_with_test_window_test.h"
|
|
|
| +#include "base/synchronization/waitable_event.h"
|
| #include "chrome/browser/tabs/tab_strip_model.h"
|
| #include "chrome/browser/ui/browser_navigator.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| @@ -36,9 +37,11 @@ using content::WebContents;
|
|
|
| BrowserWithTestWindowTest::BrowserWithTestWindowTest()
|
| : ui_thread_(BrowserThread::UI, message_loop()),
|
| + db_thread_(BrowserThread::DB),
|
| file_thread_(BrowserThread::FILE, message_loop()),
|
| file_user_blocking_thread_(
|
| BrowserThread::FILE_USER_BLOCKING, message_loop()) {
|
| + db_thread_.Start();
|
| }
|
|
|
| void BrowserWithTestWindowTest::SetUp() {
|
| @@ -76,6 +79,13 @@ BrowserWithTestWindowTest::~BrowserWithTestWindowTest() {
|
| DestroyBrowser();
|
| profile_.reset(NULL);
|
|
|
| + // Schedule another task on the DB thread to notify us that it's safe to
|
| + // carry on with the test.
|
| + base::WaitableEvent done(false, false);
|
| + BrowserThread::PostTask(BrowserThread::DB, FROM_HERE,
|
| + base::Bind(&base::WaitableEvent::Signal, base::Unretained(&done)));
|
| + done.Wait();
|
| + db_thread_.Stop();
|
| MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure());
|
| MessageLoop::current()->Run();
|
| }
|
|
|