| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |