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

Side by Side Diff: chrome/browser/extensions/api/browsing_data/browsing_data_test.cc

Issue 2733393003: Split browsing data masks between content and embedder (Closed)
Patch Set: Rebase (merged automatically) 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include <string> 6 #include <string>
7 7
8 #include "base/json/json_string_value_serializer.h" 8 #include "base/json/json_string_value_serializer.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/strings/pattern.h" 10 #include "base/strings/pattern.h"
11 #include "base/strings/string_util.h" 11 #include "base/strings/string_util.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/browser/browsing_data/browsing_data_helper.h" 13 #include "chrome/browser/browsing_data/browsing_data_helper.h"
14 #include "chrome/browser/browsing_data/browsing_data_remover.h" 14 #include "chrome/browser/browsing_data/browsing_data_remover.h"
15 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 15 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
16 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
16 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" 17 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h"
17 #include "chrome/browser/extensions/extension_function_test_utils.h" 18 #include "chrome/browser/extensions/extension_function_test_utils.h"
18 #include "chrome/browser/profiles/profile.h" 19 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/ui/browser.h" 20 #include "chrome/browser/ui/browser.h"
20 #include "chrome/common/pref_names.h" 21 #include "chrome/common/pref_names.h"
21 #include "chrome/test/base/in_process_browser_test.h" 22 #include "chrome/test/base/in_process_browser_test.h"
22 #include "components/browsing_data/core/browsing_data_utils.h" 23 #include "components/browsing_data/core/browsing_data_utils.h"
23 #include "components/browsing_data/core/pref_names.h" 24 #include "components/browsing_data/core/pref_names.h"
24 #include "components/prefs/pref_service.h" 25 #include "components/prefs/pref_service.h"
25 26
26 using extension_function_test_utils::RunFunctionAndReturnError; 27 using extension_function_test_utils::RunFunctionAndReturnError;
27 using extension_function_test_utils::RunFunctionAndReturnSingleResult; 28 using extension_function_test_utils::RunFunctionAndReturnSingleResult;
28 29
29 namespace { 30 namespace {
30 31
31 enum OriginTypeMask { 32 enum OriginTypeMask {
32 UNPROTECTED_WEB = BrowsingDataHelper::UNPROTECTED_WEB, 33 UNPROTECTED_WEB = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB,
33 PROTECTED_WEB = BrowsingDataHelper::PROTECTED_WEB, 34 PROTECTED_WEB = BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB,
34 EXTENSION = BrowsingDataHelper::EXTENSION 35 EXTENSION = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION
35 }; 36 };
36 37
37 const char kRemoveEverythingArguments[] = 38 const char kRemoveEverythingArguments[] =
38 "[{\"since\": 1000}, {" 39 "[{\"since\": 1000}, {"
39 "\"appcache\": true, \"cache\": true, \"cookies\": true, " 40 "\"appcache\": true, \"cache\": true, \"cookies\": true, "
40 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, " 41 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, "
41 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, " 42 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, "
42 "\"serverBoundCertificates\": true, \"passwords\": true, " 43 "\"serverBoundCertificates\": true, \"passwords\": true, "
43 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, " 44 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, "
44 "\"webSQL\": true" 45 "\"webSQL\": true"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 // second, so we'll make sure the requested start time is within 10 seconds. 147 // second, so we'll make sure the requested start time is within 10 seconds.
147 // Since the smallest selectable period is an hour, that should be 148 // Since the smallest selectable period is an hour, that should be
148 // sufficient. 149 // sufficient.
149 EXPECT_LE(expected_since, since + 10.0 * 1000.0); 150 EXPECT_LE(expected_since, since + 10.0 * 1000.0);
150 } 151 }
151 152
152 void SetPrefsAndVerifySettings(int data_type_flags, 153 void SetPrefsAndVerifySettings(int data_type_flags,
153 int expected_origin_type_mask, 154 int expected_origin_type_mask,
154 int expected_removal_mask) { 155 int expected_removal_mask) {
155 PrefService* prefs = browser()->profile()->GetPrefs(); 156 PrefService* prefs = browser()->profile()->GetPrefs();
156 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, 157 prefs->SetBoolean(
157 !!(data_type_flags & BrowsingDataRemover::REMOVE_CACHE)); 158 browsing_data::prefs::kDeleteCache,
158 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, 159 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_CACHE));
159 !!(data_type_flags & BrowsingDataRemover::REMOVE_COOKIES)); 160 prefs->SetBoolean(
161 browsing_data::prefs::kDeleteCookies,
162 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_COOKIES));
160 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, 163 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory,
161 !!(data_type_flags & BrowsingDataRemover::REMOVE_HISTORY)); 164 !!(data_type_flags &
162 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, 165 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY));
163 !!(data_type_flags & BrowsingDataRemover::REMOVE_FORM_DATA)); 166 prefs->SetBoolean(
164 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, 167 browsing_data::prefs::kDeleteFormData,
165 !!(data_type_flags & BrowsingDataRemover::REMOVE_DOWNLOADS));
166 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData,
167 !!(data_type_flags & 168 !!(data_type_flags &
168 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY)); 169 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA));
169 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, 170 prefs->SetBoolean(
170 !!(data_type_flags & BrowsingDataRemover::REMOVE_PASSWORDS)); 171 browsing_data::prefs::kDeleteDownloadHistory,
171 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, 172 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_DOWNLOADS));
172 !!(data_type_flags & BrowsingDataRemover::REMOVE_PLUGIN_DATA)); 173 prefs->SetBoolean(
174 browsing_data::prefs::kDeleteHostedAppsData,
175 !!(data_type_flags & ChromeBrowsingDataRemoverDelegate::
176 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY));
177 prefs->SetBoolean(
178 browsing_data::prefs::kDeletePasswords,
179 !!(data_type_flags &
180 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS));
181 prefs->SetBoolean(
182 prefs::kClearPluginLSODataEnabled,
183 !!(data_type_flags &
184 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA));
173 185
174 scoped_refptr<BrowsingDataSettingsFunction> function = 186 scoped_refptr<BrowsingDataSettingsFunction> function =
175 new BrowsingDataSettingsFunction(); 187 new BrowsingDataSettingsFunction();
176 SCOPED_TRACE("settings"); 188 SCOPED_TRACE("settings");
177 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( 189 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult(
178 function.get(), std::string("[]"), browser())); 190 function.get(), std::string("[]"), browser()));
179 191
180 base::DictionaryValue* result; 192 base::DictionaryValue* result;
181 EXPECT_TRUE(result_value->GetAsDictionary(&result)); 193 EXPECT_TRUE(result_value->GetAsDictionary(&result));
182 194
183 base::DictionaryValue* options; 195 base::DictionaryValue* options;
184 EXPECT_TRUE(result->GetDictionary("options", &options)); 196 EXPECT_TRUE(result->GetDictionary("options", &options));
185 base::DictionaryValue* origin_types; 197 base::DictionaryValue* origin_types;
186 EXPECT_TRUE(options->GetDictionary("originTypes", &origin_types)); 198 EXPECT_TRUE(options->GetDictionary("originTypes", &origin_types));
187 int origin_type_mask = GetAsMask(origin_types, "unprotectedWeb", 199 int origin_type_mask = GetAsMask(origin_types, "unprotectedWeb",
188 UNPROTECTED_WEB) | 200 UNPROTECTED_WEB) |
189 GetAsMask(origin_types, "protectedWeb", 201 GetAsMask(origin_types, "protectedWeb",
190 PROTECTED_WEB) | 202 PROTECTED_WEB) |
191 GetAsMask(origin_types, "extension", EXTENSION); 203 GetAsMask(origin_types, "extension", EXTENSION);
192 EXPECT_EQ(expected_origin_type_mask, origin_type_mask); 204 EXPECT_EQ(expected_origin_type_mask, origin_type_mask);
193 205
194 base::DictionaryValue* data_to_remove; 206 base::DictionaryValue* data_to_remove;
195 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove)); 207 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove));
196 int removal_mask = 208 int removal_mask =
197 GetAsMask(data_to_remove, "appcache", 209 GetAsMask(data_to_remove, "appcache",
198 BrowsingDataRemover::REMOVE_APPCACHE) | 210 BrowsingDataRemover::DATA_TYPE_APP_CACHE) |
199 GetAsMask(data_to_remove, "cache", BrowsingDataRemover::REMOVE_CACHE) | 211 GetAsMask(data_to_remove, "cache",
212 BrowsingDataRemover::DATA_TYPE_CACHE) |
200 GetAsMask(data_to_remove, "cookies", 213 GetAsMask(data_to_remove, "cookies",
201 BrowsingDataRemover::REMOVE_COOKIES) | 214 BrowsingDataRemover::DATA_TYPE_COOKIES) |
202 GetAsMask(data_to_remove, "downloads", 215 GetAsMask(data_to_remove, "downloads",
203 BrowsingDataRemover::REMOVE_DOWNLOADS) | 216 BrowsingDataRemover::DATA_TYPE_DOWNLOADS) |
204 GetAsMask(data_to_remove, "fileSystems", 217 GetAsMask(data_to_remove, "fileSystems",
205 BrowsingDataRemover::REMOVE_FILE_SYSTEMS) | 218 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS) |
206 GetAsMask(data_to_remove, "formData", 219 GetAsMask(data_to_remove, "formData",
207 BrowsingDataRemover::REMOVE_FORM_DATA) | 220 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA) |
208 GetAsMask(data_to_remove, "history", 221 GetAsMask(data_to_remove, "history",
209 BrowsingDataRemover::REMOVE_HISTORY) | 222 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY) |
210 GetAsMask(data_to_remove, "indexedDB", 223 GetAsMask(data_to_remove, "indexedDB",
211 BrowsingDataRemover::REMOVE_INDEXEDDB) | 224 BrowsingDataRemover::DATA_TYPE_INDEXED_DB) |
212 GetAsMask(data_to_remove, "localStorage", 225 GetAsMask(data_to_remove, "localStorage",
213 BrowsingDataRemover::REMOVE_LOCAL_STORAGE) | 226 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE) |
214 GetAsMask(data_to_remove, "pluginData", 227 GetAsMask(data_to_remove, "pluginData",
215 BrowsingDataRemover::REMOVE_PLUGIN_DATA) | 228 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA) |
216 GetAsMask(data_to_remove, "passwords", 229 GetAsMask(data_to_remove, "passwords",
217 BrowsingDataRemover::REMOVE_PASSWORDS) | 230 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) |
218 GetAsMask(data_to_remove, "serviceWorkers", 231 GetAsMask(data_to_remove, "serviceWorkers",
219 BrowsingDataRemover::REMOVE_SERVICE_WORKERS) | 232 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS) |
220 GetAsMask(data_to_remove, "cacheStorage", 233 GetAsMask(data_to_remove, "cacheStorage",
221 BrowsingDataRemover::REMOVE_CACHE_STORAGE) | 234 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE) |
222 GetAsMask(data_to_remove, "webSQL", 235 GetAsMask(data_to_remove, "webSQL",
223 BrowsingDataRemover::REMOVE_WEBSQL) | 236 BrowsingDataRemover::DATA_TYPE_WEB_SQL) |
224 GetAsMask(data_to_remove, "serverBoundCertificates", 237 GetAsMask(data_to_remove, "serverBoundCertificates",
225 BrowsingDataRemover::REMOVE_CHANNEL_IDS); 238 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS);
226 239
227 EXPECT_EQ(expected_removal_mask, removal_mask); 240 EXPECT_EQ(expected_removal_mask, removal_mask);
228 } 241 }
229 242
230 // The kAllowDeletingBrowserHistory pref must be set to false before this 243 // The kAllowDeletingBrowserHistory pref must be set to false before this
231 // is called. 244 // is called.
232 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { 245 void CheckRemovalPermitted(const std::string& data_types, bool permitted) {
233 scoped_refptr<BrowsingDataRemoveFunction> function = 246 scoped_refptr<BrowsingDataRemoveFunction> function =
234 new BrowsingDataRemoveFunction(); 247 new BrowsingDataRemoveFunction();
235 std::string args = "[{\"since\": 1}," + data_types + "]"; 248 std::string args = "[{\"since\": 1}," + data_types + "]";
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 297
285 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { 298 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) {
286 scoped_refptr<BrowsingDataRemoveFunction> function = 299 scoped_refptr<BrowsingDataRemoveFunction> function =
287 new BrowsingDataRemoveFunction(); 300 new BrowsingDataRemoveFunction();
288 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), 301 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(),
289 kRemoveEverythingArguments, 302 kRemoveEverythingArguments,
290 browser())); 303 browser()));
291 304
292 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); 305 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime());
293 EXPECT_EQ( 306 EXPECT_EQ(
294 (BrowsingDataRemover::REMOVE_SITE_DATA | 307 (ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA |
295 BrowsingDataRemover::REMOVE_CACHE | 308 BrowsingDataRemover::DATA_TYPE_CACHE |
296 BrowsingDataRemover::REMOVE_DOWNLOADS | 309 BrowsingDataRemover::DATA_TYPE_DOWNLOADS |
297 BrowsingDataRemover::REMOVE_FORM_DATA | 310 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA |
298 BrowsingDataRemover::REMOVE_HISTORY | 311 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY |
299 BrowsingDataRemover::REMOVE_PASSWORDS) & 312 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) &
300 // TODO(benwells): implement clearing of site usage data via the 313 // TODO(benwells): implement clearing of site usage data via the
301 // browsing data API. https://crbug.com/500801. 314 // browsing data API. https://crbug.com/500801.
302 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 315 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA &
303 // TODO(dmurph): implement clearing of durable storage permission 316 // TODO(dmurph): implement clearing of durable storage permission
304 // via the browsing data API. https://crbug.com/500801. 317 // via the browsing data API. https://crbug.com/500801.
305 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 318 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION &
306 // We can't remove plugin data inside a test profile. 319 // We can't remove plugin data inside a test profile.
307 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & 320 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA &
308 // TODO(ramyasharma): implement clearing of external protocol data 321 // TODO(ramyasharma): implement clearing of external protocol data
309 // via the browsing data API. https://crbug.com/692850. 322 // via the browsing data API. https://crbug.com/692850.
310 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA, 323 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA,
311 GetRemovalMask()); 324 GetRemovalMask());
312 } 325 }
313 326
314 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) { 327 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) {
315 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0); 328 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0);
316 329
317 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 330 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
318 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB); 331 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB);
319 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 332 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
320 "{\"protectedWeb\": true}", PROTECTED_WEB); 333 "{\"protectedWeb\": true}", PROTECTED_WEB);
(...skipping 12 matching lines...) Expand all
333 346
334 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 347 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
335 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, " 348 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, "
336 "\"extension\": true}"), 349 "\"extension\": true}"),
337 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION); 350 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION);
338 } 351 }
339 352
340 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 353 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
341 BrowsingDataRemovalMask) { 354 BrowsingDataRemovalMask) {
342 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 355 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
343 "appcache", BrowsingDataRemover::REMOVE_APPCACHE); 356 "appcache", BrowsingDataRemover::DATA_TYPE_APP_CACHE);
344 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 357 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
345 "cache", BrowsingDataRemover::REMOVE_CACHE); 358 "cache", BrowsingDataRemover::DATA_TYPE_CACHE);
346 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 359 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
347 "cookies", BrowsingDataRemover::REMOVE_COOKIES); 360 "cookies", BrowsingDataRemover::DATA_TYPE_COOKIES);
348 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 361 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
349 "downloads", BrowsingDataRemover::REMOVE_DOWNLOADS); 362 "downloads", BrowsingDataRemover::DATA_TYPE_DOWNLOADS);
350 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 363 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
351 "fileSystems", BrowsingDataRemover::REMOVE_FILE_SYSTEMS); 364 "fileSystems", BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS);
352 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 365 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
353 "formData", BrowsingDataRemover::REMOVE_FORM_DATA); 366 "formData", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA);
354 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 367 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
355 "history", BrowsingDataRemover::REMOVE_HISTORY); 368 "history", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY);
356 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 369 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
357 "indexedDB", BrowsingDataRemover::REMOVE_INDEXEDDB); 370 "indexedDB", BrowsingDataRemover::DATA_TYPE_INDEXED_DB);
358 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 371 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
359 "localStorage", BrowsingDataRemover::REMOVE_LOCAL_STORAGE); 372 "localStorage", BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE);
360 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 373 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
361 "serverBoundCertificates", 374 "serverBoundCertificates", BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS);
362 BrowsingDataRemover::REMOVE_CHANNEL_IDS);
363 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 375 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
364 "passwords", BrowsingDataRemover::REMOVE_PASSWORDS); 376 "passwords", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS);
365 // We can't remove plugin data inside a test profile. 377 // We can't remove plugin data inside a test profile.
366 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 378 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
367 "serviceWorkers", BrowsingDataRemover::REMOVE_SERVICE_WORKERS); 379 "serviceWorkers", BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS);
368 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 380 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
369 "cacheStorage", BrowsingDataRemover::REMOVE_CACHE_STORAGE); 381 "cacheStorage", BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE);
370 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 382 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
371 "webSQL", BrowsingDataRemover::REMOVE_WEBSQL); 383 "webSQL", BrowsingDataRemover::DATA_TYPE_WEB_SQL);
372 } 384 }
373 385
374 // Test an arbitrary combination of data types. 386 // Test an arbitrary combination of data types.
375 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 387 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
376 BrowsingDataRemovalMaskCombination) { 388 BrowsingDataRemovalMaskCombination) {
377 RunBrowsingDataRemoveFunctionAndCompareRemovalMask( 389 RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
378 "{\"appcache\": true, \"cookies\": true, \"history\": true}", 390 "{\"appcache\": true, \"cookies\": true, \"history\": true}",
379 BrowsingDataRemover::REMOVE_APPCACHE | 391 BrowsingDataRemover::DATA_TYPE_APP_CACHE |
380 BrowsingDataRemover::REMOVE_COOKIES | 392 BrowsingDataRemover::DATA_TYPE_COOKIES |
381 BrowsingDataRemover::REMOVE_HISTORY); 393 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY);
382 } 394 }
383 395
384 // Make sure the remove() function accepts the format produced by settings(). 396 // Make sure the remove() function accepts the format produced by settings().
385 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 397 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
386 BrowsingDataRemovalInputFromSettings) { 398 BrowsingDataRemovalInputFromSettings) {
387 PrefService* prefs = browser()->profile()->GetPrefs(); 399 PrefService* prefs = browser()->profile()->GetPrefs();
388 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true); 400 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true);
389 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true); 401 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true);
390 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true); 402 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true);
391 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false); 403 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false);
392 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false); 404 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false);
393 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false); 405 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false);
394 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false); 406 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false);
395 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false); 407 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false);
396 int expected_mask = BrowsingDataRemover::REMOVE_CACHE | 408 int expected_mask = BrowsingDataRemover::DATA_TYPE_CACHE |
397 BrowsingDataRemover::REMOVE_DOWNLOADS | 409 BrowsingDataRemover::DATA_TYPE_DOWNLOADS |
398 BrowsingDataRemover::REMOVE_HISTORY; 410 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY;
399 std::string json; 411 std::string json;
400 // Scoping for the traces. 412 // Scoping for the traces.
401 { 413 {
402 scoped_refptr<BrowsingDataSettingsFunction> settings_function = 414 scoped_refptr<BrowsingDataSettingsFunction> settings_function =
403 new BrowsingDataSettingsFunction(); 415 new BrowsingDataSettingsFunction();
404 SCOPED_TRACE("settings_json"); 416 SCOPED_TRACE("settings_json");
405 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( 417 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult(
406 settings_function.get(), std::string("[]"), browser())); 418 settings_function.get(), std::string("[]"), browser()));
407 419
408 base::DictionaryValue* result; 420 base::DictionaryValue* result;
(...skipping 12 matching lines...) Expand all
421 remove_function.get(), 433 remove_function.get(),
422 std::string("[{\"since\": 1},") + json + "]", 434 std::string("[{\"since\": 1},") + json + "]",
423 browser())); 435 browser()));
424 EXPECT_EQ(expected_mask, GetRemovalMask()); 436 EXPECT_EQ(expected_mask, GetRemovalMask());
425 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); 437 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask());
426 } 438 }
427 } 439 }
428 440
429 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) { 441 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) {
430 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>( 442 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>(
431 BrowsingDataRemover::REMOVE_APPCACHE); 443 BrowsingDataRemover::DATA_TYPE_APP_CACHE);
432 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>( 444 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>(
433 BrowsingDataRemover::REMOVE_CACHE); 445 BrowsingDataRemover::DATA_TYPE_CACHE);
434 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>( 446 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>(
435 BrowsingDataRemover::REMOVE_COOKIES | 447 BrowsingDataRemover::DATA_TYPE_COOKIES |
436 BrowsingDataRemover::REMOVE_CHANNEL_IDS); 448 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS);
437 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>( 449 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>(
438 BrowsingDataRemover::REMOVE_DOWNLOADS); 450 BrowsingDataRemover::DATA_TYPE_DOWNLOADS);
439 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>( 451 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>(
440 BrowsingDataRemover::REMOVE_FILE_SYSTEMS); 452 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS);
441 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>( 453 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>(
442 BrowsingDataRemover::REMOVE_FORM_DATA); 454 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA);
443 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>( 455 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>(
444 BrowsingDataRemover::REMOVE_HISTORY); 456 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY);
445 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>( 457 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>(
446 BrowsingDataRemover::REMOVE_INDEXEDDB); 458 BrowsingDataRemover::DATA_TYPE_INDEXED_DB);
447 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>( 459 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>(
448 BrowsingDataRemover::REMOVE_LOCAL_STORAGE); 460 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE);
449 // We can't remove plugin data inside a test profile. 461 // We can't remove plugin data inside a test profile.
450 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>( 462 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>(
451 BrowsingDataRemover::REMOVE_PASSWORDS); 463 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS);
452 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>( 464 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>(
453 BrowsingDataRemover::REMOVE_SERVICE_WORKERS); 465 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS);
454 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>( 466 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>(
455 BrowsingDataRemover::REMOVE_WEBSQL); 467 BrowsingDataRemover::DATA_TYPE_WEB_SQL);
456 } 468 }
457 469
458 // Test the processing of the 'delete since' preference. 470 // Test the processing of the 'delete since' preference.
459 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) { 471 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) {
460 SetSinceAndVerify(browsing_data::TimePeriod::ALL_TIME); 472 SetSinceAndVerify(browsing_data::TimePeriod::ALL_TIME);
461 SetSinceAndVerify(browsing_data::TimePeriod::LAST_HOUR); 473 SetSinceAndVerify(browsing_data::TimePeriod::LAST_HOUR);
462 SetSinceAndVerify(browsing_data::TimePeriod::LAST_DAY); 474 SetSinceAndVerify(browsing_data::TimePeriod::LAST_DAY);
463 SetSinceAndVerify(browsing_data::TimePeriod::LAST_WEEK); 475 SetSinceAndVerify(browsing_data::TimePeriod::LAST_WEEK);
464 SetSinceAndVerify(browsing_data::TimePeriod::FOUR_WEEKS); 476 SetSinceAndVerify(browsing_data::TimePeriod::FOUR_WEEKS);
465 } 477 }
466 478
467 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) { 479 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) {
468 SetPrefsAndVerifySettings(0, 0, 0); 480 SetPrefsAndVerifySettings(0, 0, 0);
469 } 481 }
470 482
471 // Test straightforward settings, mapped 1:1 to data types. 483 // Test straightforward settings, mapped 1:1 to data types.
472 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) { 484 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) {
473 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_CACHE, 0, 485 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_CACHE, 0,
474 BrowsingDataRemover::REMOVE_CACHE); 486 BrowsingDataRemover::DATA_TYPE_CACHE);
475 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_HISTORY, 0, 487 SetPrefsAndVerifySettings(
476 BrowsingDataRemover::REMOVE_HISTORY); 488 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, 0,
477 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_FORM_DATA, 0, 489 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY);
478 BrowsingDataRemover::REMOVE_FORM_DATA); 490 SetPrefsAndVerifySettings(
479 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_DOWNLOADS, 0, 491 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, 0,
480 BrowsingDataRemover::REMOVE_DOWNLOADS); 492 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA);
481 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_PASSWORDS, 0, 493 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_DOWNLOADS, 0,
482 BrowsingDataRemover::REMOVE_PASSWORDS); 494 BrowsingDataRemover::DATA_TYPE_DOWNLOADS);
495 SetPrefsAndVerifySettings(
496 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, 0,
497 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS);
483 } 498 }
484 499
485 // Test cookie and app data settings. 500 // Test cookie and app data settings.
486 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { 501 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) {
487 int site_data_no_durable_or_usage_or_external = 502 int site_data_no_durable_or_usage_or_external =
488 BrowsingDataRemover::REMOVE_SITE_DATA & 503 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA &
489 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 504 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA &
490 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 505 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION &
491 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; 506 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA;
492 int site_data_no_plugins_durable_usage_external = 507 int site_data_no_plugins_durable_usage_external =
493 site_data_no_durable_or_usage_or_external & 508 site_data_no_durable_or_usage_or_external &
494 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; 509 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA;
495 510
496 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES, 511 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_COOKIES,
497 UNPROTECTED_WEB, 512 UNPROTECTED_WEB,
498 site_data_no_plugins_durable_usage_external); 513 site_data_no_plugins_durable_usage_external);
499 SetPrefsAndVerifySettings( 514 SetPrefsAndVerifySettings(
500 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, PROTECTED_WEB, 515 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY,
501 site_data_no_plugins_durable_usage_external); 516 PROTECTED_WEB, site_data_no_plugins_durable_usage_external);
517 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_COOKIES |
518 ChromeBrowsingDataRemoverDelegate::
519 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY,
520 PROTECTED_WEB | UNPROTECTED_WEB,
521 site_data_no_plugins_durable_usage_external);
502 SetPrefsAndVerifySettings( 522 SetPrefsAndVerifySettings(
503 BrowsingDataRemover::REMOVE_COOKIES | 523 BrowsingDataRemover::DATA_TYPE_COOKIES |
504 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, 524 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA,
505 PROTECTED_WEB | UNPROTECTED_WEB, 525 UNPROTECTED_WEB, site_data_no_durable_or_usage_or_external);
506 site_data_no_plugins_durable_usage_external);
507 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES |
508 BrowsingDataRemover::REMOVE_PLUGIN_DATA,
509 UNPROTECTED_WEB,
510 site_data_no_durable_or_usage_or_external);
511 } 526 }
512 527
513 // Test an arbitrary assortment of settings. 528 // Test an arbitrary assortment of settings.
514 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { 529 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) {
515 int site_data_no_plugins_durable_usage_external = 530 int site_data_no_plugins_durable_usage_external =
516 BrowsingDataRemover::REMOVE_SITE_DATA & 531 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA &
517 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 532 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION &
518 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 533 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA &
519 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & 534 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA &
520 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; 535 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA;
521 536
522 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES | 537 SetPrefsAndVerifySettings(
523 BrowsingDataRemover::REMOVE_HISTORY | 538 BrowsingDataRemover::DATA_TYPE_COOKIES |
524 BrowsingDataRemover::REMOVE_DOWNLOADS, 539 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY |
525 UNPROTECTED_WEB, 540 BrowsingDataRemover::DATA_TYPE_DOWNLOADS,
526 site_data_no_plugins_durable_usage_external | 541 UNPROTECTED_WEB,
527 BrowsingDataRemover::REMOVE_HISTORY | 542 site_data_no_plugins_durable_usage_external |
528 BrowsingDataRemover::REMOVE_DOWNLOADS); 543 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY |
544 BrowsingDataRemover::DATA_TYPE_DOWNLOADS);
529 } 545 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/browsing_data/browsing_data_api.cc ('k') | chrome/browser/net/errorpage_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698