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

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

Issue 14679005: Create an AutofillBackend interface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix WIN 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.h
diff --git a/components/webdata/common/web_data_service_backend.h b/components/webdata/common/web_data_service_backend.h
index 0e1d8f247e7024761e519ddd4eabdb5f1bd1f299..c12ade6edaf0b6d9c90eec71f2608cbcc18013a7 100644
--- a/components/webdata/common/web_data_service_backend.h
+++ b/components/webdata/common/web_data_service_backend.h
@@ -13,6 +13,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
#include "components/webdata/common/web_database_service.h"
+#include "components/webdata/common/webdata_export.h"
#include "content/public/browser/browser_thread.h"
@@ -29,7 +30,9 @@ class Location;
// WebDatabaseService. It is refcounted to allow asynchronous destruction on the
// DB thread.
-class WebDataServiceBackend
+// TODO(caitkp): Rename this class to WebDatabaseBackend.
+
+class WEBDATA_EXPORT WebDataServiceBackend
: public base::RefCountedThreadSafe<
WebDataServiceBackend,
content::BrowserThread::DeleteOnDBThread> {
@@ -62,7 +65,10 @@ class WebDataServiceBackend
// possible to re-initialize the DB after the shutdown.
void ShutdownDatabase(bool should_reinit);
- // Task wrappers to run database tasks.
+ // Task wrappers to update requests and and notify |request_manager_|. These
+ // are used in cases where the request is being made from the UI thread and an
+ // asyncronous callback is required to notify the client of |request|'s
+ // completion.
void DBWriteTaskWrapper(
const WebDatabaseService::WriteTask& task,
scoped_ptr<WebDataRequest> request);
@@ -70,18 +76,28 @@ class WebDataServiceBackend
const WebDatabaseService::ReadTask& task,
scoped_ptr<WebDataRequest> request);
+ // Task runners to run database tasks.
+ void ExecuteWriteTask(const WebDatabaseService::WriteTask& task);
+ scoped_ptr<WDTypedResult> ExecuteReadTask(
+ const WebDatabaseService::ReadTask& task);
+
const scoped_refptr<WebDataRequestManager>& request_manager() {
return request_manager_;
}
WebDatabase* database() { return db_.get(); }
+ protected:
+ virtual ~WebDataServiceBackend();
+
private:
friend struct content::BrowserThread::DeleteOnThread<
content::BrowserThread::DB>;
friend class base::DeleteHelper<WebDataServiceBackend>;
-
- virtual ~WebDataServiceBackend();
+ // We have to friend RCTS<> so WIN shared-lib build is happy
+ // (http://crbug/112250).
+ friend class base::RefCountedThreadSafe<WebDataServiceBackend,
+ content::BrowserThread::DeleteOnDBThread>;
// Commit the current transaction.
void Commit();
« no previous file with comments | « components/autofill/browser/webdata/autofill_webdata_service.cc ('k') | components/webdata/common/web_data_service_backend.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698