| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/logging.h" | 5 #include "base/logging.h" | 
| 6 #include "base/prefs/pref_registry.h" | 6 #include "base/prefs/pref_registry.h" | 
| 7 #include "base/values.h" | 7 #include "base/values.h" | 
| 8 #include "components/content_settings/core/browser/website_settings_info.h" | 8 #include "components/content_settings/core/browser/website_settings_info.h" | 
| 9 #include "components/content_settings/core/browser/website_settings_registry.h" | 9 #include "components/content_settings/core/browser/website_settings_registry.h" | 
| 10 #include "components/content_settings/core/common/content_settings.h" | 10 #include "components/content_settings/core/common/content_settings.h" | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
| 39   const WebsiteSettingsInfo* info = registry()->GetByName("app-banner"); | 39   const WebsiteSettingsInfo* info = registry()->GetByName("app-banner"); | 
| 40   ASSERT_TRUE(info); | 40   ASSERT_TRUE(info); | 
| 41   EXPECT_EQ(CONTENT_SETTINGS_TYPE_APP_BANNER, info->type()); | 41   EXPECT_EQ(CONTENT_SETTINGS_TYPE_APP_BANNER, info->type()); | 
| 42   EXPECT_EQ("app-banner", info->name()); | 42   EXPECT_EQ("app-banner", info->name()); | 
| 43   EXPECT_EQ(registry()->Get(CONTENT_SETTINGS_TYPE_APP_BANNER), info); | 43   EXPECT_EQ(registry()->Get(CONTENT_SETTINGS_TYPE_APP_BANNER), info); | 
| 44 | 44 | 
| 45   // Register a new setting. | 45   // Register a new setting. | 
| 46   registry()->Register(static_cast<ContentSettingsType>(10), "test", nullptr, | 46   registry()->Register(static_cast<ContentSettingsType>(10), "test", nullptr, | 
| 47                        WebsiteSettingsInfo::UNSYNCABLE, | 47                        WebsiteSettingsInfo::UNSYNCABLE, | 
| 48                        WebsiteSettingsInfo::LOSSY, | 48                        WebsiteSettingsInfo::LOSSY, | 
| 49                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 49                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, | 
|  | 50                        WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); | 
| 50   info = registry()->GetByName("test"); | 51   info = registry()->GetByName("test"); | 
| 51   ASSERT_TRUE(info); | 52   ASSERT_TRUE(info); | 
| 52   EXPECT_EQ(10, info->type()); | 53   EXPECT_EQ(10, info->type()); | 
| 53   EXPECT_EQ("test", info->name()); | 54   EXPECT_EQ("test", info->name()); | 
| 54   EXPECT_EQ(registry()->Get(static_cast<ContentSettingsType>(10)), info); | 55   EXPECT_EQ(registry()->Get(static_cast<ContentSettingsType>(10)), info); | 
| 55 } | 56 } | 
| 56 | 57 | 
| 57 TEST_F(WebsiteSettingsRegistryTest, Properties) { | 58 TEST_F(WebsiteSettingsRegistryTest, Properties) { | 
| 58   // "app-banner" should be registered. | 59   // "app-banner" should be registered. | 
| 59   const WebsiteSettingsInfo* info = | 60   const WebsiteSettingsInfo* info = | 
| 60       registry()->Get(CONTENT_SETTINGS_TYPE_APP_BANNER); | 61       registry()->Get(CONTENT_SETTINGS_TYPE_APP_BANNER); | 
| 61   ASSERT_TRUE(info); | 62   ASSERT_TRUE(info); | 
| 62   EXPECT_EQ("profile.content_settings.exceptions.app_banner", | 63   EXPECT_EQ("profile.content_settings.exceptions.app_banner", | 
| 63             info->pref_name()); | 64             info->pref_name()); | 
| 64   EXPECT_EQ("profile.default_content_setting_values.app_banner", | 65   EXPECT_EQ("profile.default_content_setting_values.app_banner", | 
| 65             info->default_value_pref_name()); | 66             info->default_value_pref_name()); | 
| 66   ASSERT_FALSE(info->initial_default_value()); | 67   ASSERT_FALSE(info->initial_default_value()); | 
| 67   EXPECT_EQ(PrefRegistry::LOSSY_PREF, info->GetPrefRegistrationFlags()); | 68   EXPECT_EQ(PrefRegistry::LOSSY_PREF, info->GetPrefRegistrationFlags()); | 
| 68 | 69 | 
| 69   // Register a new setting. | 70   // Register a new setting. | 
| 70   registry()->Register(static_cast<ContentSettingsType>(10), "test", | 71   registry()->Register(static_cast<ContentSettingsType>(10), "test", | 
| 71                        make_scoped_ptr(new base::FundamentalValue(999)), | 72                        make_scoped_ptr(new base::FundamentalValue(999)), | 
| 72                        WebsiteSettingsInfo::SYNCABLE, | 73                        WebsiteSettingsInfo::SYNCABLE, | 
| 73                        WebsiteSettingsInfo::LOSSY, | 74                        WebsiteSettingsInfo::LOSSY, | 
| 74                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 75                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, | 
|  | 76                        WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); | 
| 75   info = registry()->Get(static_cast<ContentSettingsType>(10)); | 77   info = registry()->Get(static_cast<ContentSettingsType>(10)); | 
| 76   ASSERT_TRUE(info); | 78   ASSERT_TRUE(info); | 
| 77   EXPECT_EQ("profile.content_settings.exceptions.test", info->pref_name()); | 79   EXPECT_EQ("profile.content_settings.exceptions.test", info->pref_name()); | 
| 78   EXPECT_EQ("profile.default_content_setting_values.test", | 80   EXPECT_EQ("profile.default_content_setting_values.test", | 
| 79             info->default_value_pref_name()); | 81             info->default_value_pref_name()); | 
| 80   int setting; | 82   int setting; | 
| 81   ASSERT_TRUE(info->initial_default_value()->GetAsInteger(&setting)); | 83   ASSERT_TRUE(info->initial_default_value()->GetAsInteger(&setting)); | 
| 82   EXPECT_EQ(999, setting); | 84   EXPECT_EQ(999, setting); | 
| 83   EXPECT_EQ(PrefRegistry::LOSSY_PREF | | 85   EXPECT_EQ(PrefRegistry::LOSSY_PREF | | 
| 84                 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | 86                 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | 
| 85             info->GetPrefRegistrationFlags()); | 87             info->GetPrefRegistrationFlags()); | 
| 86   EXPECT_EQ(WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, | 88   EXPECT_EQ(WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, | 
| 87             info->scoping_type()); | 89             info->scoping_type()); | 
|  | 90   EXPECT_EQ(WebsiteSettingsInfo::INHERIT_IN_INCOGNITO, | 
|  | 91             info->incognito_behavior()); | 
| 88 } | 92 } | 
| 89 | 93 | 
| 90 TEST_F(WebsiteSettingsRegistryTest, Iteration) { | 94 TEST_F(WebsiteSettingsRegistryTest, Iteration) { | 
| 91   registry()->Register(static_cast<ContentSettingsType>(10), "test", | 95   registry()->Register(static_cast<ContentSettingsType>(10), "test", | 
| 92                        make_scoped_ptr(new base::FundamentalValue(999)), | 96                        make_scoped_ptr(new base::FundamentalValue(999)), | 
| 93                        WebsiteSettingsInfo::SYNCABLE, | 97                        WebsiteSettingsInfo::SYNCABLE, | 
| 94                        WebsiteSettingsInfo::LOSSY, | 98                        WebsiteSettingsInfo::LOSSY, | 
| 95                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 99                        WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, | 
|  | 100                        WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); | 
| 96 | 101 | 
| 97   bool found = false; | 102   bool found = false; | 
| 98   for (const WebsiteSettingsInfo* info : *registry()) { | 103   for (const WebsiteSettingsInfo* info : *registry()) { | 
| 99     EXPECT_EQ(registry()->Get(info->type()), info); | 104     EXPECT_EQ(registry()->Get(info->type()), info); | 
| 100     if (info->type() == 10) { | 105     if (info->type() == 10) { | 
| 101       EXPECT_FALSE(found); | 106       EXPECT_FALSE(found); | 
| 102       found = true; | 107       found = true; | 
| 103     } | 108     } | 
| 104   } | 109   } | 
| 105 | 110 | 
| 106   EXPECT_TRUE(found); | 111   EXPECT_TRUE(found); | 
| 107 } | 112 } | 
| 108 | 113 | 
| 109 }  // namespace content_settings | 114 }  // namespace content_settings | 
| OLD | NEW | 
|---|