| Index: chrome/browser/api/webdata/web_data_service_base.h
|
| diff --git a/chrome/browser/api/webdata/web_data_service_base.h b/chrome/browser/api/webdata/web_data_service_base.h
|
| index 1c92550067234f8b2f2b59a31321e70c12e794da..22b00b8542f7a3b6e4cfdbc26e94709b3524eda7 100644
|
| --- a/chrome/browser/api/webdata/web_data_service_base.h
|
| +++ b/chrome/browser/api/webdata/web_data_service_base.h
|
| @@ -16,6 +16,7 @@
|
|
|
| class WebDatabase;
|
| class WebDatabaseService;
|
| +class WebDatabaseTable;
|
|
|
| namespace base {
|
| class Thread;
|
| @@ -38,7 +39,14 @@ class WebDataServiceBase
|
|
|
| // |callback| will only be invoked on error, and only if
|
| // |callback.is_null()| evaluates to false.
|
| - explicit WebDataServiceBase(const ProfileErrorCallback& callback);
|
| + //
|
| + // The ownership of |wdbs| is shared, with the primary owner being the
|
| + // WebDataServiceWrapper, and secondary owners being subclasses of
|
| + // WebDataServiceBase, which receive |wdbs| upon construction. The
|
| + // WebDataServiceWrapper handles the initializing and shutting down and of
|
| + // the |wdbs| object.
|
| + WebDataServiceBase(scoped_refptr<WebDatabaseService> wdbs,
|
| + const ProfileErrorCallback& callback);
|
|
|
| // Cancel any pending request. You need to call this method if your
|
| // WebDataServiceConsumer is about to be deleted.
|
| @@ -52,8 +60,17 @@ class WebDataServiceBase
|
| // call.
|
| virtual void ShutdownOnUIThread();
|
|
|
| + // Adds the given table to the database. Passes ownership. Must be
|
| + // called for all tables before Init.
|
| + //
|
| + // TODO(joi): This method is duplicated a couple of layers deep;
|
| + // once we have a single object creating the WebDatabaseService as
|
| + // well as all the XyzWebDataService objects, we should be able to
|
| + // simplify.
|
| + void AddTable(scoped_ptr<WebDatabaseTable> table);
|
| +
|
| // Initializes the web data service.
|
| - virtual void Init(const base::FilePath& path);
|
| + virtual void Init();
|
|
|
| // Unloads the database without actually shutting down the service. This can
|
| // be used to temporarily reduce the browser process' memory footprint.
|
| @@ -82,7 +99,7 @@ class WebDataServiceBase
|
| virtual void ShutdownOnDBThread();
|
|
|
| // Our database service.
|
| - scoped_ptr<WebDatabaseService> wdbs_;
|
| + scoped_refptr<WebDatabaseService> wdbs_;
|
|
|
| // True if we've received a notification that the WebDatabase has loaded.
|
| bool db_loaded_;
|
|
|