| Index: chrome/browser/content_settings/cookie_settings_unittest.cc
|
| diff --git a/chrome/browser/content_settings/cookie_settings_unittest.cc b/chrome/browser/content_settings/cookie_settings_unittest.cc
|
| index 30b547f7e00d28c04e3add8ccbf9f10dcae3b8fa..60e5a94fb091bba656d64c5b2c0eabec04189f93 100644
|
| --- a/chrome/browser/content_settings/cookie_settings_unittest.cc
|
| +++ b/chrome/browser/content_settings/cookie_settings_unittest.cc
|
| @@ -281,4 +281,69 @@ TEST_F(CookieSettingsTest, ExtensionsThirdParty) {
|
| kBlockedSite, kExtensionURL));
|
| }
|
|
|
| +TEST_F(CookieSettingsTest, IncognitoBehaviorOfBlockingRules) {
|
| + scoped_refptr<CookieSettings> incognito_settings =
|
| + CookieSettings::Factory::GetForProfile(profile_.GetOffTheRecordProfile());
|
| +
|
| + // Modify the regular cookie settings after the incognito cookie settings have
|
| + // been instantiated.
|
| + cookie_settings_->SetCookieSetting(
|
| + ContentSettingsPattern::FromURL(kBlockedSite),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTING_BLOCK);
|
| +
|
| + // The modification should apply to the regular profile and incognito profile.
|
| + EXPECT_FALSE(cookie_settings_->IsReadingCookieAllowed(
|
| + kBlockedSite, kBlockedSite));
|
| + EXPECT_FALSE(incognito_settings->IsReadingCookieAllowed(
|
| + kBlockedSite, kBlockedSite));
|
| +
|
| + // Modify an incognito cookie setting and check that this does not propagate
|
| + // into regular mode.
|
| + incognito_settings->SetCookieSetting(
|
| + ContentSettingsPattern::FromURL(kHttpsSite),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTING_BLOCK);
|
| + EXPECT_TRUE(cookie_settings_->IsReadingCookieAllowed(
|
| + kHttpsSite, kHttpsSite));
|
| + EXPECT_FALSE(incognito_settings->IsReadingCookieAllowed(
|
| + kHttpsSite, kHttpsSite));
|
| +}
|
| +
|
| +TEST_F(CookieSettingsTest, IncognitoBehaviorOfBlockingEverything) {
|
| + scoped_refptr<CookieSettings> incognito_settings =
|
| + CookieSettings::Factory::GetForProfile(profile_.GetOffTheRecordProfile());
|
| +
|
| + // Apply the general blocking to the regular profile.
|
| + cookie_settings_->SetDefaultCookieSetting(CONTENT_SETTING_BLOCK);
|
| +
|
| + // It should be effective for regular and incognito session.
|
| + EXPECT_FALSE(cookie_settings_->IsReadingCookieAllowed(
|
| + kFirstPartySite, kFirstPartySite));
|
| + EXPECT_FALSE(incognito_settings->IsReadingCookieAllowed(
|
| + kFirstPartySite, kFirstPartySite));
|
| +
|
| + // A whitelisted item set in incognito mode should only apply to incognito
|
| + // mode.
|
| + incognito_settings->SetCookieSetting(
|
| + ContentSettingsPattern::FromURL(kAllowedSite),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTING_ALLOW);
|
| + EXPECT_TRUE(incognito_settings->IsReadingCookieAllowed(
|
| + kAllowedSite, kAllowedSite));
|
| + EXPECT_FALSE(cookie_settings_->IsReadingCookieAllowed(
|
| + kAllowedSite, kAllowedSite));
|
| +
|
| + // A whitelisted item set in regular mode should apply to regular and
|
| + // incognito mode.
|
| + cookie_settings_->SetCookieSetting(
|
| + ContentSettingsPattern::FromURL(kHttpsSite),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTING_ALLOW);
|
| + EXPECT_TRUE(incognito_settings->IsReadingCookieAllowed(
|
| + kHttpsSite, kHttpsSite));
|
| + EXPECT_TRUE(cookie_settings_->IsReadingCookieAllowed(
|
| + kHttpsSite, kHttpsSite));
|
| +}
|
| +
|
| } // namespace
|
|
|