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)); |
- } |
-} |