| Index: chrome/browser/search_engines/template_url_service_test_util.cc
|
| diff --git a/chrome/browser/search_engines/template_url_service_test_util.cc b/chrome/browser/search_engines/template_url_service_test_util.cc
|
| index 6f2391e96462581fd97ca233ecc35657aa1f7253..6d1c66a018eb62be9bf5632fd65021ac0dbb0a08 100644
|
| --- a/chrome/browser/search_engines/template_url_service_test_util.cc
|
| +++ b/chrome/browser/search_engines/template_url_service_test_util.cc
|
| @@ -8,10 +8,12 @@
|
| #include "base/message_loop.h"
|
| #include "base/path_service.h"
|
| #include "base/scoped_temp_dir.h"
|
| +#include "base/synchronization/waitable_event.h"
|
| #include "base/threading/thread.h"
|
| #include "chrome/browser/search_engines/search_terms_data.h"
|
| #include "chrome/browser/search_engines/template_url_service.h"
|
| #include "chrome/browser/search_engines/template_url_service_factory.h"
|
| +#include "chrome/browser/webdata/web_data_service_factory.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -127,11 +129,17 @@ void TemplateURLServiceTestingProfile::TearDown() {
|
|
|
| // Clean up the test directory.
|
| if (service_.get())
|
| - service_->Shutdown();
|
| + service_ = NULL;
|
| // Note that we must ensure the DB thread is stopped after WDS
|
| // shutdown (so it can commit pending transactions) but before
|
| // deleting the test profile directory, otherwise we may not be
|
| // able to delete it due to an open transaction.
|
| + // 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();
|
| }
|
|
|
| @@ -195,7 +203,8 @@ void TemplateURLServiceTestUtil::ChangeModelToLoadState() {
|
| model()->ChangeToLoadedState();
|
| // Initialize the web data service so that the database gets updated with
|
| // any changes made.
|
| - model()->service_ = profile_->GetWebDataService(Profile::EXPLICIT_ACCESS);
|
| + model()->service_ = WebDataServiceFactory::GetForProfile(
|
| + profile_.get(), Profile::EXPLICIT_ACCESS);
|
| }
|
|
|
| void TemplateURLServiceTestUtil::ClearModel() {
|
|
|