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 209e612e1b86efe502c05e3474b22cfcac93e3e8..c00a6871cb96a40131ebda2ae0f0fe963562d15c 100644 |
--- a/components/webdata/common/web_data_service_base.cc |
+++ b/components/webdata/common/web_data_service_base.cc |
@@ -26,7 +26,6 @@ using content::BrowserThread; |
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) |
@@ -34,22 +33,12 @@ 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; |
} |
void WebDataServiceBase::Init() { |
DCHECK(wdbs_.get()); |
- wdbs_->AddObserver(this); |
+ wdbs_->RegisterDBErrorCallback(profile_error_callback_); |
wdbs_->LoadDatabase(); |
} |
@@ -76,19 +65,16 @@ content::NotificationSource WebDataServiceBase::GetNotificationSource() { |
} |
bool WebDataServiceBase::IsDatabaseLoaded() { |
- return db_loaded_; |
+ if (!wdbs_) |
+ return false; |
+ return wdbs_->db_loaded(); |
} |
-void WebDataServiceBase::AddDBObserver(WebDatabaseObserver* observer) { |
- if (!wdbs_.get()) |
- return; |
- wdbs_->AddObserver(observer); |
-} |
- |
-void WebDataServiceBase::RemoveDBObserver(WebDatabaseObserver* observer) { |
- if (!wdbs_.get()) |
+void WebDataServiceBase::RegisterDBLoadedCallback( |
+ const base::Callback<void(void)>& callback) { |
+ if (!wdbs_) |
return; |
- wdbs_->RemoveObserver(observer); |
+ wdbs_->RegisterDBLoadedCallback(callback); |
} |
WebDatabase* WebDataServiceBase::GetDatabase() { |