Index: components/autofill/browser/webdata/autofill_webdata_backend.h |
diff --git a/components/autofill/browser/webdata/autofill_webdata_backend.h b/components/autofill/browser/webdata/autofill_webdata_backend.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dcfa63595ab1368489acb613bd90e83b3ee5b496 |
--- /dev/null |
+++ b/components/autofill/browser/webdata/autofill_webdata_backend.h |
@@ -0,0 +1,81 @@ |
+#ifndef COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ |
+#define COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ |
+ |
+#include "base/memory/ref_counted.h" |
+#include "base/observer_list.h" |
+#include "components/autofill/browser/webdata/autofill_webdata.h" |
+#include "components/autofill/common/form_field_data.h" |
+#include "components/webdata/common/web_data_results.h" |
+#include "components/webdata/common/web_data_service_base.h" |
+#include "components/webdata/common/web_data_service_consumer.h" |
+#include "components/webdata/common/web_database.h" |
+ |
+namespace autofill { |
+ |
+class AutofillChange; |
+class AutofillProfile; |
+class AutofillWebDataServiceObserverOnDBThread; |
+class CreditCard; |
+ |
+class AutofillWebDataBackend |
Ilya Sherman
2013/04/30 00:14:08
Please add documentation describing the purpose of
Cait (Slow)
2013/04/30 22:24:40
Done.
|
+ : public base::RefCountedThreadSafe<AutofillWebDataBackend, |
+ content::BrowserThread::DeleteOnDBThread> { |
Ilya Sherman
2013/04/30 00:14:08
Why is this class reference counted, rather than s
Cait (Slow)
2013/04/30 22:24:40
It needs to be ref-counted as AutofillWebDataServi
Ilya Sherman
2013/04/30 23:52:11
Seems like the AutofillWebDataService could just h
Cait (Slow)
2013/05/01 23:14:19
The async tasks have non-void return types (either
|
+ public: |
+ AutofillWebDataBackend(); |
+ |
+ WebDatabase::State AddFormElementsImpl( |
Ilya Sherman
2013/04/30 00:14:08
nit: Could we drop the "Impl" suffix for all of th
Cait (Slow)
2013/04/30 22:24:40
Done.
|
+ const std::vector<FormFieldData>& fields, WebDatabase* db); |
Ilya Sherman
2013/04/30 00:14:08
nit: Please leave a blank line after each method d
Ilya Sherman
2013/04/30 00:14:08
nit: If the entire method declaration doesn't fit
Cait (Slow)
2013/04/30 22:24:40
Done.
Cait (Slow)
2013/04/30 22:24:40
Done.
|
+ scoped_ptr<WDTypedResult> GetFormValuesForElementNameImpl( |
+ const base::string16& name, const base::string16& prefix, int limit, |
+ WebDatabase* db); |
+ WebDatabase::State RemoveFormElementsAddedBetweenImpl( |
+ const base::Time& delete_begin, const base::Time& delete_end, |
+ WebDatabase* db); |
+ WebDatabase::State RemoveExpiredFormElementsImpl(WebDatabase* db); |
+ WebDatabase::State RemoveFormValueForElementNameImpl( |
+ const base::string16& name, const base::string16& value, WebDatabase* db); |
+ WebDatabase::State AddAutofillProfileImpl( |
+ const AutofillProfile& profile, WebDatabase* db); |
+ WebDatabase::State UpdateAutofillProfileImpl( |
+ const AutofillProfile& profile, WebDatabase* db); |
+ WebDatabase::State RemoveAutofillProfileImpl( |
+ const std::string& guid, WebDatabase* db); |
+ scoped_ptr<WDTypedResult> GetAutofillProfilesImpl(WebDatabase* db); |
+ WebDatabase::State AddCreditCardImpl( |
+ const CreditCard& credit_card, WebDatabase* db); |
+ WebDatabase::State UpdateCreditCardImpl( |
+ const CreditCard& credit_card, WebDatabase* db); |
+ WebDatabase::State RemoveCreditCardImpl( |
+ const std::string& guid, WebDatabase* db); |
+ scoped_ptr<WDTypedResult> GetCreditCardsImpl(WebDatabase* db); |
+ WebDatabase::State RemoveAutofillDataModifiedBetweenImpl( |
+ const base::Time& delete_begin, const base::Time& delete_end, |
+ WebDatabase* db); |
+ |
+ void AddObserver(AutofillWebDataServiceObserverOnDBThread* observer); |
+ void RemoveObserver(AutofillWebDataServiceObserverOnDBThread* observer); |
+ |
+ protected: |
+ virtual ~AutofillWebDataBackend(); |
+ |
+ private: |
+ friend struct content::BrowserThread::DeleteOnThread< |
+ content::BrowserThread::DB>; |
+ friend class base::DeleteHelper<AutofillWebDataBackend>; |
+ // We have to friend RCTS<> so WIN shared-lib build is happy (crbug/112250). |
Ilya Sherman
2013/04/30 00:14:08
nit: Please prepend "http://" to the URL so that i
Cait (Slow)
2013/04/30 22:24:40
Done.
|
+ friend class base::RefCountedThreadSafe<AutofillWebDataBackend, |
+ content::BrowserThread::DeleteOnDBThread>; |
+ |
+ // Callbacks to ensure that sensitive info is destroyed if request is |
+ // cancelled. |
+ void DestroyAutofillProfileResult(const WDTypedResult* result); |
+ void DestroyAutofillCreditCardResult(const WDTypedResult* result); |
+ |
+ ObserverList<AutofillWebDataServiceObserverOnDBThread> db_observer_list_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(AutofillWebDataBackend); |
+}; |
+ |
+} // namespace autofill |
+ |
+#endif // COMPONENTS_AUTOFILL_BROWSER_WEBDATA_AUTOFILL_WEBDATA_BACKEND_H_ |
Ilya Sherman
2013/04/30 00:14:08
Any chance you could convince the source control t
Cait (Slow)
2013/04/30 22:24:40
Done.
|