| 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 57891aa14de24c57797554b5410367fb517dbe7b..3cf87a0725fd324ff870ba4f559466ea9b7f15ae 100644
|
| --- a/chrome/browser/webdata/web_data_service_base.cc
|
| +++ b/chrome/browser/webdata/web_data_service_base.cc
|
| @@ -29,8 +29,10 @@ using base::Bind;
|
| using base::Time;
|
| using content::BrowserThread;
|
|
|
| -WebDataServiceBase::WebDataServiceBase(const ProfileErrorCallback& callback)
|
| - : db_loaded_(false),
|
| +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)
|
| @@ -43,11 +45,15 @@ void WebDataServiceBase::ShutdownOnUIThread() {
|
| BrowserThread::PostTask(
|
| BrowserThread::DB, FROM_HERE,
|
| base::Bind(&WebDataServiceBase::ShutdownOnDBThread, this));
|
| - ShutdownDatabase();
|
| }
|
|
|
| -void WebDataServiceBase::Init(const base::FilePath& path) {
|
| - wdbs_.reset(new WebDatabaseService(path));
|
| +void WebDataServiceBase::AddTable(scoped_ptr<WebDatabaseTable> table) {
|
| + DCHECK(wdbs_.get());
|
| + wdbs_->AddTable(table.Pass());
|
| +}
|
| +
|
| +void WebDataServiceBase::Init() {
|
| + DCHECK(wdbs_.get());
|
| wdbs_->LoadDatabase(Bind(&WebDataServiceBase::DatabaseInitOnDB, this));
|
| }
|
|
|
| @@ -92,7 +98,6 @@ base::SupportsUserData* WebDataServiceBase::GetDBUserData() {
|
|
|
| WebDataServiceBase::~WebDataServiceBase() {
|
| DCHECK(!db_thread_user_data_.get()) << "Forgot to call ShutdownOnUIThread?";
|
| - wdbs_.reset();
|
| }
|
|
|
| void WebDataServiceBase::ShutdownOnDBThread() {
|
|
|