OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/values.h" | 5 #include "base/values.h" |
6 #include "chrome/browser/content_settings/host_content_settings_map.h" | 6 #include "chrome/browser/content_settings/cookie_settings.h" |
7 #include "chrome/browser/extensions/extension_special_storage_policy.h" | 7 #include "chrome/browser/extensions/extension_special_storage_policy.h" |
8 #include "chrome/common/content_settings.h" | 8 #include "chrome/common/content_settings.h" |
9 #include "chrome/common/content_settings_types.h" | 9 #include "chrome/common/content_settings_types.h" |
10 #include "chrome/common/extensions/extension.h" | 10 #include "chrome/common/extensions/extension.h" |
11 #include "chrome/common/extensions/extension_constants.h" | 11 #include "chrome/common/extensions/extension_constants.h" |
12 #include "chrome/test/base/testing_profile.h" | 12 #include "chrome/test/base/testing_profile.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 namespace keys = extension_manifest_keys; | 15 namespace keys = extension_manifest_keys; |
16 | 16 |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 EXPECT_FALSE(policy->IsStorageProtected(GURL("http://explicit/"))); | 213 EXPECT_FALSE(policy->IsStorageProtected(GURL("http://explicit/"))); |
214 EXPECT_FALSE(policy->IsStorageProtected(GURL("http://foo.wildcards/"))); | 214 EXPECT_FALSE(policy->IsStorageProtected(GURL("http://foo.wildcards/"))); |
215 EXPECT_FALSE(policy->IsStorageProtected(GURL("https://bar.wildcards/"))); | 215 EXPECT_FALSE(policy->IsStorageProtected(GURL("https://bar.wildcards/"))); |
216 } | 216 } |
217 | 217 |
218 TEST_F(ExtensionSpecialStoragePolicyTest, HasSessionOnlyOrigins) { | 218 TEST_F(ExtensionSpecialStoragePolicyTest, HasSessionOnlyOrigins) { |
219 MessageLoop message_loop; | 219 MessageLoop message_loop; |
220 BrowserThread ui_thread(BrowserThread::UI, &message_loop); | 220 BrowserThread ui_thread(BrowserThread::UI, &message_loop); |
221 | 221 |
222 TestingProfile profile; | 222 TestingProfile profile; |
223 HostContentSettingsMap* host_content_settings_map = | 223 CookieSettings* cookie_settings = CookieSettings::GetForProfile(&profile); |
224 profile.GetHostContentSettingsMap(); | |
225 scoped_refptr<ExtensionSpecialStoragePolicy> policy( | 224 scoped_refptr<ExtensionSpecialStoragePolicy> policy( |
226 new ExtensionSpecialStoragePolicy(host_content_settings_map)); | 225 new ExtensionSpecialStoragePolicy(cookie_settings)); |
227 | 226 |
228 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); | 227 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); |
229 | 228 |
230 // The default setting can be session-only. | 229 // The default setting can be session-only. |
231 host_content_settings_map->SetDefaultContentSetting( | 230 cookie_settings->SetDefaultCookieSetting(CONTENT_SETTING_SESSION_ONLY); |
232 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_SESSION_ONLY); | |
233 EXPECT_TRUE(policy->HasSessionOnlyOrigins()); | 231 EXPECT_TRUE(policy->HasSessionOnlyOrigins()); |
234 | 232 |
235 host_content_settings_map->SetDefaultContentSetting( | 233 cookie_settings->SetDefaultCookieSetting(CONTENT_SETTING_ALLOW); |
236 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_ALLOW); | |
237 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); | 234 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); |
238 | 235 |
239 // Or the session-onlyness can affect individual origins. | 236 // Or the session-onlyness can affect individual origins. |
240 ContentSettingsPattern pattern = | 237 ContentSettingsPattern pattern = |
241 ContentSettingsPattern::FromString("pattern.com"); | 238 ContentSettingsPattern::FromString("pattern.com"); |
242 | 239 |
243 host_content_settings_map->SetContentSetting( | 240 cookie_settings->SetCookieSetting(pattern, |
244 pattern, ContentSettingsPattern::Wildcard(), | 241 ContentSettingsPattern::Wildcard(), |
245 CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_SESSION_ONLY); | 242 CONTENT_SETTING_SESSION_ONLY); |
246 | 243 |
247 EXPECT_TRUE(policy->HasSessionOnlyOrigins()); | 244 EXPECT_TRUE(policy->HasSessionOnlyOrigins()); |
248 | 245 |
249 // Clearing an origin-spesific rule. | 246 // Clearing an origin-spesific rule. |
250 host_content_settings_map->SetContentSetting( | 247 cookie_settings->ResetCookieSetting(pattern, |
251 pattern, ContentSettingsPattern::Wildcard(), | 248 ContentSettingsPattern::Wildcard()); |
252 CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_DEFAULT); | |
253 | 249 |
254 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); | 250 EXPECT_FALSE(policy->HasSessionOnlyOrigins()); |
255 } | 251 } |
OLD | NEW |