| Index: chrome/test/testing_profile.h
|
| diff --git a/chrome/test/testing_profile.h b/chrome/test/testing_profile.h
|
| index d75b7c14d2a0dd455c0c679896090be3e5d1801a..b1e466df7d9df6afaa68801665870ec82971de6e 100644
|
| --- a/chrome/test/testing_profile.h
|
| +++ b/chrome/test/testing_profile.h
|
| @@ -23,6 +23,7 @@ class CookieMonster;
|
| class AutocompleteClassifier;
|
| class BookmarkModel;
|
| class BrowserThemeProvider;
|
| +class CommandLine;
|
| class DesktopNotificationService;
|
| class FaviconService;
|
| class FindBarState;
|
| @@ -86,6 +87,14 @@ class TestingProfile : public Profile {
|
| // ownership of |theme_provider|.
|
| void UseThemeProvider(BrowserThemeProvider* theme_provider);
|
|
|
| + // Creates an ExtensionsService initialized with the testing profile and
|
| + // returns it. The profile keeps its own copy of a scoped_refptr to the
|
| + // ExtensionsService to make sure that is still alive to be notified when the
|
| + // profile is destroyed.
|
| + scoped_refptr<ExtensionsService> CreateExtensionsService(
|
| + const CommandLine* command_line,
|
| + const FilePath& install_directory);
|
| +
|
| TestingPrefService* GetTestingPrefService();
|
|
|
| virtual ProfileId GetRuntimeId() {
|
| @@ -109,7 +118,7 @@ class TestingProfile : public Profile {
|
| virtual ChromeAppCacheService* GetAppCacheService() { return NULL; }
|
| virtual webkit_database::DatabaseTracker* GetDatabaseTracker();
|
| virtual VisitedLinkMaster* GetVisitedLinkMaster() { return NULL; }
|
| - virtual ExtensionsService* GetExtensionsService() { return NULL; }
|
| + virtual ExtensionsService* GetExtensionsService();
|
| virtual UserScriptMaster* GetUserScriptMaster() { return NULL; }
|
| virtual ExtensionDevToolsManager* GetExtensionDevToolsManager() {
|
| return NULL;
|
| @@ -148,6 +157,10 @@ class TestingProfile : public Profile {
|
| virtual PasswordStore* GetPasswordStore(ServiceAccessType access) {
|
| return NULL;
|
| }
|
| + // Initialized the profile's PrefService with an explicity specified
|
| + // PrefService. Must be called before the TestingProfile.
|
| + // The profile takes ownership of |pref|.
|
| + void SetPrefService(PrefService* prefs);
|
| virtual PrefService* GetPrefs();
|
| virtual TemplateURLModel* GetTemplateURLModel() {
|
| return template_url_model_.get();
|
| @@ -263,7 +276,9 @@ class TestingProfile : public Profile {
|
|
|
| protected:
|
| base::Time start_time_;
|
| - scoped_ptr<TestingPrefService> prefs_;
|
| + scoped_ptr<PrefService> prefs_;
|
| + // ref only for right type, lifecycle is managed by prefs_
|
| + TestingPrefService* testing_prefs_;
|
|
|
| private:
|
| // Destroys favicon service if it has been created.
|
| @@ -277,6 +292,9 @@ class TestingProfile : public Profile {
|
| // from the destructor.
|
| void DestroyWebDataService();
|
|
|
| + // Creates a TestingPrefService and associates it with the TestingProfile
|
| + void CreateTestingPrefService();
|
| +
|
| // The favicon service. Only created if CreateFaviconService is invoked.
|
| scoped_refptr<FaviconService> favicon_service_;
|
|
|
| @@ -346,6 +364,10 @@ class TestingProfile : public Profile {
|
| FilePath last_selected_directory_;
|
| scoped_refptr<history::TopSites> top_sites_; // For history and thumbnails.
|
|
|
| + // For properly notifying the ExtensionsService when the profile
|
| + // is disposed.
|
| + scoped_refptr<ExtensionsService> extensions_service_;
|
| +
|
| // We use a temporary directory to store testing profile data.
|
| ScopedTempDir temp_dir_;
|
| };
|
|
|