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

Side by Side Diff: chrome/browser/content_settings/content_settings_default_provider_unittest.cc

Issue 2666093002: Remove base::FundamentalValue (Closed)
Patch Set: Rebase Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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 <memory> 5 #include <memory>
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "chrome/browser/content_settings/content_settings_mock_observer.h" 8 #include "chrome/browser/content_settings/content_settings_mock_observer.h"
9 #include "chrome/common/pref_names.h" 9 #include "chrome/common/pref_names.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
(...skipping 25 matching lines...) Expand all
36 TestingProfile profile_; 36 TestingProfile profile_;
37 DefaultProvider provider_; 37 DefaultProvider provider_;
38 }; 38 };
39 39
40 TEST_F(DefaultProviderTest, DefaultValues) { 40 TEST_F(DefaultProviderTest, DefaultValues) {
41 // Check setting defaults. 41 // Check setting defaults.
42 EXPECT_EQ(CONTENT_SETTING_ALLOW, 42 EXPECT_EQ(CONTENT_SETTING_ALLOW,
43 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 43 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
44 CONTENT_SETTINGS_TYPE_COOKIES, 44 CONTENT_SETTINGS_TYPE_COOKIES,
45 std::string(), false)); 45 std::string(), false));
46 provider_.SetWebsiteSetting( 46 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
47 ContentSettingsPattern::Wildcard(), 47 ContentSettingsPattern::Wildcard(),
48 ContentSettingsPattern::Wildcard(), 48 CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
49 CONTENT_SETTINGS_TYPE_COOKIES, 49 new base::Value(CONTENT_SETTING_BLOCK));
50 std::string(),
51 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
52 EXPECT_EQ(CONTENT_SETTING_BLOCK, 50 EXPECT_EQ(CONTENT_SETTING_BLOCK,
53 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 51 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
54 CONTENT_SETTINGS_TYPE_COOKIES, 52 CONTENT_SETTINGS_TYPE_COOKIES,
55 std::string(), false)); 53 std::string(), false));
56 54
57 EXPECT_EQ(CONTENT_SETTING_ASK, 55 EXPECT_EQ(CONTENT_SETTING_ASK,
58 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 56 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
59 CONTENT_SETTINGS_TYPE_GEOLOCATION, 57 CONTENT_SETTINGS_TYPE_GEOLOCATION,
60 std::string(), false)); 58 std::string(), false));
61 provider_.SetWebsiteSetting( 59 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
62 ContentSettingsPattern::Wildcard(), 60 ContentSettingsPattern::Wildcard(),
63 ContentSettingsPattern::Wildcard(), 61 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(),
64 CONTENT_SETTINGS_TYPE_GEOLOCATION, 62 new base::Value(CONTENT_SETTING_BLOCK));
65 std::string(),
66 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
67 EXPECT_EQ(CONTENT_SETTING_BLOCK, 63 EXPECT_EQ(CONTENT_SETTING_BLOCK,
68 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 64 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
69 CONTENT_SETTINGS_TYPE_GEOLOCATION, 65 CONTENT_SETTINGS_TYPE_GEOLOCATION,
70 std::string(), false)); 66 std::string(), false));
71 67
72 std::unique_ptr<base::Value> value(TestUtils::GetContentSettingValue( 68 std::unique_ptr<base::Value> value(TestUtils::GetContentSettingValue(
73 &provider_, GURL("http://example.com/"), GURL("http://example.com/"), 69 &provider_, GURL("http://example.com/"), GURL("http://example.com/"),
74 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, std::string(), false)); 70 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, std::string(), false));
75 EXPECT_FALSE(value.get()); 71 EXPECT_FALSE(value.get());
76 } 72 }
77 73
78 TEST_F(DefaultProviderTest, IgnoreNonDefaultSettings) { 74 TEST_F(DefaultProviderTest, IgnoreNonDefaultSettings) {
79 GURL primary_url("http://www.google.com"); 75 GURL primary_url("http://www.google.com");
80 GURL secondary_url("http://www.google.com"); 76 GURL secondary_url("http://www.google.com");
81 77
82 EXPECT_EQ(CONTENT_SETTING_ALLOW, 78 EXPECT_EQ(CONTENT_SETTING_ALLOW,
83 TestUtils::GetContentSetting(&provider_, primary_url, secondary_url, 79 TestUtils::GetContentSetting(&provider_, primary_url, secondary_url,
84 CONTENT_SETTINGS_TYPE_COOKIES, 80 CONTENT_SETTINGS_TYPE_COOKIES,
85 std::string(), false)); 81 std::string(), false));
86 std::unique_ptr<base::Value> value( 82 std::unique_ptr<base::Value> value(new base::Value(CONTENT_SETTING_BLOCK));
87 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
88 bool owned = provider_.SetWebsiteSetting( 83 bool owned = provider_.SetWebsiteSetting(
89 ContentSettingsPattern::FromURL(primary_url), 84 ContentSettingsPattern::FromURL(primary_url),
90 ContentSettingsPattern::FromURL(secondary_url), 85 ContentSettingsPattern::FromURL(secondary_url),
91 CONTENT_SETTINGS_TYPE_COOKIES, 86 CONTENT_SETTINGS_TYPE_COOKIES,
92 std::string(), 87 std::string(),
93 value.get()); 88 value.get());
94 EXPECT_FALSE(owned); 89 EXPECT_FALSE(owned);
95 EXPECT_EQ(CONTENT_SETTING_ALLOW, 90 EXPECT_EQ(CONTENT_SETTING_ALLOW,
96 TestUtils::GetContentSetting(&provider_, primary_url, secondary_url, 91 TestUtils::GetContentSetting(&provider_, primary_url, secondary_url,
97 CONTENT_SETTINGS_TYPE_COOKIES, 92 CONTENT_SETTINGS_TYPE_COOKIES,
98 std::string(), false)); 93 std::string(), false));
99 } 94 }
100 95
101 TEST_F(DefaultProviderTest, Observer) { 96 TEST_F(DefaultProviderTest, Observer) {
102 MockObserver mock_observer; 97 MockObserver mock_observer;
103 EXPECT_CALL(mock_observer, 98 EXPECT_CALL(mock_observer,
104 OnContentSettingChanged( 99 OnContentSettingChanged(
105 _, _, CONTENT_SETTINGS_TYPE_COOKIES, "")); 100 _, _, CONTENT_SETTINGS_TYPE_COOKIES, ""));
106 provider_.AddObserver(&mock_observer); 101 provider_.AddObserver(&mock_observer);
107 provider_.SetWebsiteSetting( 102 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
108 ContentSettingsPattern::Wildcard(), 103 ContentSettingsPattern::Wildcard(),
109 ContentSettingsPattern::Wildcard(), 104 CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
110 CONTENT_SETTINGS_TYPE_COOKIES, 105 new base::Value(CONTENT_SETTING_BLOCK));
111 std::string(),
112 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
113 106
114 EXPECT_CALL(mock_observer, 107 EXPECT_CALL(mock_observer,
115 OnContentSettingChanged( 108 OnContentSettingChanged(
116 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, "")); 109 _, _, CONTENT_SETTINGS_TYPE_GEOLOCATION, ""));
117 provider_.SetWebsiteSetting( 110 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
118 ContentSettingsPattern::Wildcard(), 111 ContentSettingsPattern::Wildcard(),
119 ContentSettingsPattern::Wildcard(), 112 CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(),
120 CONTENT_SETTINGS_TYPE_GEOLOCATION, 113 new base::Value(CONTENT_SETTING_BLOCK));
121 std::string(),
122 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
123 } 114 }
124 115
125 116
126 TEST_F(DefaultProviderTest, ObservePref) { 117 TEST_F(DefaultProviderTest, ObservePref) {
127 PrefService* prefs = profile_.GetPrefs(); 118 PrefService* prefs = profile_.GetPrefs();
128 119
129 provider_.SetWebsiteSetting( 120 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
130 ContentSettingsPattern::Wildcard(), 121 ContentSettingsPattern::Wildcard(),
131 ContentSettingsPattern::Wildcard(), 122 CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
132 CONTENT_SETTINGS_TYPE_COOKIES, 123 new base::Value(CONTENT_SETTING_BLOCK));
133 std::string(),
134 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
135 EXPECT_EQ(CONTENT_SETTING_BLOCK, 124 EXPECT_EQ(CONTENT_SETTING_BLOCK,
136 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 125 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
137 CONTENT_SETTINGS_TYPE_COOKIES, 126 CONTENT_SETTINGS_TYPE_COOKIES,
138 std::string(), false)); 127 std::string(), false));
139 const WebsiteSettingsInfo* info = WebsiteSettingsRegistry::GetInstance()->Get( 128 const WebsiteSettingsInfo* info = WebsiteSettingsRegistry::GetInstance()->Get(
140 CONTENT_SETTINGS_TYPE_COOKIES); 129 CONTENT_SETTINGS_TYPE_COOKIES);
141 // Clearing the backing pref should also clear the internal cache. 130 // Clearing the backing pref should also clear the internal cache.
142 prefs->ClearPref(info->default_value_pref_name()); 131 prefs->ClearPref(info->default_value_pref_name());
143 EXPECT_EQ(CONTENT_SETTING_ALLOW, 132 EXPECT_EQ(CONTENT_SETTING_ALLOW,
144 TestUtils::GetContentSetting(&provider_, GURL(), GURL(), 133 TestUtils::GetContentSetting(&provider_, GURL(), GURL(),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 TestUtils::GetContentSetting( 180 TestUtils::GetContentSetting(
192 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 181 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
193 std::string(), false /* include_incognito */)); 182 std::string(), false /* include_incognito */));
194 EXPECT_EQ(CONTENT_SETTING_ALLOW, 183 EXPECT_EQ(CONTENT_SETTING_ALLOW,
195 TestUtils::GetContentSetting( 184 TestUtils::GetContentSetting(
196 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 185 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
197 std::string(), true /* include_incognito */)); 186 std::string(), true /* include_incognito */));
198 187
199 // Changing content settings on the main provider should also affect the 188 // Changing content settings on the main provider should also affect the
200 // incognito map. 189 // incognito map.
201 provider_.SetWebsiteSetting( 190 provider_.SetWebsiteSetting(ContentSettingsPattern::Wildcard(),
202 ContentSettingsPattern::Wildcard(), 191 ContentSettingsPattern::Wildcard(),
203 ContentSettingsPattern::Wildcard(), 192 CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
204 CONTENT_SETTINGS_TYPE_COOKIES, 193 new base::Value(CONTENT_SETTING_BLOCK));
205 std::string(),
206 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
207 EXPECT_EQ(CONTENT_SETTING_BLOCK, 194 EXPECT_EQ(CONTENT_SETTING_BLOCK,
208 TestUtils::GetContentSetting( 195 TestUtils::GetContentSetting(
209 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 196 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
210 std::string(), false /* include_incognito */)); 197 std::string(), false /* include_incognito */));
211 198
212 EXPECT_EQ(CONTENT_SETTING_BLOCK, 199 EXPECT_EQ(CONTENT_SETTING_BLOCK,
213 TestUtils::GetContentSetting( 200 TestUtils::GetContentSetting(
214 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 201 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
215 std::string(), true /* include_incognito */)); 202 std::string(), true /* include_incognito */));
216 203
217 // Changing content settings on the incognito provider should be ignored. 204 // Changing content settings on the incognito provider should be ignored.
218 std::unique_ptr<base::Value> value( 205 std::unique_ptr<base::Value> value(new base::Value(CONTENT_SETTING_ALLOW));
219 new base::FundamentalValue(CONTENT_SETTING_ALLOW));
220 bool owned = otr_provider.SetWebsiteSetting( 206 bool owned = otr_provider.SetWebsiteSetting(
221 ContentSettingsPattern::Wildcard(), 207 ContentSettingsPattern::Wildcard(),
222 ContentSettingsPattern::Wildcard(), 208 ContentSettingsPattern::Wildcard(),
223 CONTENT_SETTINGS_TYPE_COOKIES, 209 CONTENT_SETTINGS_TYPE_COOKIES,
224 std::string(), 210 std::string(),
225 value.release()); 211 value.release());
226 EXPECT_TRUE(owned); 212 EXPECT_TRUE(owned);
227 EXPECT_EQ(CONTENT_SETTING_BLOCK, 213 EXPECT_EQ(CONTENT_SETTING_BLOCK,
228 TestUtils::GetContentSetting( 214 TestUtils::GetContentSetting(
229 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 215 &provider_, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
230 std::string(), false /* include_incognito */)); 216 std::string(), false /* include_incognito */));
231 217
232 EXPECT_EQ(CONTENT_SETTING_BLOCK, 218 EXPECT_EQ(CONTENT_SETTING_BLOCK,
233 TestUtils::GetContentSetting( 219 TestUtils::GetContentSetting(
234 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 220 &otr_provider, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
235 std::string(), true /* include_incognito */)); 221 std::string(), true /* include_incognito */));
236 222
237 // Check that new OTR DefaultProviders also inherit the correct value. 223 // Check that new OTR DefaultProviders also inherit the correct value.
238 DefaultProvider otr_provider2(profile_.GetPrefs(), true /* incognito */); 224 DefaultProvider otr_provider2(profile_.GetPrefs(), true /* incognito */);
239 EXPECT_EQ(CONTENT_SETTING_BLOCK, 225 EXPECT_EQ(CONTENT_SETTING_BLOCK,
240 TestUtils::GetContentSetting( 226 TestUtils::GetContentSetting(
241 &otr_provider2, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 227 &otr_provider2, GURL(), GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
242 std::string(), true /* include_incognito */)); 228 std::string(), true /* include_incognito */));
243 229
244 otr_provider.ShutdownOnUIThread(); 230 otr_provider.ShutdownOnUIThread();
245 otr_provider2.ShutdownOnUIThread(); 231 otr_provider2.ShutdownOnUIThread();
246 } 232 }
247 233
248 } // namespace content_settings 234 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698