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_; |