Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Unified Diff: chrome/test/base/testing_profile.h

Issue 556173002: Ensure incognito TestingProfiles are incognito for their whole lifetime. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: respond to comments Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/base/testing_profile.h
diff --git a/chrome/test/base/testing_profile.h b/chrome/test/base/testing_profile.h
index bf55546ce92d59591fa0bbf6c208f70e475353ec..6c60f0660d57b5d3b238239d49ba89ea600cac93 100644
--- a/chrome/test/base/testing_profile.h
+++ b/chrome/test/base/testing_profile.h
@@ -97,9 +97,6 @@ class TestingProfile : public Profile {
// Sets the PrefService to be used by this profile.
void SetPrefService(scoped_ptr<PrefServiceSyncable> prefs);
- // Makes the Profile being built an incognito profile.
- void SetIncognito();
-
// Makes the Profile being built a guest profile.
void SetGuestSession();
@@ -113,6 +110,11 @@ class TestingProfile : public Profile {
// Creates the TestingProfile using previously-set settings.
scoped_ptr<TestingProfile> Build();
+ // Build an incognito profile, owned by |original_profile|. Note: unless you
+ // need to customize the Builder, or access TestingProfile member functions,
+ // you can use original_profile->GetOffTheRecordProfile().
+ TestingProfile* BuildIncognito(TestingProfile* original_profile);
+
private:
// If true, Build() has already been called.
bool build_called_;
@@ -124,7 +126,6 @@ class TestingProfile : public Profile {
#endif
base::FilePath path_;
Delegate* delegate_;
- bool incognito_;
bool guest_session_;
std::string supervised_user_id_;
scoped_ptr<policy::PolicyService> policy_service_;
@@ -154,7 +155,7 @@ class TestingProfile : public Profile {
scoped_refptr<ExtensionSpecialStoragePolicy> extension_policy,
#endif
scoped_ptr<PrefServiceSyncable> prefs,
- bool incognito,
+ TestingProfile* parent,
bool guest_session,
const std::string& supervised_user_id,
scoped_ptr<policy::PolicyService> policy_service,
@@ -209,6 +210,11 @@ class TestingProfile : public Profile {
TestingPrefServiceSyncable* GetTestingPrefService();
+ // Called on the parent of an incognito |profile|. Usually called from the
+ // constructor of an incognito TestingProfile, but can also be used by tests
+ // to provide an OffTheRecordProfileImpl instance.
+ void SetOffTheRecordProfile(scoped_ptr<Profile> profile);
+
// content::BrowserContext
virtual base::FilePath GetPath() const OVERRIDE;
virtual scoped_refptr<base::SequencedTaskRunner> GetIOTaskRunner() OVERRIDE;
@@ -250,8 +256,6 @@ class TestingProfile : public Profile {
force_incognito_ = force_incognito;
}
- virtual void SetOffTheRecordProfile(scoped_ptr<Profile> profile);
- virtual void SetOriginalProfile(Profile* profile);
virtual Profile* GetOffTheRecordProfile() OVERRIDE;
virtual void DestroyOffTheRecordProfile() OVERRIDE {}
virtual bool HasOffTheRecordProfile() OVERRIDE;
@@ -349,6 +353,10 @@ class TestingProfile : public Profile {
// Creates a TestingPrefService and associates it with the TestingProfile.
void CreateTestingPrefService();
+ // Initializes |prefs_| for an incognito profile, derived from
+ // |original_profile_|.
+ void CreateIncognitoPrefService();
+
// Creates a ProfilePolicyConnector that the ProfilePolicyConnectorFactory
// maps to this profile.
void CreateProfilePolicyConnector();
@@ -357,10 +365,9 @@ class TestingProfile : public Profile {
// request context. Currently, only the CookieMonster is hooked up.
scoped_refptr<net::URLRequestContextGetter> extensions_request_context_;
- bool incognito_;
bool force_incognito_;
scoped_ptr<Profile> incognito_profile_;
- Profile* original_profile_;
+ TestingProfile* original_profile_;
bool guest_session_;
« no previous file with comments | « chrome/browser/ui/views/bookmarks/bookmark_context_menu_unittest.cc ('k') | chrome/test/base/testing_profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698