Chromium Code Reviews| Index: components/webdata/common/web_data_service_base.cc |
| diff --git a/components/webdata/common/web_data_service_base.cc b/components/webdata/common/web_data_service_base.cc |
| index 58e9873c6592eb4e6bcff1d52b9fbc6f2ab7a03f..873d14081ee0ab3ff6c76e856efd7e9922ca24e9 100644 |
| --- a/components/webdata/common/web_data_service_base.cc |
| +++ b/components/webdata/common/web_data_service_base.cc |
| @@ -34,6 +34,16 @@ WebDataServiceBase::WebDataServiceBase(scoped_refptr<WebDatabaseService> wdbs, |
| DCHECK(BrowserThread::IsWellKnownThread(BrowserThread::DB)); |
| } |
| +void WebDataServiceBase::WebDatabaseLoaded() { |
| + db_loaded_ = true; |
| +} |
| + |
| +void WebDataServiceBase::WebDatabaseLoadFailed(sql::InitStatus status) { |
| + if (!profile_error_callback_.is_null()) { |
|
dhollowa
2013/04/18 16:21:17
nit: no {} needed
Cait (Slow)
2013/04/19 19:06:22
Done.
|
| + profile_error_callback_.Run(status); |
| + } |
| +} |
| + |
| void WebDataServiceBase::ShutdownOnUIThread() { |
| db_loaded_ = false; |
| BrowserThread::PostTask( |
| @@ -43,7 +53,8 @@ void WebDataServiceBase::ShutdownOnUIThread() { |
| void WebDataServiceBase::Init() { |
| DCHECK(wdbs_.get()); |
| - wdbs_->LoadDatabase(Bind(&WebDataServiceBase::DatabaseInitOnDB, this)); |
| + wdbs_->AddObserver(this); |
| + wdbs_->LoadDatabase(); |
| } |
| void WebDataServiceBase::UnloadDatabase() { |
| @@ -72,6 +83,18 @@ bool WebDataServiceBase::IsDatabaseLoaded() { |
| return db_loaded_; |
| } |
| +void WebDataServiceBase::AddDBObserver(WebDatabaseObserver* observer) { |
| + if (!wdbs_) |
| + return; |
| + wdbs_->AddObserver(observer); |
| +} |
| + |
| +void WebDataServiceBase::RemoveDBObserver(WebDatabaseObserver* observer) { |
| + if (!wdbs_) |
| + return; |
| + wdbs_->RemoveObserver(observer); |
| +} |
| + |
| WebDatabase* WebDataServiceBase::GetDatabase() { |
| if (!wdbs_) |
| return NULL; |
| @@ -93,29 +116,3 @@ void WebDataServiceBase::ShutdownOnDBThread() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| db_thread_user_data_.reset(); |
| } |
| - |
| -void WebDataServiceBase::NotifyDatabaseLoadedOnUIThread() {} |
| - |
| -void WebDataServiceBase::DBInitFailed(sql::InitStatus sql_status) { |
| - if (!profile_error_callback_.is_null()) |
| - profile_error_callback_.Run(sql_status); |
| -} |
| - |
| -void WebDataServiceBase::DBInitSucceeded() { |
| - db_loaded_ = true; |
| - NotifyDatabaseLoadedOnUIThread(); |
| -} |
| - |
| -// Executed on DB thread. |
| -void WebDataServiceBase::DatabaseInitOnDB(sql::InitStatus status) { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| - if (status == sql::INIT_OK) { |
| - BrowserThread::PostTask( |
| - BrowserThread::UI, FROM_HERE, |
| - base::Bind(&WebDataServiceBase::DBInitSucceeded, this)); |
| - } else { |
| - BrowserThread::PostTask( |
| - BrowserThread::UI, FROM_HERE, |
| - base::Bind(&WebDataServiceBase::DBInitFailed, this, status)); |
| - } |
| -} |