| Index: chrome/browser/webdata/web_data_service.h
|
| diff --git a/chrome/browser/webdata/web_data_service.h b/chrome/browser/webdata/web_data_service.h
|
| index 98c5d0a567adb688e779b436feac5e21ce7ba797..f40ad0042191cdf55bbed4a0f6afd697284241d1 100644
|
| --- a/chrome/browser/webdata/web_data_service.h
|
| +++ b/chrome/browser/webdata/web_data_service.h
|
| @@ -20,6 +20,7 @@
|
|
|
| class AutofillChange;
|
| class AutofillProfile;
|
| +class AutofillProfileSyncableService;
|
| class CreditCard;
|
| class GURL;
|
| #if defined(OS_WIN)
|
| @@ -512,6 +513,12 @@ class WebDataService
|
| const base::Time& delete_begin,
|
| const base::Time& delete_end);
|
|
|
| + // TODO(georgey): Add support for autocomplete as well: http://crbug.com/95759
|
| + // Returns the syncable service for Autofill addresses and credit cards stored
|
| + // in this table. The returned service is owned by |this| object.
|
| + virtual AutofillProfileSyncableService*
|
| + GetAutofillProfileSyncableService() const;
|
| +
|
| // Testing
|
| #ifdef UNIT_TEST
|
| void set_failed_init(bool value) { failed_init_ = value; }
|
| @@ -553,12 +560,18 @@ class WebDataService
|
| // Initialize the database, if it hasn't already been initialized.
|
| void InitializeDatabaseIfNecessary();
|
|
|
| + // Initialize any syncable services.
|
| + void InitializeSyncableServices();
|
| +
|
| // The notification method.
|
| void NotifyDatabaseLoadedOnUIThread();
|
|
|
| // Commit any pending transaction and deletes the database.
|
| void ShutdownDatabase();
|
|
|
| + // Deletes the syncable services.
|
| + void ShutdownSyncableServices();
|
| +
|
| // Commit the current transaction and creates a new one.
|
| void Commit();
|
|
|
| @@ -664,9 +677,17 @@ class WebDataService
|
| // The path with which to initialize the database.
|
| FilePath path_;
|
|
|
| - // Our database.
|
| + // Our database. We own the |db_|, but don't use a |scoped_ptr| because the
|
| + // |db_| lifetime must be managed on the database thread.
|
| WebDatabase* db_;
|
|
|
| + // Syncable services for the database data. We own the services, but don't
|
| + // use |scoped_ptr|s because the lifetimes must be managed on the database
|
| + // thread.
|
| + // Currently only Autofill profiles (and credit cards) use the new Sync API,
|
| + // but all the database data should migrate to this API over time.
|
| + AutofillProfileSyncableService* autofill_profile_syncable_service_;
|
| +
|
| // Whether the database failed to initialize. We use this to avoid
|
| // continually trying to reinit.
|
| bool failed_init_;
|
|
|