| 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..e1a67a56d2b506bd98b5c1cbba7f666e3342ec44 100644
|
| --- a/components/webdata/common/web_data_service_base.cc
|
| +++ b/components/webdata/common/web_data_service_base.cc
|
| @@ -34,6 +34,15 @@ 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())
|
| + profile_error_callback_.Run(status);
|
| +}
|
| +
|
| void WebDataServiceBase::ShutdownOnUIThread() {
|
| db_loaded_ = false;
|
| BrowserThread::PostTask(
|
| @@ -43,7 +52,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 +82,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 +115,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));
|
| - }
|
| -}
|
|
|