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

Unified Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 7067040: Enable incognito_session_only preferences (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with ToT Created 9 years, 7 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
« no previous file with comments | « chrome/browser/extensions/extension_prefs_scope.h ('k') | chrome/browser/profiles/profile_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_prefs_unittest.cc
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index f386957fca8133a02ede2c5b724324908367e983..d2686faafb9af330cbff6fbb75731f77b696eba0 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -709,6 +709,16 @@ class ExtensionPrefsPreferencesBase : public ExtensionPrefsTest {
kIncognitoPersistent, val);
}
+ void InstallExtControlledPrefIncognitoSessionOnly(
+ Extension *ext,
+ const std::string& key,
+ Value* val) {
+ using namespace extension_prefs_scope;
+ EnsureExtensionInstalled(ext);
+ prefs()->SetExtensionControlledPref(ext->id(), key,
+ kIncognitoSessionOnly, val);
+ }
+
void InstallExtension(Extension *ext) {
EnsureExtensionInstalled(ext);
}
@@ -767,7 +777,7 @@ class ExtensionPrefsInstallOneExtension
TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {}
// Check that we do not forget persistent incognito values after a reload.
-class ExtensionPrefsInstallIncognito
+class ExtensionPrefsInstallIncognitoPersistent
: public ExtensionPrefsPreferencesBase {
public:
virtual void Initialize() {
@@ -788,7 +798,43 @@ class ExtensionPrefsInstallIncognito
EXPECT_EQ("val2", actual);
}
};
-TEST_F(ExtensionPrefsInstallIncognito, ExtensionPrefsInstallOneExtension) {}
+TEST_F(ExtensionPrefsInstallIncognitoPersistent,
+ ExtensionPrefsInstallOneExtension) {}
+
+// Check that we forget 'session only' incognito values after a reload.
+class ExtensionPrefsInstallIncognitoSessionOnly
+ : public ExtensionPrefsPreferencesBase {
+ public:
+ ExtensionPrefsInstallIncognitoSessionOnly() : iteration_(0) {}
+
+ virtual void Initialize() {
+ InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
+ InstallExtControlledPrefIncognitoSessionOnly(
+ ext1_, kPref1, Value::CreateStringValue("val2"));
+ scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ std::string actual = incog_prefs->GetString(kPref1);
+ EXPECT_EQ("val2", actual);
+ }
+ virtual void Verify() {
+ // Main pref service shall see only non-incognito settings.
+ std::string actual = prefs()->pref_service()->GetString(kPref1);
+ EXPECT_EQ("val1", actual);
+ // Incognito pref service shall see session-only incognito values only
+ // during first run. Once the pref service was reloaded, all values shall be
+ // discarded.
+ scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ actual = incog_prefs->GetString(kPref1);
+ if (iteration_ == 0) {
+ EXPECT_EQ("val2", actual);
+ } else {
+ EXPECT_EQ("val1", actual);
+ }
+ ++iteration_;
+ }
+ int iteration_;
+};
+TEST_F(ExtensionPrefsInstallIncognitoSessionOnly,
+ ExtensionPrefsInstallOneExtension) {}
class ExtensionPrefsUninstallExtension
: public ExtensionPrefsPreferencesBase {
@@ -852,7 +898,7 @@ class ExtensionPrefsNotifyWhenNeeded
Mock::VerifyAndClearExpectations(&observer);
Mock::VerifyAndClearExpectations(&incognito_observer);
- // Change only incognito value.
+ // Change only incognito persistent value.
EXPECT_CALL(observer, Observe(_, _, _)).Times(0);
EXPECT_CALL(incognito_observer, Observe(_, _, _));
InstallExtControlledPrefIncognito(ext1_, kPref1,
@@ -860,6 +906,14 @@ class ExtensionPrefsNotifyWhenNeeded
Mock::VerifyAndClearExpectations(&observer);
Mock::VerifyAndClearExpectations(&incognito_observer);
+ // Change only incognito session-only value.
+ EXPECT_CALL(observer, Observe(_, _, _)).Times(0);
+ EXPECT_CALL(incognito_observer, Observe(_, _, _));
+ InstallExtControlledPrefIncognito(ext1_, kPref1,
+ Value::CreateStringValue("chrome://newtab3"));
+ Mock::VerifyAndClearExpectations(&observer);
+ Mock::VerifyAndClearExpectations(&incognito_observer);
+
// Uninstall.
EXPECT_CALL(observer, Observe(_, _, _));
EXPECT_CALL(incognito_observer, Observe(_, _, _));
« no previous file with comments | « chrome/browser/extensions/extension_prefs_scope.h ('k') | chrome/browser/profiles/profile_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698