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

Unified Diff: chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc

Issue 108643002: ABANDONED: Remove Chrome dependencies from TestExtensionPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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/browser/extensions/api/preference/preference_api_prefs_unittest.cc
diff --git a/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc b/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
index 4f266066857640a94c8dbaca793af1a8c8d20b12..d6fcffc902c393617796a74467f52261075e190a 100644
--- a/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
+++ b/chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc
@@ -9,8 +9,11 @@
#include "base/prefs/mock_pref_change_callback.h"
#include "base/values.h"
#include "chrome/browser/extensions/api/preference/preference_api.h"
+#include "chrome/browser/extensions/extension_pref_store.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/extensions/extension_prefs_unittest.h"
+#include "chrome/browser/prefs/pref_service_mock_factory.h"
+#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/test/base/testing_profile.h"
#include "components/user_prefs/pref_registry_syncable.h"
#include "extensions/common/extension.h"
@@ -81,11 +84,14 @@ class ExtensionControlledPrefsTest : public PrefsPrepopulatedTestBase {
void EnsureExtensionInstalled(Extension* extension);
void EnsureExtensionUninstalled(const std::string& extension_id);
+ // Creates a new incognito PrefService from |test_extension_prefs_|.
+ scoped_ptr<PrefService> CreateIncognitoPrefService();
+
TestPreferenceAPI test_preference_api_;
};
ExtensionControlledPrefsTest::ExtensionControlledPrefsTest()
- : PrefsPrepopulatedTestBase(),
+ : PrefsPrepopulatedTestBase(new PrefServiceMockFactory),
test_preference_api_(&prefs_) {
}
@@ -174,6 +180,16 @@ void ExtensionControlledPrefsTest::EnsureExtensionUninstalled(
prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false);
}
+scoped_ptr<PrefService>
+ExtensionControlledPrefsTest::CreateIncognitoPrefService() {
+ // This downcast is safe due to the PrefServiceMockFactory that was passed to
+ // TestExtensionPrefs by way of PrefsPrepopulatedTestBase.
+ PrefServiceSyncable* pref_service =
+ static_cast<PrefServiceSyncable*>(prefs_.pref_service());
+ return scoped_ptr<PrefService>(pref_service->CreateIncognitoPrefService(
+ new ExtensionPrefStore(prefs_.extension_pref_value_map(), true))).Pass();
+}
+
class ControlledPrefsInstallOneExtension
: public ExtensionControlledPrefsTest {
virtual void Initialize() OVERRIDE {
@@ -198,7 +214,7 @@ class ControlledPrefsInstallIncognitoPersistent
extension1(), kPref1, new base::StringValue("val1"));
InstallExtensionControlledPrefIncognito(
extension1(), kPref1, new base::StringValue("val2"));
- scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ scoped_ptr<PrefService> incog_prefs(CreateIncognitoPrefService());
std::string actual = incog_prefs->GetString(kPref1);
EXPECT_EQ("val2", actual);
}
@@ -208,7 +224,7 @@ class ControlledPrefsInstallIncognitoPersistent
std::string actual = prefs()->pref_service()->GetString(kPref1);
EXPECT_EQ("val1", actual);
// Incognito pref service shall see incognito values.
- scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ scoped_ptr<PrefService> incog_prefs(CreateIncognitoPrefService());
actual = incog_prefs->GetString(kPref1);
EXPECT_EQ("val2", actual);
}
@@ -227,7 +243,7 @@ class ControlledPrefsInstallIncognitoSessionOnly
extension1(), kPref1, new base::StringValue("val1"));
InstallExtensionControlledPrefIncognitoSessionOnly(
extension1(), kPref1, new base::StringValue("val2"));
- scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ scoped_ptr<PrefService> incog_prefs(CreateIncognitoPrefService());
std::string actual = incog_prefs->GetString(kPref1);
EXPECT_EQ("val2", actual);
}
@@ -238,7 +254,7 @@ class ControlledPrefsInstallIncognitoSessionOnly
// 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());
+ scoped_ptr<PrefService> incog_prefs(CreateIncognitoPrefService());
actual = incog_prefs->GetString(kPref1);
if (iteration_ == 0) {
EXPECT_EQ("val2", actual);
@@ -296,7 +312,7 @@ class ControlledPrefsNotifyWhenNeeded : public ExtensionControlledPrefsTest {
registrar.Add(kPref1, observer.GetCallback());
MockPrefChangeCallback incognito_observer(prefs()->pref_service());
- scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
+ scoped_ptr<PrefService> incog_prefs(CreateIncognitoPrefService());
PrefChangeRegistrar incognito_registrar;
incognito_registrar.Init(incog_prefs.get());
incognito_registrar.Add(kPref1, incognito_observer.GetCallback());

Powered by Google App Engine
This is Rietveld 408576698