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

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

Issue 14679005: Create an AutofillBackend interface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments pt 3 Created 7 years, 7 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_backend.cc
diff --git a/components/webdata/common/web_data_service_backend.cc b/components/webdata/common/web_data_service_backend.cc
index 3b945b0b540f721304917c9d135b52a16689f890..300b182bc84e856f02c857cce1428737585640cb 100644
--- a/components/webdata/common/web_data_service_backend.cc
+++ b/components/webdata/common/web_data_service_backend.cc
@@ -73,23 +73,40 @@ void WebDataServiceBackend::ShutdownDatabase(bool should_reinit) {
void WebDataServiceBackend::DBWriteTaskWrapper(
const WebDatabaseService::WriteTask& task,
scoped_ptr<WebDataRequest> request) {
+ if (request->IsCancelled())
+ return;
+
+ ExecuteWriteTask(task);
+ request_manager_->RequestCompleted(request.Pass());
+}
+
+void WebDataServiceBackend::ExecuteWriteTask(
+ const WebDatabaseService::WriteTask& task) {
LoadDatabaseIfNecessary();
- if (db_ && init_status_ == sql::INIT_OK && !request->IsCancelled()) {
+ if (db_ && init_status_ == sql::INIT_OK) {
WebDatabase::State state = task.Run(db_.get());
if (state == WebDatabase::COMMIT_NEEDED)
Commit();
}
- request_manager_->RequestCompleted(request.Pass());
}
void WebDataServiceBackend::DBReadTaskWrapper(
const WebDatabaseService::ReadTask& task,
scoped_ptr<WebDataRequest> request) {
+ if (request->IsCancelled())
+ return;
+
+ request->SetResult(ExecuteReadTask(task).Pass());
+ request_manager_->RequestCompleted(request.Pass());
+}
+
+scoped_ptr<WDTypedResult> WebDataServiceBackend::ExecuteReadTask(
+ const WebDatabaseService::ReadTask& task) {
LoadDatabaseIfNecessary();
- if (db_ && init_status_ == sql::INIT_OK && !request->IsCancelled()) {
- request->SetResult(task.Run(db_.get()).Pass());
+ if (db_ && init_status_ == sql::INIT_OK) {
+ return task.Run(db_.get());
}
- request_manager_->RequestCompleted(request.Pass());
+ return scoped_ptr<WDTypedResult>(NULL);
}
WebDataServiceBackend::~WebDataServiceBackend() {

Powered by Google App Engine
This is Rietveld 408576698