Index: components/autofill/browser/webdata/autofill_webdata_service.h |
diff --git a/components/autofill/browser/webdata/autofill_webdata_service.h b/components/autofill/browser/webdata/autofill_webdata_service.h |
index 87b967ca94bb2283270198968fe60b21399cfbf4..fe51f800f679ea8be1b9d24bb8ce93cb5e6c73a8 100644 |
--- a/components/autofill/browser/webdata/autofill_webdata_service.h |
+++ b/components/autofill/browser/webdata/autofill_webdata_service.h |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/memory/ref_counted.h" |
+#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/supports_user_data.h" |
#include "components/autofill/browser/webdata/autofill_webdata.h" |
@@ -31,11 +32,15 @@ class AutofillWebDataBackend; |
class AutofillWebDataServiceObserverOnDBThread; |
class AutofillWebDataServiceObserverOnUIThread; |
class CreditCard; |
+class SyncableServiceDelegate; |
// API for Autofill web data. |
class AutofillWebDataService : public AutofillWebData, |
public WebDataServiceBase { |
public: |
+ typedef base::Callback<void(base::WeakPtr<SyncableServiceDelegate>)> |
+ DelegateOnDBCallback; |
+ |
AutofillWebDataService(); |
AutofillWebDataService(scoped_refptr<WebDatabaseService> wdbs, |
@@ -96,11 +101,21 @@ class AutofillWebDataService : public AutofillWebData, |
// |ShutdownOnUIThread()| is called. |
base::SupportsUserData* GetDBUserData(); |
+ // Asynchronously gets an instance of |AutofillBackendDelegate|, which can be |
+ // used to do work on the DB thread. This method is meant to be called from |
+ // the UI thread, but the callback will be called on the DB thread. |
+ // The delegate instance is owned by |AutofillWebDataBackend|, and so has the |
+ // same lifetime as |AutofillWebDataService|. |
+ void GetDelegateOnDB(const DelegateOnDBCallback& del_callback); |
Ilya Sherman
2013/05/07 00:02:43
nit: Please don't use abbreviations like "del" in
|
+ |
protected: |
virtual ~AutofillWebDataService(); |
virtual void ShutdownOnDBThread(); |
+ // All vended weak pointers are invalidated in ShutdownDatabase(). |
Jói
2013/05/06 23:08:39
Suggest documenting which thread this factory is u
Cait (Slow)
2013/05/07 19:22:07
Done.
|
+ base::WeakPtrFactory<AutofillWebDataService> weak_ptr_factory_; |
+ |
private: |
// This makes the destructor public, and thus allows us to aggregate |
// SupportsUserData. It is private by default to prevent incorrect |