Index: chrome/browser/webdata/web_data_service_base.cc |
diff --git a/chrome/browser/webdata/web_data_service_base.cc b/chrome/browser/webdata/web_data_service_base.cc |
index 25b1e721674f9d1525ff4d2d9d15f5aae20cad7c..19b4464e5fd50361f3628cd7e2d299f12b08a9d1 100644 |
--- a/chrome/browser/webdata/web_data_service_base.cc |
+++ b/chrome/browser/webdata/web_data_service_base.cc |
@@ -29,10 +29,11 @@ using base::Bind; |
using base::Time; |
using content::BrowserThread; |
-WebDataServiceBase::WebDataServiceBase(const base::FilePath& path, |
- const ProfileErrorCallback& callback) |
- : db_loaded_(false), |
- path_(path), |
+WebDataServiceBase::WebDataServiceBase( |
+ scoped_refptr<WebDatabaseService> wdbs, |
+ const ProfileErrorCallback& callback) |
+ : wdbs_(wdbs), |
+ db_loaded_(false), |
profile_error_callback_(callback) { |
// WebDataService requires DB thread if instantiated. |
// Set WebDataServiceFactory::GetInstance()->SetTestingFactory(&profile, NULL) |
@@ -45,12 +46,10 @@ void WebDataServiceBase::ShutdownOnUIThread() { |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
base::Bind(&WebDataServiceBase::ShutdownOnDBThread, this)); |
- ShutdownDatabase(); |
} |
void WebDataServiceBase::AddTable(scoped_ptr<WebDatabaseTable> table) { |
- if (!wdbs_.get()) |
- wdbs_.reset(new WebDatabaseService(path_)); |
+ DCHECK(wdbs_.get()); |
wdbs_->AddTable(table.Pass()); |
} |
@@ -100,7 +99,6 @@ base::SupportsUserData* WebDataServiceBase::GetDBUserData() { |
WebDataServiceBase::~WebDataServiceBase() { |
DCHECK(!db_thread_user_data_.get()) << "Forgot to call ShutdownOnUIThread?"; |
- wdbs_.reset(); |
} |
void WebDataServiceBase::ShutdownOnDBThread() { |