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

Unified Diff: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc

Issue 7088017: Split incognito extension content settings in session-only and persistent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review 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
Index: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
index c3a92beec65a09f152b20991ef152df6f6271a0a..a73ec01971b67958d0ab998ec7d051cbee8e2a6b 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
@@ -6,11 +6,12 @@
#include "base/auto_reset.h"
#include "base/command_line.h"
-#include "chrome/browser/content_settings/stub_settings_observer.h"
+#include "chrome/browser/content_settings/mock_settings_observer.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/prefs/default_pref_store.h"
#include "chrome/browser/prefs/overlay_persistent_pref_store.h"
#include "chrome/browser/prefs/pref_service.h"
+#include "chrome/browser/prefs/pref_service_mock_builder.h"
#include "chrome/browser/prefs/testing_pref_store.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
@@ -22,24 +23,7 @@
#include "googleurl/src/gurl.h"
#include "testing/gtest/include/gtest/gtest.h"
-namespace {
-class ContentSettingsPrefService : public PrefService {
- public:
- ContentSettingsPrefService(PrefStore* managed_platform_prefs,
- PrefStore* managed_cloud_prefs,
- PrefStore* extension_prefs,
- PrefStore* command_line_prefs,
- PersistentPrefStore* user_prefs,
- PrefStore* recommended_platform_prefs,
- PrefStore* recommended_cloud_prefs,
- DefaultPrefStore* default_store)
- : PrefService(
- managed_platform_prefs, managed_cloud_prefs, extension_prefs,
- command_line_prefs, user_prefs, recommended_platform_prefs,
- recommended_cloud_prefs, default_store, false) {}
- virtual ~ContentSettingsPrefService() {}
-};
-}
+using ::testing::_;
namespace content_settings {
@@ -76,14 +60,20 @@ TEST_F(PrefDefaultProviderTest, DefaultValues) {
TEST_F(PrefDefaultProviderTest, Observer) {
TestingProfile profile;
PrefDefaultProvider provider(&profile);
- StubSettingsObserver observer;
-
+ MockSettingsObserver observer;
+
+ EXPECT_CALL(observer,
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(),
+ CONTENT_SETTINGS_TYPE_IMAGES, false,
+ _, true));
+ // Expect a second call because the PrefDefaultProvider in the TestingProfile
+ // also observes the default content settings preference.
+ EXPECT_CALL(observer,
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(),
+ CONTENT_SETTINGS_TYPE_DEFAULT, true,
+ _, true));
provider.UpdateDefaultSetting(
CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
- EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier);
- EXPECT_TRUE(observer.last_update_all);
- EXPECT_FALSE(observer.last_update_all_types);
- EXPECT_EQ(1, observer.counter);
}
TEST_F(PrefDefaultProviderTest, ObserveDefaultPref) {
@@ -176,54 +166,44 @@ TEST_F(PrefProviderTest, Observer) {
profile.GetHostContentSettingsMap();
Profile* p = &profile;
PrefProvider pref_content_settings_provider(p);
- StubSettingsObserver observer;
+ MockSettingsObserver observer;
ContentSettingsPattern pattern =
ContentSettingsPattern::FromString("[*.]example.com");
+ // Expect 2 calls: One from the update and one from canonicalization.
+ EXPECT_CALL(observer,
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(),
+ CONTENT_SETTINGS_TYPE_IMAGES, false,
+ pattern, false));
+ EXPECT_CALL(observer,
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(),
+ CONTENT_SETTINGS_TYPE_DEFAULT, true,
+ _, true));
pref_content_settings_provider.SetContentSetting(
pattern,
pattern,
CONTENT_SETTINGS_TYPE_IMAGES,
"",
CONTENT_SETTING_ALLOW);
- EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier);
- EXPECT_EQ(pattern, observer.last_pattern);
- EXPECT_FALSE(observer.last_update_all);
- EXPECT_FALSE(observer.last_update_all_types);
- // Expect 2 calls: One from the update and one from canonicalization.
- EXPECT_EQ(2, observer.counter);
}
// Test for regression in which the PrefProvider modified the user pref store
// of the OTR unintentionally: http://crbug.com/74466.
TEST_F(PrefProviderTest, Incognito) {
- DefaultPrefStore* default_prefs = new DefaultPrefStore();
PersistentPrefStore* user_prefs = new TestingPrefStore();
OverlayPersistentPrefStore* otr_user_prefs =
new OverlayPersistentPrefStore(user_prefs);
- PrefService* regular_prefs = new ContentSettingsPrefService(
- NULL, // managed_platform_prefs
- NULL, // managed_cloud_prefs
- NULL, // extension_prefs
- NULL, // command_line_prefs
- user_prefs,
- NULL, // recommended_platform_prefs,
- NULL, // recommended_cloud_prefs,
- default_prefs);
+ PrefServiceMockBuilder builder;
+ PrefService* regular_prefs = builder.WithUserPrefs(user_prefs).Create();
Profile::RegisterUserPrefs(regular_prefs);
browser::RegisterUserPrefs(regular_prefs);
- PrefService* otr_prefs = new ContentSettingsPrefService(
- NULL, // managed_platform_prefs
- NULL, // managed_cloud_prefs
- NULL, // extension_prefs
- NULL, // command_line_prefs
- otr_user_prefs,
- NULL, // recommended_platform_prefs,
- NULL, // recommended_cloud_prefs,
- default_prefs);
+ PrefService* otr_prefs = builder.WithUserPrefs(otr_user_prefs).Create();
+
+ Profile::RegisterUserPrefs(otr_prefs);
+ browser::RegisterUserPrefs(otr_prefs);
TestingProfile profile;
TestingProfile* otr_profile = new TestingProfile;

Powered by Google App Engine
This is Rietveld 408576698