diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-28 17:00:05 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-28 17:00:05 +0000 |
commit | 96da69d1ae43ad3feff0ac96a280d3212467f9b5 (patch) | |
tree | 3c8b83290df5b91ff21136526d3af0c540edb40c /chrome | |
parent | bdd7b6c7623a76cc51b131b1b43685c7752b5f1a (diff) | |
download | chromium_src-96da69d1ae43ad3feff0ac96a280d3212467f9b5.zip chromium_src-96da69d1ae43ad3feff0ac96a280d3212467f9b5.tar.gz chromium_src-96da69d1ae43ad3feff0ac96a280d3212467f9b5.tar.bz2 |
Retire ClearSiteDataOnExit policy.
BUG=chromium:133291
TEST=Still compiles.
Review URL: https://chromiumcodereview.appspot.com/15199006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202585 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/app/policy/policy_templates.json | 10 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_handler.cc | 65 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_handler.h | 25 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_handler_list.cc | 1 | ||||
-rw-r--r-- | chrome/browser/policy/configuration_policy_handler_unittest.cc | 53 | ||||
-rw-r--r-- | chrome/browser/policy/policy_browsertest.cc | 10 | ||||
-rw-r--r-- | chrome/test/data/policy/policy_test_cases.json | 14 |
7 files changed, 8 insertions, 170 deletions
diff --git a/chrome/app/policy/policy_templates.json b/chrome/app/policy/policy_templates.json index cbf3dfb..e03c30a 100644 --- a/chrome/app/policy/policy_templates.json +++ b/chrome/app/policy/policy_templates.json @@ -995,7 +995,7 @@ 'name': 'ClearSiteDataOnExit', 'type': 'main', 'schema': { 'type': 'boolean' }, - 'supported_on': ['chrome.*:11-', 'chrome_os:0.11-'], + 'supported_on': ['chrome.*:11-29', 'chrome_os:0.11-0.29'], 'features': { 'can_be_recommended': True, 'dynamic_refresh': True, @@ -1005,13 +1005,7 @@ 'example_value': True, 'id': 65, 'caption': '''Clear site data on browser shutdown (deprecated)''', - 'desc': '''This policy is an override for the "Clear cookies and other site data when I close my browser" content settings option that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> supported prior to version 21. - - This policy exists only for backward-compatibility and will go away in the future. The recommended way to clear site data on exit on version 21 and later is to configure the DefaultCookiesSetting policy to session-only. - - If this policy is enabled it will be translated to the appropriate policy setting for the DefaultCookiesSetting policy, setting it to session-only if the DefaultCookiesSetting policy is not configured or set to Allow. - - If this policy is disabled or left unconfigured the policy for storing site data is determined by the DefaultCookiesSetting policy.''', + 'desc': '''This policy has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 29.''', 'label': '''Clear site data on browser shutdown (deprecated)''', }, { diff --git a/chrome/browser/policy/configuration_policy_handler.cc b/chrome/browser/policy/configuration_policy_handler.cc index ebe09be..f9a3485 100644 --- a/chrome/browser/policy/configuration_policy_handler.cc +++ b/chrome/browser/policy/configuration_policy_handler.cc @@ -1392,71 +1392,6 @@ void JavascriptPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, } } -// ClearSiteDataOnExitPolicyHandler implementation ----------------------------- - -ClearSiteDataOnExitPolicyHandler::ClearSiteDataOnExitPolicyHandler() - : TypeCheckingPolicyHandler(key::kClearSiteDataOnExit, - Value::TYPE_BOOLEAN) { -} - -ClearSiteDataOnExitPolicyHandler::~ClearSiteDataOnExitPolicyHandler() { -} - -bool ClearSiteDataOnExitPolicyHandler::CheckPolicySettings( - const PolicyMap& policies, - PolicyErrorMap* errors) { - ContentSetting content_setting = CONTENT_SETTING_DEFAULT; - if (ClearSiteDataEnabled(policies) && - GetContentSetting(policies, &content_setting) && - content_setting == CONTENT_SETTING_ALLOW) { - errors->AddError(key::kDefaultCookiesSetting, - IDS_POLICY_OVERRIDDEN, - policy_name()); - } - - return TypeCheckingPolicyHandler::CheckPolicySettings(policies, errors); -} - -void ClearSiteDataOnExitPolicyHandler::ApplyPolicySettings( - const PolicyMap& policies, - PrefValueMap* prefs) { - if (ClearSiteDataEnabled(policies)) { - ContentSetting content_setting = CONTENT_SETTING_DEFAULT; - if (!GetContentSetting(policies, &content_setting) || - content_setting == CONTENT_SETTING_ALLOW) { - prefs->SetValue( - prefs::kManagedDefaultCookiesSetting, - Value::CreateIntegerValue(CONTENT_SETTING_SESSION_ONLY)); - } - } -} - -bool ClearSiteDataOnExitPolicyHandler::ClearSiteDataEnabled( - const PolicyMap& policies) { - const base::Value* value = NULL; - PolicyErrorMap errors; - bool clear_site_data = false; - - return (CheckAndGetValue(policies, &errors, &value) && - value && - value->GetAsBoolean(&clear_site_data) && - clear_site_data); -} - -// static -bool ClearSiteDataOnExitPolicyHandler::GetContentSetting( - const PolicyMap& policies, - ContentSetting* content_setting) { - const base::Value* value = policies.GetValue(key::kDefaultCookiesSetting); - int setting = CONTENT_SETTING_DEFAULT; - if (value && value->GetAsInteger(&setting)) { - *content_setting = static_cast<ContentSetting>(setting); - return true; - } - - return false; -} - // RestoreOnStartupPolicyHandler implementation -------------------------------- RestoreOnStartupPolicyHandler::RestoreOnStartupPolicyHandler() diff --git a/chrome/browser/policy/configuration_policy_handler.h b/chrome/browser/policy/configuration_policy_handler.h index 4715b04..5fce9ac 100644 --- a/chrome/browser/policy/configuration_policy_handler.h +++ b/chrome/browser/policy/configuration_policy_handler.h @@ -500,31 +500,6 @@ class JavascriptPolicyHandler : public ConfigurationPolicyHandler { DISALLOW_COPY_AND_ASSIGN(JavascriptPolicyHandler); }; -// Handles the (deprecated) ClearSiteDataOnExit policy. -// TODO(mnissler): Remove the policy eventually (http://crbug.com/133291). -class ClearSiteDataOnExitPolicyHandler : public TypeCheckingPolicyHandler { - public: - ClearSiteDataOnExitPolicyHandler(); - virtual ~ClearSiteDataOnExitPolicyHandler(); - - // ConfigurationPolicyHandler methods: - virtual bool CheckPolicySettings(const PolicyMap& policies, - PolicyErrorMap* errors) OVERRIDE; - virtual void ApplyPolicySettings(const PolicyMap& policies, - PrefValueMap* prefs) OVERRIDE; - - private: - // Checks whether the clear site data policy is enabled in |policies|. - bool ClearSiteDataEnabled(const PolicyMap& policies); - - // Checks |policies| for the cookies setting and returns it in - // |content_setting|. Returns true if the setting is found, false if not. - static bool GetContentSetting(const PolicyMap& policies, - ContentSetting* content_setting); - - DISALLOW_COPY_AND_ASSIGN(ClearSiteDataOnExitPolicyHandler); -}; - // Handles RestoreOnStartup policy. class RestoreOnStartupPolicyHandler : public TypeCheckingPolicyHandler { public: diff --git a/chrome/browser/policy/configuration_policy_handler_list.cc b/chrome/browser/policy/configuration_policy_handler_list.cc index 0a09e68..a6ae7f1 100644 --- a/chrome/browser/policy/configuration_policy_handler_list.cc +++ b/chrome/browser/policy/configuration_policy_handler_list.cc @@ -416,7 +416,6 @@ ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() { } handlers_.push_back(new AutofillPolicyHandler()); - handlers_.push_back(new ClearSiteDataOnExitPolicyHandler()); handlers_.push_back(new DefaultSearchPolicyHandler()); handlers_.push_back(new DiskCacheDirPolicyHandler()); handlers_.push_back(new FileSelectionDialogsHandler()); diff --git a/chrome/browser/policy/configuration_policy_handler_unittest.cc b/chrome/browser/policy/configuration_policy_handler_unittest.cc index 95e5256..a57f1fb 100644 --- a/chrome/browser/policy/configuration_policy_handler_unittest.cc +++ b/chrome/browser/policy/configuration_policy_handler_unittest.cc @@ -686,57 +686,4 @@ TEST(ExtensionURLPatternListPolicyHandlerTest, ApplyPolicySettings) { EXPECT_TRUE(base::Value::Equals(&list, value)); } -TEST(ClearSiteDataOnExitPolicyHandlerTest, CheckPolicySettings) { - ClearSiteDataOnExitPolicyHandler handler; - PolicyMap policy_map; - PolicyErrorMap errors; - - EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); - EXPECT_TRUE(errors.empty()); - - policy_map.Set(key::kClearSiteDataOnExit, POLICY_LEVEL_MANDATORY, - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); - errors.Clear(); - EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); - EXPECT_TRUE(errors.empty()); - - policy_map.Set(key::kDefaultCookiesSetting, POLICY_LEVEL_MANDATORY, - POLICY_SCOPE_USER, - base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); - errors.Clear(); - EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); - EXPECT_FALSE(errors.empty()); - EXPECT_FALSE(errors.GetErrors(key::kDefaultCookiesSetting).empty()); -} - -TEST(ClearSiteDataOnExitPolicyHandlerTest, ApplyPolicySettings) { - ClearSiteDataOnExitPolicyHandler handler; - PolicyMap policy_map; - PrefValueMap prefs; - const base::Value* val = NULL; - - handler.ApplyPolicySettings(policy_map, &prefs); - EXPECT_FALSE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val)); - - policy_map.Set(key::kClearSiteDataOnExit, POLICY_LEVEL_MANDATORY, - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); - prefs.Clear(); - handler.ApplyPolicySettings(policy_map, &prefs); - ASSERT_TRUE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val)); - EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_SESSION_ONLY).Equals(val)); - - policy_map.Set(key::kDefaultCookiesSetting, POLICY_LEVEL_MANDATORY, - POLICY_SCOPE_USER, - base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW)); - prefs.Clear(); - handler.ApplyPolicySettings(policy_map, &prefs); - ASSERT_TRUE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val)); - EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_SESSION_ONLY).Equals(val)); - - policy_map.Clear(); - prefs.Clear(); - handler.ApplyPolicySettings(policy_map, &prefs); - EXPECT_FALSE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val)); -} - } // namespace policy diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc index 4debe91..1f420d7 100644 --- a/chrome/browser/policy/policy_browsertest.cc +++ b/chrome/browser/policy/policy_browsertest.cc @@ -681,7 +681,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, BookmarkBarEnabled) { EXPECT_EQ(BookmarkBar::DETACHED, browser()->bookmark_bar_state()); } -IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_PRE_ClearSiteDataOnExit) { +IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_PRE_DefaultCookiesSetting) { // Verifies that cookies are deleted on shutdown. This test is split in 3 // parts because it spans 2 browser restarts. @@ -696,17 +696,17 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_PRE_ClearSiteDataOnExit) { EXPECT_EQ(kCookieValue, GetCookies(profile, url)); } -IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_ClearSiteDataOnExit) { +IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_DefaultCookiesSetting) { // Verify that the cookie persists across restarts. EXPECT_EQ(kCookieValue, GetCookies(browser()->profile(), GURL(kURL))); // Now set the policy and the cookie should be gone after another restart. PolicyMap policies; - policies.Set(key::kClearSiteDataOnExit, POLICY_LEVEL_MANDATORY, - POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); + policies.Set(key::kDefaultCookiesSetting, POLICY_LEVEL_MANDATORY, + POLICY_SCOPE_USER, base::Value::CreateIntegerValue(4)); UpdateProviderPolicy(policies); } -IN_PROC_BROWSER_TEST_F(PolicyTest, ClearSiteDataOnExit) { +IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultCookiesSetting) { // Verify that the cookie is gone. EXPECT_TRUE(GetCookies(browser()->profile(), GURL(kURL)).empty()); } diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json index 9d8bb8e..acb4b5b 100644 --- a/chrome/test/data/policy/policy_test_cases.json +++ b/chrome/test/data/policy/policy_test_cases.json @@ -415,19 +415,7 @@ }, "ClearSiteDataOnExit": { - "os": ["win", "linux", "mac", "chromeos"], - "test_policy": { "ClearSiteDataOnExit": true }, - "pref_mappings": [ - { "pref": "profile.managed_default_content_settings.cookies", - "indicator_selector": "[content-setting=cookies]", - "indicator_tests": [ - { "policy": { "ClearSiteDataOnExit": true }, - "value": "session"} - ] - } - ], - - "note": "TODO(bartfab): Flag this with can_be_recommended when http://crbug.com/106682 is fixed." + "note": "This policy is retired, see http://crbug.com/133291." }, "ProxyMode": { |