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 ba2cbb4fad7f52430c0e1cd3877b80f5649a0992..d9450b24db9058cf45ebc34d5cf5a5d4ff476be8 100644 |
--- a/chrome/browser/webdata/web_data_service_base.cc |
+++ b/chrome/browser/webdata/web_data_service_base.cc |
@@ -27,8 +27,10 @@ using base::Bind; |
using base::Time; |
using content::BrowserThread; |
-WebDataServiceBase::WebDataServiceBase(const ProfileErrorCallback& callback) |
+WebDataServiceBase::WebDataServiceBase(const base::FilePath& path, |
+ const ProfileErrorCallback& callback) |
: db_loaded_(false), |
+ path_(path), |
profile_error_callback_(callback) { |
// WebDataService requires DB thread if instantiated. |
// Set WebDataServiceFactory::GetInstance()->SetTestingFactory(&profile, NULL) |
@@ -44,8 +46,14 @@ void WebDataServiceBase::ShutdownOnUIThread() { |
ShutdownDatabase(); |
} |
-void WebDataServiceBase::Init(const base::FilePath& path) { |
- wdbs_.reset(new WebDatabaseService(path)); |
+void WebDataServiceBase::AddTable(scoped_ptr<WebDatabaseTable> table) { |
+ if (!wdbs_.get()) |
+ wdbs_.reset(new WebDatabaseService(path_)); |
+ wdbs_->AddTable(table.Pass()); |
+} |
+ |
+void WebDataServiceBase::Init() { |
+ DCHECK(wdbs_.get()); |
wdbs_->LoadDatabase(Bind(&WebDataServiceBase::DatabaseInitOnDB, this)); |
} |