| 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 |
| 15 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" | |
| 16 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" | 15 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" |
| 17 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" | 16 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" |
| 18 #include "chrome/browser/extensions/extension_function_test_utils.h" | 17 #include "chrome/browser/extensions/extension_function_test_utils.h" |
| 19 #include "chrome/browser/profiles/profile.h" | 18 #include "chrome/browser/profiles/profile.h" |
| 20 #include "chrome/browser/ui/browser.h" | 19 #include "chrome/browser/ui/browser.h" |
| 21 #include "chrome/common/pref_names.h" | 20 #include "chrome/common/pref_names.h" |
| 22 #include "chrome/test/base/in_process_browser_test.h" | 21 #include "chrome/test/base/in_process_browser_test.h" |
| 23 #include "components/browsing_data/core/browsing_data_utils.h" | 22 #include "components/browsing_data/core/browsing_data_utils.h" |
| 24 #include "components/browsing_data/core/pref_names.h" | 23 #include "components/browsing_data/core/pref_names.h" |
| 25 #include "components/prefs/pref_service.h" | 24 #include "components/prefs/pref_service.h" |
| 25 #include "content/public/browser/browsing_data_remover.h" |
| 26 | 26 |
| 27 using extension_function_test_utils::RunFunctionAndReturnError; | 27 using extension_function_test_utils::RunFunctionAndReturnError; |
| 28 using extension_function_test_utils::RunFunctionAndReturnSingleResult; | 28 using extension_function_test_utils::RunFunctionAndReturnSingleResult; |
| 29 | 29 |
| 30 namespace { | 30 namespace { |
| 31 | 31 |
| 32 enum OriginTypeMask { | 32 enum OriginTypeMask { |
| 33 UNPROTECTED_WEB = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, | 33 UNPROTECTED_WEB = content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 34 PROTECTED_WEB = BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, | 34 PROTECTED_WEB = content::BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB, |
| 35 EXTENSION = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION | 35 EXTENSION = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 const char kRemoveEverythingArguments[] = | 38 const char kRemoveEverythingArguments[] = |
| 39 "[{\"since\": 1000}, {" | 39 "[{\"since\": 1000}, {" |
| 40 "\"appcache\": true, \"cache\": true, \"cookies\": true, " | 40 "\"appcache\": true, \"cache\": true, \"cookies\": true, " |
| 41 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, " | 41 "\"downloads\": true, \"fileSystems\": true, \"formData\": true, " |
| 42 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, " | 42 "\"history\": true, \"indexedDB\": true, \"localStorage\": true, " |
| 43 "\"serverBoundCertificates\": true, \"passwords\": true, " | 43 "\"serverBoundCertificates\": true, \"passwords\": true, " |
| 44 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, " | 44 "\"pluginData\": true, \"serviceWorkers\": true, \"cacheStorage\": true, " |
| (...skipping 10 matching lines...) Expand all Loading... |
| 55 return remover_->GetLastUsedRemovalMask(); | 55 return remover_->GetLastUsedRemovalMask(); |
| 56 } | 56 } |
| 57 | 57 |
| 58 int GetOriginTypeMask() { | 58 int GetOriginTypeMask() { |
| 59 return remover_->GetLastUsedOriginTypeMask(); | 59 return remover_->GetLastUsedOriginTypeMask(); |
| 60 } | 60 } |
| 61 | 61 |
| 62 protected: | 62 protected: |
| 63 void SetUpOnMainThread() override { | 63 void SetUpOnMainThread() override { |
| 64 remover_ = | 64 remover_ = |
| 65 BrowsingDataRemoverFactory::GetForBrowserContext(browser()->profile()); | 65 content::BrowserContext::GetBrowsingDataRemover(browser()->profile()); |
| 66 } | 66 } |
| 67 | 67 |
| 68 int GetAsMask(const base::DictionaryValue* dict, std::string path, | 68 int GetAsMask(const base::DictionaryValue* dict, std::string path, |
| 69 int mask_value) { | 69 int mask_value) { |
| 70 bool result; | 70 bool result; |
| 71 EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path; | 71 EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path; |
| 72 return result ? mask_value : 0; | 72 return result ? mask_value : 0; |
| 73 } | 73 } |
| 74 | 74 |
| 75 void RunBrowsingDataRemoveFunctionAndCompareRemovalMask( | 75 void RunBrowsingDataRemoveFunctionAndCompareRemovalMask( |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 // sufficient. | 149 // sufficient. |
| 150 EXPECT_LE(expected_since, since + 10.0 * 1000.0); | 150 EXPECT_LE(expected_since, since + 10.0 * 1000.0); |
| 151 } | 151 } |
| 152 | 152 |
| 153 void SetPrefsAndVerifySettings(int data_type_flags, | 153 void SetPrefsAndVerifySettings(int data_type_flags, |
| 154 int expected_origin_type_mask, | 154 int expected_origin_type_mask, |
| 155 int expected_removal_mask) { | 155 int expected_removal_mask) { |
| 156 PrefService* prefs = browser()->profile()->GetPrefs(); | 156 PrefService* prefs = browser()->profile()->GetPrefs(); |
| 157 prefs->SetBoolean( | 157 prefs->SetBoolean( |
| 158 browsing_data::prefs::kDeleteCache, | 158 browsing_data::prefs::kDeleteCache, |
| 159 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_CACHE)); | 159 !!(data_type_flags & content::BrowsingDataRemover::DATA_TYPE_CACHE)); |
| 160 prefs->SetBoolean( | 160 prefs->SetBoolean( |
| 161 browsing_data::prefs::kDeleteCookies, | 161 browsing_data::prefs::kDeleteCookies, |
| 162 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_COOKIES)); | 162 !!(data_type_flags & content::BrowsingDataRemover::DATA_TYPE_COOKIES)); |
| 163 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, | 163 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, |
| 164 !!(data_type_flags & | 164 !!(data_type_flags & |
| 165 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY)); | 165 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY)); |
| 166 prefs->SetBoolean( | 166 prefs->SetBoolean( |
| 167 browsing_data::prefs::kDeleteFormData, | 167 browsing_data::prefs::kDeleteFormData, |
| 168 !!(data_type_flags & | 168 !!(data_type_flags & |
| 169 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA)); | 169 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA)); |
| 170 prefs->SetBoolean( | 170 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, |
| 171 browsing_data::prefs::kDeleteDownloadHistory, | 171 !!(data_type_flags & |
| 172 !!(data_type_flags & BrowsingDataRemover::DATA_TYPE_DOWNLOADS)); | 172 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS)); |
| 173 prefs->SetBoolean( | 173 prefs->SetBoolean( |
| 174 browsing_data::prefs::kDeleteHostedAppsData, | 174 browsing_data::prefs::kDeleteHostedAppsData, |
| 175 !!(data_type_flags & ChromeBrowsingDataRemoverDelegate:: | 175 !!(data_type_flags & ChromeBrowsingDataRemoverDelegate:: |
| 176 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY)); | 176 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY)); |
| 177 prefs->SetBoolean( | 177 prefs->SetBoolean( |
| 178 browsing_data::prefs::kDeletePasswords, | 178 browsing_data::prefs::kDeletePasswords, |
| 179 !!(data_type_flags & | 179 !!(data_type_flags & |
| 180 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS)); | 180 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS)); |
| 181 prefs->SetBoolean( | 181 prefs->SetBoolean( |
| 182 prefs::kClearPluginLSODataEnabled, | 182 prefs::kClearPluginLSODataEnabled, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 200 UNPROTECTED_WEB) | | 200 UNPROTECTED_WEB) | |
| 201 GetAsMask(origin_types, "protectedWeb", | 201 GetAsMask(origin_types, "protectedWeb", |
| 202 PROTECTED_WEB) | | 202 PROTECTED_WEB) | |
| 203 GetAsMask(origin_types, "extension", EXTENSION); | 203 GetAsMask(origin_types, "extension", EXTENSION); |
| 204 EXPECT_EQ(expected_origin_type_mask, origin_type_mask); | 204 EXPECT_EQ(expected_origin_type_mask, origin_type_mask); |
| 205 | 205 |
| 206 base::DictionaryValue* data_to_remove; | 206 base::DictionaryValue* data_to_remove; |
| 207 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove)); | 207 EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove)); |
| 208 int removal_mask = | 208 int removal_mask = |
| 209 GetAsMask(data_to_remove, "appcache", | 209 GetAsMask(data_to_remove, "appcache", |
| 210 BrowsingDataRemover::DATA_TYPE_APP_CACHE) | | 210 content::BrowsingDataRemover::DATA_TYPE_APP_CACHE) | |
| 211 GetAsMask(data_to_remove, "cache", | 211 GetAsMask(data_to_remove, "cache", |
| 212 BrowsingDataRemover::DATA_TYPE_CACHE) | | 212 content::BrowsingDataRemover::DATA_TYPE_CACHE) | |
| 213 GetAsMask(data_to_remove, "cookies", | 213 GetAsMask(data_to_remove, "cookies", |
| 214 BrowsingDataRemover::DATA_TYPE_COOKIES) | | 214 content::BrowsingDataRemover::DATA_TYPE_COOKIES) | |
| 215 GetAsMask(data_to_remove, "downloads", | 215 GetAsMask(data_to_remove, "downloads", |
| 216 BrowsingDataRemover::DATA_TYPE_DOWNLOADS) | | 216 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS) | |
| 217 GetAsMask(data_to_remove, "fileSystems", | 217 GetAsMask(data_to_remove, "fileSystems", |
| 218 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS) | | 218 content::BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS) | |
| 219 GetAsMask(data_to_remove, "formData", | 219 GetAsMask(data_to_remove, "formData", |
| 220 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA) | | 220 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA) | |
| 221 GetAsMask(data_to_remove, "history", | 221 GetAsMask(data_to_remove, "history", |
| 222 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY) | | 222 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY) | |
| 223 GetAsMask(data_to_remove, "indexedDB", | 223 GetAsMask(data_to_remove, "indexedDB", |
| 224 BrowsingDataRemover::DATA_TYPE_INDEXED_DB) | | 224 content::BrowsingDataRemover::DATA_TYPE_INDEXED_DB) | |
| 225 GetAsMask(data_to_remove, "localStorage", | 225 GetAsMask(data_to_remove, "localStorage", |
| 226 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE) | | 226 content::BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE) | |
| 227 GetAsMask(data_to_remove, "pluginData", | 227 GetAsMask(data_to_remove, "pluginData", |
| 228 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA) | | 228 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA) | |
| 229 GetAsMask(data_to_remove, "passwords", | 229 GetAsMask(data_to_remove, "passwords", |
| 230 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) | | 230 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) | |
| 231 GetAsMask(data_to_remove, "serviceWorkers", | 231 GetAsMask(data_to_remove, "serviceWorkers", |
| 232 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS) | | 232 content::BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS) | |
| 233 GetAsMask(data_to_remove, "cacheStorage", | 233 GetAsMask(data_to_remove, "cacheStorage", |
| 234 BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE) | | 234 content::BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE) | |
| 235 GetAsMask(data_to_remove, "webSQL", | 235 GetAsMask(data_to_remove, "webSQL", |
| 236 BrowsingDataRemover::DATA_TYPE_WEB_SQL) | | 236 content::BrowsingDataRemover::DATA_TYPE_WEB_SQL) | |
| 237 GetAsMask(data_to_remove, "serverBoundCertificates", | 237 GetAsMask(data_to_remove, "serverBoundCertificates", |
| 238 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); | 238 content::BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); |
| 239 | 239 |
| 240 EXPECT_EQ(expected_removal_mask, removal_mask); | 240 EXPECT_EQ(expected_removal_mask, removal_mask); |
| 241 } | 241 } |
| 242 | 242 |
| 243 // The kAllowDeletingBrowserHistory pref must be set to false before this | 243 // The kAllowDeletingBrowserHistory pref must be set to false before this |
| 244 // is called. | 244 // is called. |
| 245 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { | 245 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { |
| 246 scoped_refptr<BrowsingDataRemoveFunction> function = | 246 scoped_refptr<BrowsingDataRemoveFunction> function = |
| 247 new BrowsingDataRemoveFunction(); | 247 new BrowsingDataRemoveFunction(); |
| 248 std::string args = "[{\"since\": 1}," + data_types + "]"; | 248 std::string args = "[{\"since\": 1}," + data_types + "]"; |
| 249 | 249 |
| 250 if (permitted) { | 250 if (permitted) { |
| 251 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult( | 251 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult( |
| 252 function.get(), args, browser())) << " for " << args; | 252 function.get(), args, browser())) << " for " << args; |
| 253 } else { | 253 } else { |
| 254 EXPECT_TRUE(base::MatchPattern( | 254 EXPECT_TRUE(base::MatchPattern( |
| 255 RunFunctionAndReturnError(function.get(), args, browser()), | 255 RunFunctionAndReturnError(function.get(), args, browser()), |
| 256 extension_browsing_data_api_constants::kDeleteProhibitedError)) | 256 extension_browsing_data_api_constants::kDeleteProhibitedError)) |
| 257 << " for " << args; | 257 << " for " << args; |
| 258 } | 258 } |
| 259 } | 259 } |
| 260 | 260 |
| 261 private: | 261 private: |
| 262 // Cached pointer to BrowsingDataRemover for access to testing methods. | 262 // Cached pointer to BrowsingDataRemover for access to testing methods. |
| 263 BrowsingDataRemover* remover_; | 263 content::BrowsingDataRemover* remover_; |
| 264 }; | 264 }; |
| 265 | 265 |
| 266 } // namespace | 266 } // namespace |
| 267 | 267 |
| 268 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemovalProhibited) { | 268 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemovalProhibited) { |
| 269 PrefService* prefs = browser()->profile()->GetPrefs(); | 269 PrefService* prefs = browser()->profile()->GetPrefs(); |
| 270 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 270 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
| 271 | 271 |
| 272 CheckRemovalPermitted("{\"appcache\": true}", true); | 272 CheckRemovalPermitted("{\"appcache\": true}", true); |
| 273 CheckRemovalPermitted("{\"cache\": true}", true); | 273 CheckRemovalPermitted("{\"cache\": true}", true); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 298 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { | 298 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { |
| 299 scoped_refptr<BrowsingDataRemoveFunction> function = | 299 scoped_refptr<BrowsingDataRemoveFunction> function = |
| 300 new BrowsingDataRemoveFunction(); | 300 new BrowsingDataRemoveFunction(); |
| 301 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), | 301 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), |
| 302 kRemoveEverythingArguments, | 302 kRemoveEverythingArguments, |
| 303 browser())); | 303 browser())); |
| 304 | 304 |
| 305 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); | 305 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); |
| 306 EXPECT_EQ( | 306 EXPECT_EQ( |
| 307 (ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA | | 307 (ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA | |
| 308 BrowsingDataRemover::DATA_TYPE_CACHE | | 308 content::BrowsingDataRemover::DATA_TYPE_CACHE | |
| 309 BrowsingDataRemover::DATA_TYPE_DOWNLOADS | | 309 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS | |
| 310 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA | | 310 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA | |
| 311 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 311 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 312 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) & | 312 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS) & |
| 313 // TODO(benwells): implement clearing of site usage data via the | 313 // TODO(benwells): implement clearing of site usage data via the |
| 314 // browsing data API. https://crbug.com/500801. | 314 // browsing data API. https://crbug.com/500801. |
| 315 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & | 315 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & |
| 316 // TODO(dmurph): implement clearing of durable storage permission | 316 // TODO(dmurph): implement clearing of durable storage permission |
| 317 // via the browsing data API. https://crbug.com/500801. | 317 // via the browsing data API. https://crbug.com/500801. |
| 318 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & | 318 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & |
| 319 // We can't remove plugin data inside a test profile. | 319 // We can't remove plugin data inside a test profile. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 346 | 346 |
| 347 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( | 347 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( |
| 348 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, " | 348 ("{\"unprotectedWeb\": true, \"protectedWeb\": true, " |
| 349 "\"extension\": true}"), | 349 "\"extension\": true}"), |
| 350 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION); | 350 UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION); |
| 351 } | 351 } |
| 352 | 352 |
| 353 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, | 353 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, |
| 354 BrowsingDataRemovalMask) { | 354 BrowsingDataRemovalMask) { |
| 355 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 355 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 356 "appcache", BrowsingDataRemover::DATA_TYPE_APP_CACHE); | 356 "appcache", content::BrowsingDataRemover::DATA_TYPE_APP_CACHE); |
| 357 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 357 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 358 "cache", BrowsingDataRemover::DATA_TYPE_CACHE); | 358 "cache", content::BrowsingDataRemover::DATA_TYPE_CACHE); |
| 359 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 359 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 360 "cookies", BrowsingDataRemover::DATA_TYPE_COOKIES); | 360 "cookies", content::BrowsingDataRemover::DATA_TYPE_COOKIES); |
| 361 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 361 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 362 "downloads", BrowsingDataRemover::DATA_TYPE_DOWNLOADS); | 362 "downloads", content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS); |
| 363 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 363 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 364 "fileSystems", BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS); | 364 "fileSystems", content::BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS); |
| 365 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 365 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 366 "formData", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); | 366 "formData", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); |
| 367 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 367 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 368 "history", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); | 368 "history", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); |
| 369 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 369 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 370 "indexedDB", BrowsingDataRemover::DATA_TYPE_INDEXED_DB); | 370 "indexedDB", content::BrowsingDataRemover::DATA_TYPE_INDEXED_DB); |
| 371 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 371 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 372 "localStorage", BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE); | 372 "localStorage", content::BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE); |
| 373 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 373 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 374 "serverBoundCertificates", BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); | 374 "serverBoundCertificates", |
| 375 content::BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); |
| 375 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 376 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 376 "passwords", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); | 377 "passwords", ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); |
| 377 // We can't remove plugin data inside a test profile. | 378 // We can't remove plugin data inside a test profile. |
| 378 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 379 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 379 "serviceWorkers", BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS); | 380 "serviceWorkers", |
| 381 content::BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS); |
| 380 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 382 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 381 "cacheStorage", BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE); | 383 "cacheStorage", content::BrowsingDataRemover::DATA_TYPE_CACHE_STORAGE); |
| 382 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( | 384 RunBrowsingDataRemoveWithKeyAndCompareRemovalMask( |
| 383 "webSQL", BrowsingDataRemover::DATA_TYPE_WEB_SQL); | 385 "webSQL", content::BrowsingDataRemover::DATA_TYPE_WEB_SQL); |
| 384 } | 386 } |
| 385 | 387 |
| 386 // Test an arbitrary combination of data types. | 388 // Test an arbitrary combination of data types. |
| 387 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, | 389 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, |
| 388 BrowsingDataRemovalMaskCombination) { | 390 BrowsingDataRemovalMaskCombination) { |
| 389 RunBrowsingDataRemoveFunctionAndCompareRemovalMask( | 391 RunBrowsingDataRemoveFunctionAndCompareRemovalMask( |
| 390 "{\"appcache\": true, \"cookies\": true, \"history\": true}", | 392 "{\"appcache\": true, \"cookies\": true, \"history\": true}", |
| 391 BrowsingDataRemover::DATA_TYPE_APP_CACHE | | 393 content::BrowsingDataRemover::DATA_TYPE_APP_CACHE | |
| 392 BrowsingDataRemover::DATA_TYPE_COOKIES | | 394 content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 393 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); | 395 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); |
| 394 } | 396 } |
| 395 | 397 |
| 396 // Make sure the remove() function accepts the format produced by settings(). | 398 // Make sure the remove() function accepts the format produced by settings(). |
| 397 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, | 399 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, |
| 398 BrowsingDataRemovalInputFromSettings) { | 400 BrowsingDataRemovalInputFromSettings) { |
| 399 PrefService* prefs = browser()->profile()->GetPrefs(); | 401 PrefService* prefs = browser()->profile()->GetPrefs(); |
| 400 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true); | 402 prefs->SetBoolean(browsing_data::prefs::kDeleteCache, true); |
| 401 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true); | 403 prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory, true); |
| 402 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true); | 404 prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory, true); |
| 403 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false); | 405 prefs->SetBoolean(browsing_data::prefs::kDeleteCookies, false); |
| 404 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false); | 406 prefs->SetBoolean(browsing_data::prefs::kDeleteFormData, false); |
| 405 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false); | 407 prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false); |
| 406 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false); | 408 prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false); |
| 407 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false); | 409 prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false); |
| 408 int expected_mask = BrowsingDataRemover::DATA_TYPE_CACHE | | 410 int expected_mask = content::BrowsingDataRemover::DATA_TYPE_CACHE | |
| 409 BrowsingDataRemover::DATA_TYPE_DOWNLOADS | | 411 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS | |
| 410 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY; | 412 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY; |
| 411 std::string json; | 413 std::string json; |
| 412 // Scoping for the traces. | 414 // Scoping for the traces. |
| 413 { | 415 { |
| 414 scoped_refptr<BrowsingDataSettingsFunction> settings_function = | 416 scoped_refptr<BrowsingDataSettingsFunction> settings_function = |
| 415 new BrowsingDataSettingsFunction(); | 417 new BrowsingDataSettingsFunction(); |
| 416 SCOPED_TRACE("settings_json"); | 418 SCOPED_TRACE("settings_json"); |
| 417 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( | 419 std::unique_ptr<base::Value> result_value(RunFunctionAndReturnSingleResult( |
| 418 settings_function.get(), std::string("[]"), browser())); | 420 settings_function.get(), std::string("[]"), browser())); |
| 419 | 421 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 433 remove_function.get(), | 435 remove_function.get(), |
| 434 std::string("[{\"since\": 1},") + json + "]", | 436 std::string("[{\"since\": 1},") + json + "]", |
| 435 browser())); | 437 browser())); |
| 436 EXPECT_EQ(expected_mask, GetRemovalMask()); | 438 EXPECT_EQ(expected_mask, GetRemovalMask()); |
| 437 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); | 439 EXPECT_EQ(UNPROTECTED_WEB, GetOriginTypeMask()); |
| 438 } | 440 } |
| 439 } | 441 } |
| 440 | 442 |
| 441 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) { | 443 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) { |
| 442 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>( | 444 RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>( |
| 443 BrowsingDataRemover::DATA_TYPE_APP_CACHE); | 445 content::BrowsingDataRemover::DATA_TYPE_APP_CACHE); |
| 444 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>( | 446 RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>( |
| 445 BrowsingDataRemover::DATA_TYPE_CACHE); | 447 content::BrowsingDataRemover::DATA_TYPE_CACHE); |
| 446 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>( | 448 RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>( |
| 447 BrowsingDataRemover::DATA_TYPE_COOKIES | | 449 content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 448 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); | 450 content::BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS); |
| 449 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>( | 451 RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>( |
| 450 BrowsingDataRemover::DATA_TYPE_DOWNLOADS); | 452 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS); |
| 451 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>( | 453 RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>( |
| 452 BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS); | 454 content::BrowsingDataRemover::DATA_TYPE_FILE_SYSTEMS); |
| 453 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>( | 455 RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>( |
| 454 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); | 456 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); |
| 455 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>( | 457 RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>( |
| 456 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); | 458 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); |
| 457 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>( | 459 RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>( |
| 458 BrowsingDataRemover::DATA_TYPE_INDEXED_DB); | 460 content::BrowsingDataRemover::DATA_TYPE_INDEXED_DB); |
| 459 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>( | 461 RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>( |
| 460 BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE); | 462 content::BrowsingDataRemover::DATA_TYPE_LOCAL_STORAGE); |
| 461 // We can't remove plugin data inside a test profile. | 463 // We can't remove plugin data inside a test profile. |
| 462 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>( | 464 RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>( |
| 463 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); | 465 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); |
| 464 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>( | 466 RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>( |
| 465 BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS); | 467 content::BrowsingDataRemover::DATA_TYPE_SERVICE_WORKERS); |
| 466 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>( | 468 RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>( |
| 467 BrowsingDataRemover::DATA_TYPE_WEB_SQL); | 469 content::BrowsingDataRemover::DATA_TYPE_WEB_SQL); |
| 468 } | 470 } |
| 469 | 471 |
| 470 // Test the processing of the 'delete since' preference. | 472 // Test the processing of the 'delete since' preference. |
| 471 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) { | 473 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) { |
| 472 SetSinceAndVerify(browsing_data::TimePeriod::ALL_TIME); | 474 SetSinceAndVerify(browsing_data::TimePeriod::ALL_TIME); |
| 473 SetSinceAndVerify(browsing_data::TimePeriod::LAST_HOUR); | 475 SetSinceAndVerify(browsing_data::TimePeriod::LAST_HOUR); |
| 474 SetSinceAndVerify(browsing_data::TimePeriod::LAST_DAY); | 476 SetSinceAndVerify(browsing_data::TimePeriod::LAST_DAY); |
| 475 SetSinceAndVerify(browsing_data::TimePeriod::LAST_WEEK); | 477 SetSinceAndVerify(browsing_data::TimePeriod::LAST_WEEK); |
| 476 SetSinceAndVerify(browsing_data::TimePeriod::FOUR_WEEKS); | 478 SetSinceAndVerify(browsing_data::TimePeriod::FOUR_WEEKS); |
| 477 } | 479 } |
| 478 | 480 |
| 479 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) { | 481 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) { |
| 480 SetPrefsAndVerifySettings(0, 0, 0); | 482 SetPrefsAndVerifySettings(0, 0, 0); |
| 481 } | 483 } |
| 482 | 484 |
| 483 // Test straightforward settings, mapped 1:1 to data types. | 485 // Test straightforward settings, mapped 1:1 to data types. |
| 484 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) { | 486 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) { |
| 485 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_CACHE, 0, | 487 SetPrefsAndVerifySettings(content::BrowsingDataRemover::DATA_TYPE_CACHE, 0, |
| 486 BrowsingDataRemover::DATA_TYPE_CACHE); | 488 content::BrowsingDataRemover::DATA_TYPE_CACHE); |
| 487 SetPrefsAndVerifySettings( | 489 SetPrefsAndVerifySettings( |
| 488 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, 0, | 490 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, 0, |
| 489 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); | 491 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY); |
| 490 SetPrefsAndVerifySettings( | 492 SetPrefsAndVerifySettings( |
| 491 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, 0, | 493 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, 0, |
| 492 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); | 494 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA); |
| 493 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_DOWNLOADS, 0, | 495 SetPrefsAndVerifySettings(content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
| 494 BrowsingDataRemover::DATA_TYPE_DOWNLOADS); | 496 0, |
| 497 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS); |
| 495 SetPrefsAndVerifySettings( | 498 SetPrefsAndVerifySettings( |
| 496 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, 0, | 499 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, 0, |
| 497 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); | 500 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS); |
| 498 } | 501 } |
| 499 | 502 |
| 500 // Test cookie and app data settings. | 503 // Test cookie and app data settings. |
| 501 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { | 504 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { |
| 502 int site_data_no_durable_or_usage_or_external = | 505 int site_data_no_durable_or_usage_or_external = |
| 503 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA & | 506 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA & |
| 504 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & | 507 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & |
| 505 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & | 508 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & |
| 506 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA; | 509 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA; |
| 507 int site_data_no_plugins_durable_usage_external = | 510 int site_data_no_plugins_durable_usage_external = |
| 508 site_data_no_durable_or_usage_or_external & | 511 site_data_no_durable_or_usage_or_external & |
| 509 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA; | 512 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA; |
| 510 | 513 |
| 511 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_COOKIES, | 514 SetPrefsAndVerifySettings(content::BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 512 UNPROTECTED_WEB, | 515 UNPROTECTED_WEB, |
| 513 site_data_no_plugins_durable_usage_external); | 516 site_data_no_plugins_durable_usage_external); |
| 514 SetPrefsAndVerifySettings( | 517 SetPrefsAndVerifySettings( |
| 515 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY, | 518 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY, |
| 516 PROTECTED_WEB, site_data_no_plugins_durable_usage_external); | 519 PROTECTED_WEB, site_data_no_plugins_durable_usage_external); |
| 517 SetPrefsAndVerifySettings(BrowsingDataRemover::DATA_TYPE_COOKIES | | 520 SetPrefsAndVerifySettings(content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 518 ChromeBrowsingDataRemoverDelegate:: | 521 ChromeBrowsingDataRemoverDelegate:: |
| 519 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY, | 522 DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY, |
| 520 PROTECTED_WEB | UNPROTECTED_WEB, | 523 PROTECTED_WEB | UNPROTECTED_WEB, |
| 521 site_data_no_plugins_durable_usage_external); | 524 site_data_no_plugins_durable_usage_external); |
| 522 SetPrefsAndVerifySettings( | 525 SetPrefsAndVerifySettings( |
| 523 BrowsingDataRemover::DATA_TYPE_COOKIES | | 526 content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 524 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA, | 527 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA, |
| 525 UNPROTECTED_WEB, site_data_no_durable_or_usage_or_external); | 528 UNPROTECTED_WEB, site_data_no_durable_or_usage_or_external); |
| 526 } | 529 } |
| 527 | 530 |
| 528 // Test an arbitrary assortment of settings. | 531 // Test an arbitrary assortment of settings. |
| 529 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { | 532 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { |
| 530 int site_data_no_plugins_durable_usage_external = | 533 int site_data_no_plugins_durable_usage_external = |
| 531 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA & | 534 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA & |
| 532 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & | 535 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION & |
| 533 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & | 536 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA & |
| 534 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA & | 537 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA & |
| 535 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA; | 538 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA; |
| 536 | 539 |
| 537 SetPrefsAndVerifySettings( | 540 SetPrefsAndVerifySettings( |
| 538 BrowsingDataRemover::DATA_TYPE_COOKIES | | 541 content::BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 539 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 542 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 540 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, | 543 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
| 541 UNPROTECTED_WEB, | 544 UNPROTECTED_WEB, |
| 542 site_data_no_plugins_durable_usage_external | | 545 site_data_no_plugins_durable_usage_external | |
| 543 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | | 546 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 544 BrowsingDataRemover::DATA_TYPE_DOWNLOADS); | 547 content::BrowsingDataRemover::DATA_TYPE_DOWNLOADS); |
| 545 } | 548 } |
| OLD | NEW |