Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: components/webdata/common/web_data_service_base.cc

Issue 15927029: Replace WebDatabaseObserver with callbacks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clean up Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698