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

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

Issue 2697123004: Convert RemoveDataMask from enum to pointers and split it between content and embedder (Closed)
Patch Set: Android compilation Created 3 years, 10 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/stl_util.h"
10 #include "base/strings/pattern.h" 11 #include "base/strings/pattern.h"
11 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
12 #include "base/values.h" 13 #include "base/values.h"
13 #include "chrome/browser/browsing_data/browsing_data_helper.h" 14 #include "chrome/browser/browsing_data/browsing_data_helper.h"
14 #include "chrome/browser/browsing_data/browsing_data_remover.h" 15 #include "chrome/browser/browsing_data/browsing_data_remover.h"
15 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 16 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
17 #include "chrome/browser/browsing_data/chrome_browsing_data_types.h"
16 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" 18 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h"
17 #include "chrome/browser/extensions/extension_function_test_utils.h" 19 #include "chrome/browser/extensions/extension_function_test_utils.h"
18 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/ui/browser.h" 21 #include "chrome/browser/ui/browser.h"
20 #include "chrome/common/pref_names.h" 22 #include "chrome/common/pref_names.h"
21 #include "chrome/test/base/in_process_browser_test.h" 23 #include "chrome/test/base/in_process_browser_test.h"
22 #include "components/browsing_data/core/browsing_data_utils.h" 24 #include "components/browsing_data/core/browsing_data_utils.h"
23 #include "components/browsing_data/core/pref_names.h" 25 #include "components/browsing_data/core/pref_names.h"
24 #include "components/prefs/pref_service.h" 26 #include "components/prefs/pref_service.h"
25 27
26 using extension_function_test_utils::RunFunctionAndReturnError; 28 using extension_function_test_utils::RunFunctionAndReturnError;
27 using extension_function_test_utils::RunFunctionAndReturnSingleResult; 29 using extension_function_test_utils::RunFunctionAndReturnSingleResult;
30 using content::BrowsingDataType;
28 31
29 namespace { 32 namespace {
30 33
31 enum OriginTypeMask { 34 enum OriginTypeMask {
32 UNPROTECTED_WEB = BrowsingDataHelper::UNPROTECTED_WEB, 35 UNPROTECTED_WEB = BrowsingDataHelper::UNPROTECTED_WEB,
33 PROTECTED_WEB = BrowsingDataHelper::PROTECTED_WEB, 36 PROTECTED_WEB = BrowsingDataHelper::PROTECTED_WEB,
34 EXTENSION = BrowsingDataHelper::EXTENSION 37 EXTENSION = BrowsingDataHelper::EXTENSION
35 }; 38 };
36 39
37 const char kRemoveEverythingArguments[] = 40 const char kRemoveEverythingArguments[] =
38 "[{\"since\": 1000}, {" 41 "[{\"since\": 1000}, {"
39 "\"appcache\": true, \"cache\": true, \"cookies\": true, " 42 "\"appcache\": true, \"cache\": true, \"cookies\": true, "
40 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, " 43 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, "
41 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, " 44 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, "
42 "\"serverBoundCertificates\": true, \"passwords\": true, " 45 "\"serverBoundCertificates\": true, \"passwords\": true, "
43 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, " 46 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, "
44 "\"webSQL\": true" 47 "\"webSQL\": true"
45 "}]"; 48 "}]";
46 49
47 class ExtensionBrowsingDataTest : public InProcessBrowserTest { 50 class ExtensionBrowsingDataTest : public InProcessBrowserTest {
48 public: 51 public:
49 const base::Time& GetBeginTime() { 52 const base::Time& GetBeginTime() {
50 return remover_->GetLastUsedBeginTime(); 53 return remover_->GetLastUsedBeginTime();
51 } 54 }
52 55
53 int GetRemovalMask() { 56 const std::set<const BrowsingDataType*>& GetRemovalMask() {
54 return remover_->GetLastUsedRemovalMask(); 57 return remover_->GetLastUsedRemovalMask();
55 } 58 }
56 59
57 int GetOriginTypeMask() { 60 int GetOriginTypeMask() {
58 return remover_->GetLastUsedOriginTypeMask(); 61 return remover_->GetLastUsedOriginTypeMask();
59 } 62 }
60 63
61 protected: 64 protected:
62 void SetUpOnMainThread() override { 65 void SetUpOnMainThread() override {
63 remover_ = 66 remover_ =
64 BrowsingDataRemoverFactory::GetForBrowserContext(browser()->profile()); 67 BrowsingDataRemoverFactory::GetForBrowserContext(browser()->profile());
65 } 68 }
66 69
67 int GetAsMask(const base::DictionaryValue* dict, std::string path, 70 int GetAsMask(const base::DictionaryValue* dict, std::string path,
68 int mask_value) { 71 int mask_value) {
69 bool result; 72 bool result;
70 EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path; 73 EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path;
71 return result ? mask_value : 0; 74 return result ? mask_value : 0;
72 } 75 }
73 76
77 const BrowsingDataType* GetAsMask(const base::DictionaryValue* dict,
78 std::string path,
79 const BrowsingDataType* mask_value) {
80 bool result;
81 EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path;
82 return result ? mask_value : nullptr;
83 }
84
74 void RunBrowsingDataRemoveFunctionAndCompareRemovalMask( 85 void RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
75 const std::string& data_types, 86 const std::string& data_types,
76 int expected_mask) { 87 const std::set<const BrowsingDataType*>& expected_mask) {
77 scoped_refptr<BrowsingDataRemoveFunction> function = 88 scoped_refptr<BrowsingDataRemoveFunction> function =
78 new BrowsingDataRemoveFunction(); 89 new BrowsingDataRemoveFunction();
79 SCOPED_TRACE(data_types); 90 SCOPED_TRACE(data_types);
80 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult( 91 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(
81 function.get(), 92 function.get(),
82 std::string("[{\"since\": 1},") + data_types + "]", 93 std::string("[{\"since\": 1},") + data_types + "]",
83 browser())); 94 browser()));
84 EXPECT_EQ(expected_mask, GetRemovalMask()); 95 EXPECT_EQ(expected_mask, GetRemovalMask());
85 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); 96 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask());
86 } 97 }
87 98
88 void RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 99 void RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
89 const std::string& key, 100 const std::string& key,
90 int expected_mask) { 101 const std::set<const BrowsingDataType*>& expected_mask) {
91 RunBrowsingDataRemoveFunctionAndCompareRemovalMask( 102 RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
92 std::string("{\"") + key + "\": true}", expected_mask); 103 std::string("{\"") + key + "\": true}", expected_mask);
93 } 104 }
94 105
95 void RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 106 void RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
96 const std::string& protectedStr, 107 const std::string& protectedStr,
97 int expected_mask) { 108 int expected_mask) {
98 scoped_refptr<BrowsingDataRemoveFunction> function = 109 scoped_refptr<BrowsingDataRemoveFunction> function =
99 new BrowsingDataRemoveFunction(); 110 new BrowsingDataRemoveFunction();
100 SCOPED_TRACE(protectedStr); 111 SCOPED_TRACE(protectedStr);
101 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult( 112 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(
102 function.get(), 113 function.get(),
103 "[{\"originTypes\": " + protectedStr + "}, {\"cookies\": true}]", 114 "[{\"originTypes\": " + protectedStr + "}, {\"cookies\": true}]",
104 browser())); 115 browser()));
105 EXPECT_EQ(expected_mask, GetOriginTypeMask()); 116 EXPECT_EQ(expected_mask, GetOriginTypeMask());
106 } 117 }
107 118
108 template<class ShortcutFunction> 119 template <class ShortcutFunction>
109 void RunAndCompareRemovalMask(int expected_mask) { 120 void RunAndCompareRemovalMask(
121 const std::set<const BrowsingDataType*>& expected_mask) {
110 scoped_refptr<ShortcutFunction> function = 122 scoped_refptr<ShortcutFunction> function =
111 new ShortcutFunction(); 123 new ShortcutFunction();
112 SCOPED_TRACE(ShortcutFunction::function_name()); 124 SCOPED_TRACE(ShortcutFunction::function_name());
113 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult( 125 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(
114 function.get(), 126 function.get(),
115 std::string("[{\"since\": 1}]"), 127 std::string("[{\"since\": 1}]"),
116 browser())); 128 browser()));
117 EXPECT_EQ(expected_mask, GetRemovalMask()); 129 EXPECT_EQ(expected_mask, GetRemovalMask());
118 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); 130 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask());
119 } 131 }
(...skipping 21 matching lines...) Expand all
141 expected_since = time.ToJsTime(); 153 expected_since = time.ToJsTime();
142 } 154 }
143 // Even a synchronous function takes nonzero time, but the difference 155 // Even a synchronous function takes nonzero time, but the difference
144 // between when the function was called and now should be well under a 156 // between when the function was called and now should be well under a
145 // second, so we'll make sure the requested start time is within 10 seconds. 157 // second, so we'll make sure the requested start time is within 10 seconds.
146 // Since the smallest selectable period is an hour, that should be 158 // Since the smallest selectable period is an hour, that should be
147 // sufficient. 159 // sufficient.
148 EXPECT_LE(expected_since, since + 10.0 * 1000.0); 160 EXPECT_LE(expected_since, since + 10.0 * 1000.0);
149 } 161 }
150 162
151 void SetPrefsAndVerifySettings(int data_type_flags, 163 void SetPrefsAndVerifySettings(
152 int expected_origin_type_mask, 164 const std::set<const BrowsingDataType*>& data_type_flags,
153 int expected_removal_mask) { 165 int expected_origin_type_mask,
166 const std::set<const BrowsingDataType*>& expected_removal_mask) {
154 PrefService* prefs = browser()->profile()->GetPrefs(); 167 PrefService* prefs = browser()->profile()->GetPrefs();
155 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, 168 prefs->SetBoolean(
156 !!(data_type_flags & BrowsingDataRemover::REMOVE_CACHE)); 169 browsing_data::prefs::kDeleteCache,
157 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, 170 base::ContainsValue(data_type_flags, &kBrowsingDataTypeCache));
158 !!(data_type_flags & BrowsingDataRemover::REMOVE_COOKIES)); 171 prefs->SetBoolean(
159 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, 172 browsing_data::prefs::kDeleteCookies,
160 !!(data_type_flags & BrowsingDataRemover::REMOVE_HISTORY)); 173 base::ContainsValue(data_type_flags, &kBrowsingDataTypeCookies));
161 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, 174 prefs->SetBoolean(
162 !!(data_type_flags & BrowsingDataRemover::REMOVE_FORM_DATA)); 175 browsing_data::prefs::kDeleteBrowsingHistory,
163 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, 176 base::ContainsValue(data_type_flags, &kBrowsingDataTypeHistory));
164 !!(data_type_flags & BrowsingDataRemover::REMOVE_DOWNLOADS)); 177 prefs->SetBoolean(
165 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, 178 browsing_data::prefs::kDeleteFormData,
166 !!(data_type_flags & 179 base::ContainsValue(data_type_flags, &kBrowsingDataTypeFormData));
167 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY)); 180 prefs->SetBoolean(
168 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, 181 browsing_data::prefs::kDeleteDownloadHistory,
169 !!(data_type_flags & BrowsingDataRemover::REMOVE_PASSWORDS)); 182 base::ContainsValue(data_type_flags, &kBrowsingDataTypeDownloads));
170 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, 183 prefs->SetBoolean(
171 !!(data_type_flags & BrowsingDataRemover::REMOVE_PLUGIN_DATA)); 184 browsing_data::prefs::kDeleteHostedAppsData,
185 base::ContainsValue(data_type_flags,
186 &kBrowsingDataTypeHostedAppDataTestOnly));
187 prefs->SetBoolean(
188 browsing_data::prefs::kDeletePasswords,
189 base::ContainsValue(data_type_flags, &kBrowsingDataTypePasswords));
190 prefs->SetBoolean(
191 prefs::kClearPluginLSODataEnabled,
192 base::ContainsValue(data_type_flags, &kBrowsingDataTypePluginData));
172 193
173 scoped_refptr<BrowsingDataSettingsFunction> function = 194 scoped_refptr<BrowsingDataSettingsFunction> function =
174 new BrowsingDataSettingsFunction(); 195 new BrowsingDataSettingsFunction();
175 SCOPED_TRACE("settings"); 196 SCOPED_TRACE("settings");
176 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( 197 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult(
177 function.get(), std::string("[]"), browser())); 198 function.get(), std::string("[]"), browser()));
178 199
179 base::DictionaryValue* result; 200 base::DictionaryValue* result;
180 EXPECT_TRUE(result_value->GetAsDictionary(&result)); 201 EXPECT_TRUE(result_value->GetAsDictionary(&result));
181 202
182 base::DictionaryValue* options; 203 base::DictionaryValue* options;
183 EXPECT_TRUE(result->GetDictionary("options", &options)); 204 EXPECT_TRUE(result->GetDictionary("options", &options));
184 base::DictionaryValue* origin_types; 205 base::DictionaryValue* origin_types;
185 EXPECT_TRUE(options->GetDictionary("originTypes", &origin_types)); 206 EXPECT_TRUE(options->GetDictionary("originTypes", &origin_types));
186 int origin_type_mask = GetAsMask(origin_types, "unprotectedWeb", 207 int origin_type_mask = GetAsMask(origin_types, "unprotectedWeb",
187 UNPROTECTED_WEB) | 208 UNPROTECTED_WEB) |
188 GetAsMask(origin_types, "protectedWeb", 209 GetAsMask(origin_types, "protectedWeb",
189 PROTECTED_WEB) | 210 PROTECTED_WEB) |
190 GetAsMask(origin_types, "extension", EXTENSION); 211 GetAsMask(origin_types, "extension", EXTENSION);
191 EXPECT_EQ(expected_origin_type_mask, origin_type_mask); 212 EXPECT_EQ(expected_origin_type_mask, origin_type_mask);
192 213
193 base::DictionaryValue* data_to_remove; 214 base::DictionaryValue* data_to_remove;
194 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove)); 215 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove));
195 int removal_mask = 216
196 GetAsMask(data_to_remove, "appcache", 217 std::set<const BrowsingDataType*> removal_mask;
197 BrowsingDataRemover::REMOVE_APPCACHE) | 218 removal_mask.insert(
198 GetAsMask(data_to_remove, "cache", BrowsingDataRemover::REMOVE_CACHE) | 219 GetAsMask(data_to_remove, "appcache", &kBrowsingDataTypeAppCache));
199 GetAsMask(data_to_remove, "cookies", 220 removal_mask.insert(
200 BrowsingDataRemover::REMOVE_COOKIES) | 221 GetAsMask(data_to_remove, "cache", &kBrowsingDataTypeCache));
201 GetAsMask(data_to_remove, "downloads", 222 removal_mask.insert(
202 BrowsingDataRemover::REMOVE_DOWNLOADS) | 223 GetAsMask(data_to_remove, "cookies", &kBrowsingDataTypeCookies));
203 GetAsMask(data_to_remove, "fileSystems", 224 removal_mask.insert(
204 BrowsingDataRemover::REMOVE_FILE_SYSTEMS) | 225 GetAsMask(data_to_remove, "downloads", &kBrowsingDataTypeDownloads));
205 GetAsMask(data_to_remove, "formData", 226 removal_mask.insert(GetAsMask(data_to_remove, "fileSystems",
206 BrowsingDataRemover::REMOVE_FORM_DATA) | 227 &kBrowsingDataTypeFileSystems));
207 GetAsMask(data_to_remove, "history", 228 removal_mask.insert(
208 BrowsingDataRemover::REMOVE_HISTORY) | 229 GetAsMask(data_to_remove, "formData", &kBrowsingDataTypeFormData));
209 GetAsMask(data_to_remove, "indexedDB", 230 removal_mask.insert(
210 BrowsingDataRemover::REMOVE_INDEXEDDB) | 231 GetAsMask(data_to_remove, "history", &kBrowsingDataTypeHistory));
211 GetAsMask(data_to_remove, "localStorage", 232 removal_mask.insert(
212 BrowsingDataRemover::REMOVE_LOCAL_STORAGE) | 233 GetAsMask(data_to_remove, "indexedDB", &kBrowsingDataTypeIndexedDB));
213 GetAsMask(data_to_remove, "pluginData", 234 removal_mask.insert(GetAsMask(data_to_remove, "localStorage",
214 BrowsingDataRemover::REMOVE_PLUGIN_DATA) | 235 &kBrowsingDataTypeLocalStorage));
215 GetAsMask(data_to_remove, "passwords", 236 removal_mask.insert(
216 BrowsingDataRemover::REMOVE_PASSWORDS) | 237 GetAsMask(data_to_remove, "pluginData", &kBrowsingDataTypePluginData));
217 GetAsMask(data_to_remove, "serviceWorkers", 238 removal_mask.insert(
218 BrowsingDataRemover::REMOVE_SERVICE_WORKERS) | 239 GetAsMask(data_to_remove, "passwords", &kBrowsingDataTypePasswords));
219 GetAsMask(data_to_remove, "cacheStorage", 240 removal_mask.insert(GetAsMask(data_to_remove, "serviceWorkers",
220 BrowsingDataRemover::REMOVE_CACHE_STORAGE) | 241 &kBrowsingDataTypeServiceWorkers));
221 GetAsMask(data_to_remove, "webSQL", 242 removal_mask.insert(GetAsMask(data_to_remove, "cacheStorage",
222 BrowsingDataRemover::REMOVE_WEBSQL) | 243 &kBrowsingDataTypeCacheStorage));
223 GetAsMask(data_to_remove, "serverBoundCertificates", 244 removal_mask.insert(
224 BrowsingDataRemover::REMOVE_CHANNEL_IDS); 245 GetAsMask(data_to_remove, "webSQL", &kBrowsingDataTypeWebSQL));
246 removal_mask.insert(GetAsMask(data_to_remove, "serverBoundCertificates",
247 &kBrowsingDataTypeChannelIDs));
248
249 // GetAsMask() adds a nullptr for excluded types.
250 removal_mask.erase(nullptr);
225 251
226 EXPECT_EQ(expected_removal_mask, removal_mask); 252 EXPECT_EQ(expected_removal_mask, removal_mask);
227 } 253 }
228 254
229 // The kAllowDeletingBrowserHistory pref must be set to false before this 255 // The kAllowDeletingBrowserHistory pref must be set to false before this
230 // is called. 256 // is called.
231 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { 257 void CheckRemovalPermitted(const std::string& data_types, bool permitted) {
232 scoped_refptr<BrowsingDataRemoveFunction> function = 258 scoped_refptr<BrowsingDataRemoveFunction> function =
233 new BrowsingDataRemoveFunction(); 259 new BrowsingDataRemoveFunction();
234 std::string args = "[{\"since\": 1}," + data_types + "]"; 260 std::string args = "[{\"since\": 1}," + data_types + "]";
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 } 308 }
283 309
284 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { 310 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) {
285 scoped_refptr<BrowsingDataRemoveFunction> function = 311 scoped_refptr<BrowsingDataRemoveFunction> function =
286 new BrowsingDataRemoveFunction(); 312 new BrowsingDataRemoveFunction();
287 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), 313 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(),
288 kRemoveEverythingArguments, 314 kRemoveEverythingArguments,
289 browser())); 315 browser()));
290 316
291 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); 317 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime());
292 EXPECT_EQ( 318 std::set<const BrowsingDataType*> expected_mask =
293 (BrowsingDataRemover::REMOVE_SITE_DATA | 319 BrowsingDataTypeSetSiteData();
294 BrowsingDataRemover::REMOVE_CACHE | 320 expected_mask.insert(&kBrowsingDataTypeCache);
295 BrowsingDataRemover::REMOVE_DOWNLOADS | 321 expected_mask.insert(&kBrowsingDataTypeDownloads);
296 BrowsingDataRemover::REMOVE_FORM_DATA | 322 expected_mask.insert(&kBrowsingDataTypeFormData);
297 BrowsingDataRemover::REMOVE_HISTORY | 323 expected_mask.insert(&kBrowsingDataTypeHistory);
298 BrowsingDataRemover::REMOVE_PASSWORDS) & 324 expected_mask.insert(&kBrowsingDataTypePasswords);
299 // TODO(benwells): implement clearing of site usage data via the 325 // TODO(benwells): implement clearing of site usage data via the
300 // browsing data API. https://crbug.com/500801. 326 // browsing data API. https://crbug.com/500801.
301 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 327 expected_mask.erase(&kBrowsingDataTypeSiteUsageData);
302 // TODO(dmurph): implement clearing of durable storage permission 328 // TODO(dmurph): implement clearing of durable storage permission
303 // via the browsing data API. https://crbug.com/500801. 329 // via the browsing data API. https://crbug.com/500801.
304 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 330 expected_mask.erase(&kBrowsingDataTypeDurablePermission);
305 // We can't remove plugin data inside a test profile. 331 // We can't remove plugin data inside a test profile.
306 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & 332 expected_mask.erase(&kBrowsingDataTypePluginData);
307 // TODO(ramyasharma): implement clearing of external protocol data 333 // TODO(ramyasharma): implement clearing of external protocol data
308 // via the browsing data API. https://crbug.com/692850. 334 // via the browsing data API. https://crbug.com/692850.
309 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA, 335 expected_mask.erase(&kBrowsingDataTypeExternalProtocolData);
310 GetRemovalMask()); 336
337 EXPECT_EQ(expected_mask, GetRemovalMask());
311 } 338 }
312 339
313 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) { 340 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) {
314 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0); 341 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0);
315 342
316 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 343 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
317 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB); 344 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB);
318 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 345 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
319 "{\"protectedWeb\": true}", PROTECTED_WEB); 346 "{\"protectedWeb\": true}", PROTECTED_WEB);
320 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 347 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
(...skipping 11 matching lines...) Expand all
332 359
333 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( 360 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask(
334 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, " 361 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, "
335 "\"extension\": true}"), 362 "\"extension\": true}"),
336 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION); 363 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION);
337 } 364 }
338 365
339 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 366 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
340 BrowsingDataRemovalMask) { 367 BrowsingDataRemovalMask) {
341 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 368 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
342 "appcache", BrowsingDataRemover::REMOVE_APPCACHE); 369 "appcache", {&kBrowsingDataTypeAppCache});
370 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask("cache",
371 {&kBrowsingDataTypeCache});
343 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 372 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
344 "cache", BrowsingDataRemover::REMOVE_CACHE); 373 "cookies", {&kBrowsingDataTypeCookies});
345 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 374 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
346 "cookies", BrowsingDataRemover::REMOVE_COOKIES); 375 "downloads", {&kBrowsingDataTypeDownloads});
347 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 376 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
348 "downloads", BrowsingDataRemover::REMOVE_DOWNLOADS); 377 "fileSystems", {&kBrowsingDataTypeFileSystems});
349 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 378 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
350 "fileSystems", BrowsingDataRemover::REMOVE_FILE_SYSTEMS); 379 "formData", {&kBrowsingDataTypeFormData});
351 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 380 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
352 "formData", BrowsingDataRemover::REMOVE_FORM_DATA); 381 "history", {&kBrowsingDataTypeHistory});
353 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 382 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
354 "history", BrowsingDataRemover::REMOVE_HISTORY); 383 "indexedDB", {&kBrowsingDataTypeIndexedDB});
355 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 384 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
356 "indexedDB", BrowsingDataRemover::REMOVE_INDEXEDDB); 385 "localStorage", {&kBrowsingDataTypeLocalStorage});
357 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 386 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
358 "localStorage", BrowsingDataRemover::REMOVE_LOCAL_STORAGE); 387 "serverBoundCertificates", {&kBrowsingDataTypeChannelIDs});
359 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 388 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
360 "serverBoundCertificates", 389 "passwords", {&kBrowsingDataTypePasswords});
361 BrowsingDataRemover::REMOVE_CHANNEL_IDS);
362 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
363 "passwords", BrowsingDataRemover::REMOVE_PASSWORDS);
364 // We can't remove plugin data inside a test profile. 390 // We can't remove plugin data inside a test profile.
365 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 391 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
366 "serviceWorkers", BrowsingDataRemover::REMOVE_SERVICE_WORKERS); 392 "serviceWorkers", {&kBrowsingDataTypeServiceWorkers});
367 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 393 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
368 "cacheStorage", BrowsingDataRemover::REMOVE_CACHE_STORAGE); 394 "cacheStorage", {&kBrowsingDataTypeCacheStorage});
369 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( 395 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask("webSQL",
370 "webSQL", BrowsingDataRemover::REMOVE_WEBSQL); 396 {&kBrowsingDataTypeWebSQL});
371 } 397 }
372 398
373 // Test an arbitrary combination of data types. 399 // Test an arbitrary combination of data types.
374 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 400 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
375 BrowsingDataRemovalMaskCombination) { 401 BrowsingDataRemovalMaskCombination) {
376 RunBrowsingDataRemoveFunctionAndCompareRemovalMask( 402 RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
377 "{\"appcache\": true, \"cookies\": true, \"history\": true}", 403 "{\"appcache\": true, \"cookies\": true, \"history\": true}",
378 BrowsingDataRemover::REMOVE_APPCACHE | 404 {&kBrowsingDataTypeAppCache, &kBrowsingDataTypeCookies,
379 BrowsingDataRemover::REMOVE_COOKIES | 405 &kBrowsingDataTypeHistory});
380 BrowsingDataRemover::REMOVE_HISTORY);
381 } 406 }
382 407
383 // Make sure the remove() function accepts the format produced by settings(). 408 // Make sure the remove() function accepts the format produced by settings().
384 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, 409 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
385 BrowsingDataRemovalInputFromSettings) { 410 BrowsingDataRemovalInputFromSettings) {
386 PrefService* prefs = browser()->profile()->GetPrefs(); 411 PrefService* prefs = browser()->profile()->GetPrefs();
387 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true); 412 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true);
388 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true); 413 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true);
389 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true); 414 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true);
390 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false); 415 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false);
391 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false); 416 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false);
392 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false); 417 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false);
393 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false); 418 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false);
394 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false); 419 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false);
395 int expected_mask = BrowsingDataRemover::REMOVE_CACHE | 420 const std::set<const BrowsingDataType*>& expected_mask = {
396 BrowsingDataRemover::REMOVE_DOWNLOADS | 421 &kBrowsingDataTypeCache, &kBrowsingDataTypeDownloads,
397 BrowsingDataRemover::REMOVE_HISTORY; 422 &kBrowsingDataTypeHistory};
398 std::string json; 423 std::string json;
399 // Scoping for the traces. 424 // Scoping for the traces.
400 { 425 {
401 scoped_refptr<BrowsingDataSettingsFunction> settings_function = 426 scoped_refptr<BrowsingDataSettingsFunction> settings_function =
402 new BrowsingDataSettingsFunction(); 427 new BrowsingDataSettingsFunction();
403 SCOPED_TRACE("settings_json"); 428 SCOPED_TRACE("settings_json");
404 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( 429 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult(
405 settings_function.get(), std::string("[]"), browser())); 430 settings_function.get(), std::string("[]"), browser()));
406 431
407 base::DictionaryValue* result; 432 base::DictionaryValue* result;
(...skipping 12 matching lines...) Expand all
420 remove_function.get(), 445 remove_function.get(),
421 std::string("[{\"since\": 1},") + json + "]", 446 std::string("[{\"since\": 1},") + json + "]",
422 browser())); 447 browser()));
423 EXPECT_EQ(expected_mask, GetRemovalMask()); 448 EXPECT_EQ(expected_mask, GetRemovalMask());
424 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); 449 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask());
425 } 450 }
426 } 451 }
427 452
428 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) { 453 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) {
429 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>( 454 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>(
430 BrowsingDataRemover::REMOVE_APPCACHE); 455 {&kBrowsingDataTypeAppCache});
431 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>( 456 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>(
432 BrowsingDataRemover::REMOVE_CACHE); 457 {&kBrowsingDataTypeCache});
433 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>( 458 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>(
434 BrowsingDataRemover::REMOVE_COOKIES | 459 {&kBrowsingDataTypeCookies, &kBrowsingDataTypeChannelIDs});
435 BrowsingDataRemover::REMOVE_CHANNEL_IDS);
436 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>( 460 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>(
437 BrowsingDataRemover::REMOVE_DOWNLOADS); 461 {&kBrowsingDataTypeDownloads});
438 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>( 462 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>(
439 BrowsingDataRemover::REMOVE_FILE_SYSTEMS); 463 {&kBrowsingDataTypeFileSystems});
440 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>( 464 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>(
441 BrowsingDataRemover::REMOVE_FORM_DATA); 465 {&kBrowsingDataTypeFormData});
442 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>( 466 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>(
443 BrowsingDataRemover::REMOVE_HISTORY); 467 {&kBrowsingDataTypeHistory});
444 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>( 468 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>(
445 BrowsingDataRemover::REMOVE_INDEXEDDB); 469 {&kBrowsingDataTypeIndexedDB});
446 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>( 470 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>(
447 BrowsingDataRemover::REMOVE_LOCAL_STORAGE); 471 {&kBrowsingDataTypeLocalStorage});
448 // We can't remove plugin data inside a test profile. 472 // We can't remove plugin data inside a test profile.
449 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>( 473 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>(
450 BrowsingDataRemover::REMOVE_PASSWORDS); 474 {&kBrowsingDataTypePasswords});
451 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>( 475 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>(
452 BrowsingDataRemover::REMOVE_SERVICE_WORKERS); 476 {&kBrowsingDataTypeServiceWorkers});
453 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>( 477 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>(
454 BrowsingDataRemover::REMOVE_WEBSQL); 478 {&kBrowsingDataTypeWebSQL});
455 } 479 }
456 480
457 // Test the processing of the 'delete since' preference. 481 // Test the processing of the 'delete since' preference.
458 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) { 482 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) {
459 SetSinceAndVerify(browsing_data::ALL_TIME); 483 SetSinceAndVerify(browsing_data::ALL_TIME);
460 SetSinceAndVerify(browsing_data::LAST_HOUR); 484 SetSinceAndVerify(browsing_data::LAST_HOUR);
461 SetSinceAndVerify(browsing_data::LAST_DAY); 485 SetSinceAndVerify(browsing_data::LAST_DAY);
462 SetSinceAndVerify(browsing_data::LAST_WEEK); 486 SetSinceAndVerify(browsing_data::LAST_WEEK);
463 SetSinceAndVerify(browsing_data::FOUR_WEEKS); 487 SetSinceAndVerify(browsing_data::FOUR_WEEKS);
464 } 488 }
465 489
466 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) { 490 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) {
467 SetPrefsAndVerifySettings(0, 0, 0); 491 std::set<const BrowsingDataType*> empty_mask;
492 SetPrefsAndVerifySettings(empty_mask, 0, empty_mask);
468 } 493 }
469 494
470 // Test straightforward settings, mapped 1:1 to data types. 495 // Test straightforward settings, mapped 1:1 to data types.
471 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) { 496 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) {
472 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_CACHE, 0, 497 SetPrefsAndVerifySettings({&kBrowsingDataTypeCache}, 0,
473 BrowsingDataRemover::REMOVE_CACHE); 498 {&kBrowsingDataTypeCache});
474 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_HISTORY, 0, 499 SetPrefsAndVerifySettings({&kBrowsingDataTypeHistory}, 0,
475 BrowsingDataRemover::REMOVE_HISTORY); 500 {&kBrowsingDataTypeHistory});
476 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_FORM_DATA, 0, 501 SetPrefsAndVerifySettings({&kBrowsingDataTypeFormData}, 0,
477 BrowsingDataRemover::REMOVE_FORM_DATA); 502 {&kBrowsingDataTypeFormData});
478 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_DOWNLOADS, 0, 503 SetPrefsAndVerifySettings({&kBrowsingDataTypeDownloads}, 0,
479 BrowsingDataRemover::REMOVE_DOWNLOADS); 504 {&kBrowsingDataTypeDownloads});
480 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_PASSWORDS, 0, 505 SetPrefsAndVerifySettings({&kBrowsingDataTypePasswords}, 0,
481 BrowsingDataRemover::REMOVE_PASSWORDS); 506 {&kBrowsingDataTypePasswords});
482 } 507 }
483 508
484 // Test cookie and app data settings. 509 // Test cookie and app data settings.
485 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { 510 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) {
486 int site_data_no_durable_or_usage_or_external = 511 std::set<const BrowsingDataType*> site_data_no_durable_or_usage_or_external =
487 BrowsingDataRemover::REMOVE_SITE_DATA & 512 BrowsingDataTypeSetSiteData();
488 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 513 site_data_no_durable_or_usage_or_external.erase(
489 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 514 &kBrowsingDataTypeSiteUsageData);
490 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; 515 site_data_no_durable_or_usage_or_external.erase(
491 int site_data_no_plugins_durable_usage_external = 516 &kBrowsingDataTypeDurablePermission);
492 site_data_no_durable_or_usage_or_external & 517 site_data_no_durable_or_usage_or_external.erase(
493 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; 518 &kBrowsingDataTypeExternalProtocolData);
519 std::set<const BrowsingDataType*>
520 site_data_no_plugins_durable_usage_external =
521 site_data_no_durable_or_usage_or_external;
522 site_data_no_plugins_durable_usage_external.erase(
523 &kBrowsingDataTypePluginData);
494 524
495 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES, 525 SetPrefsAndVerifySettings({&kBrowsingDataTypeCookies}, UNPROTECTED_WEB,
496 UNPROTECTED_WEB, 526 site_data_no_plugins_durable_usage_external);
527 SetPrefsAndVerifySettings({&kBrowsingDataTypeHostedAppDataTestOnly},
528 PROTECTED_WEB,
497 site_data_no_plugins_durable_usage_external); 529 site_data_no_plugins_durable_usage_external);
498 SetPrefsAndVerifySettings( 530 SetPrefsAndVerifySettings(
499 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, PROTECTED_WEB, 531 {&kBrowsingDataTypeCookies, &kBrowsingDataTypeHostedAppDataTestOnly},
532 PROTECTED_WEB | UNPROTECTED_WEB,
500 site_data_no_plugins_durable_usage_external); 533 site_data_no_plugins_durable_usage_external);
501 SetPrefsAndVerifySettings( 534 SetPrefsAndVerifySettings(
502 BrowsingDataRemover::REMOVE_COOKIES | 535 {&kBrowsingDataTypeCookies, &kBrowsingDataTypePluginData},
503 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, 536 UNPROTECTED_WEB, site_data_no_durable_or_usage_or_external);
504 PROTECTED_WEB | UNPROTECTED_WEB,
505 site_data_no_plugins_durable_usage_external);
506 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES |
507 BrowsingDataRemover::REMOVE_PLUGIN_DATA,
508 UNPROTECTED_WEB,
509 site_data_no_durable_or_usage_or_external);
510 } 537 }
511 538
512 // Test an arbitrary assortment of settings. 539 // Test an arbitrary assortment of settings.
513 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { 540 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) {
514 int site_data_no_plugins_durable_usage_external = 541 std::set<const BrowsingDataType*>
515 BrowsingDataRemover::REMOVE_SITE_DATA & 542 site_data_no_plugins_durable_usage_external =
516 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & 543 BrowsingDataTypeSetSiteData();
517 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & 544 site_data_no_plugins_durable_usage_external.erase(
518 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & 545 &kBrowsingDataTypeDurablePermission);
519 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; 546 site_data_no_plugins_durable_usage_external.erase(
547 &kBrowsingDataTypeSiteUsageData);
548 site_data_no_plugins_durable_usage_external.erase(
549 &kBrowsingDataTypePluginData);
550 site_data_no_plugins_durable_usage_external.erase(
551 &kBrowsingDataTypeExternalProtocolData);
520 552
521 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES | 553 std::set<const BrowsingDataType*> expected_mask =
522 BrowsingDataRemover::REMOVE_HISTORY | 554 site_data_no_plugins_durable_usage_external;
523 BrowsingDataRemover::REMOVE_DOWNLOADS, 555 expected_mask.insert(&kBrowsingDataTypeHistory);
524 UNPROTECTED_WEB, 556 expected_mask.insert(&kBrowsingDataTypeDownloads);
525 site_data_no_plugins_durable_usage_external | 557
526 BrowsingDataRemover::REMOVE_HISTORY | 558 SetPrefsAndVerifySettings(
527 BrowsingDataRemover::REMOVE_DOWNLOADS); 559 {&kBrowsingDataTypeCookies, &kBrowsingDataTypeHistory,
560 &kBrowsingDataTypeDownloads},
561 UNPROTECTED_WEB, expected_mask);
528 } 562 }
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