| 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" |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 GetAsMask(data_to_remove, "passwords", | 215 GetAsMask(data_to_remove, "passwords", |
| 216 BrowsingDataRemover::REMOVE_PASSWORDS) | | 216 BrowsingDataRemover::REMOVE_PASSWORDS) | |
| 217 GetAsMask(data_to_remove, "serviceWorkers", | 217 GetAsMask(data_to_remove, "serviceWorkers", |
| 218 BrowsingDataRemover::REMOVE_SERVICE_WORKERS) | | 218 BrowsingDataRemover::REMOVE_SERVICE_WORKERS) | |
| 219 GetAsMask(data_to_remove, "cacheStorage", | 219 GetAsMask(data_to_remove, "cacheStorage", |
| 220 BrowsingDataRemover::REMOVE_CACHE_STORAGE) | | 220 BrowsingDataRemover::REMOVE_CACHE_STORAGE) | |
| 221 GetAsMask(data_to_remove, "webSQL", | 221 GetAsMask(data_to_remove, "webSQL", |
| 222 BrowsingDataRemover::REMOVE_WEBSQL) | | 222 BrowsingDataRemover::REMOVE_WEBSQL) | |
| 223 GetAsMask(data_to_remove, "serverBoundCertificates", | 223 GetAsMask(data_to_remove, "serverBoundCertificates", |
| 224 BrowsingDataRemover::REMOVE_CHANNEL_IDS); | 224 BrowsingDataRemover::REMOVE_CHANNEL_IDS); |
| 225 |
| 225 EXPECT_EQ(expected_removal_mask, removal_mask); | 226 EXPECT_EQ(expected_removal_mask, removal_mask); |
| 226 } | 227 } |
| 227 | 228 |
| 228 // The kAllowDeletingBrowserHistory pref must be set to false before this | 229 // The kAllowDeletingBrowserHistory pref must be set to false before this |
| 229 // is called. | 230 // is called. |
| 230 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { | 231 void CheckRemovalPermitted(const std::string& data_types, bool permitted) { |
| 231 scoped_refptr<BrowsingDataRemoveFunction> function = | 232 scoped_refptr<BrowsingDataRemoveFunction> function = |
| 232 new BrowsingDataRemoveFunction(); | 233 new BrowsingDataRemoveFunction(); |
| 233 std::string args = "[{\"since\": 1}," + data_types + "]"; | 234 std::string args = "[{\"since\": 1}," + data_types + "]"; |
| 234 | 235 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 } | 282 } |
| 282 | 283 |
| 283 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { | 284 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) { |
| 284 scoped_refptr<BrowsingDataRemoveFunction> function = | 285 scoped_refptr<BrowsingDataRemoveFunction> function = |
| 285 new BrowsingDataRemoveFunction(); | 286 new BrowsingDataRemoveFunction(); |
| 286 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), | 287 EXPECT_EQ(NULL, RunFunctionAndReturnSingleResult(function.get(), |
| 287 kRemoveEverythingArguments, | 288 kRemoveEverythingArguments, |
| 288 browser())); | 289 browser())); |
| 289 | 290 |
| 290 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); | 291 EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime()); |
| 291 EXPECT_EQ((BrowsingDataRemover::REMOVE_SITE_DATA | | 292 EXPECT_EQ( |
| 292 BrowsingDataRemover::REMOVE_CACHE | | 293 (BrowsingDataRemover::REMOVE_SITE_DATA | |
| 293 BrowsingDataRemover::REMOVE_DOWNLOADS | | 294 BrowsingDataRemover::REMOVE_CACHE | |
| 294 BrowsingDataRemover::REMOVE_FORM_DATA | | 295 BrowsingDataRemover::REMOVE_DOWNLOADS | |
| 295 BrowsingDataRemover::REMOVE_HISTORY | | 296 BrowsingDataRemover::REMOVE_FORM_DATA | |
| 296 BrowsingDataRemover::REMOVE_PASSWORDS) & | 297 BrowsingDataRemover::REMOVE_HISTORY | |
| 297 // TODO(benwells): implement clearing of site usage data via the | 298 BrowsingDataRemover::REMOVE_PASSWORDS) & |
| 298 // browsing data API. https://crbug.com/500801. | 299 // TODO(benwells): implement clearing of site usage data via the |
| 299 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & | 300 // browsing data API. https://crbug.com/500801. |
| 300 // TODO(dmurph): implement clearing of durable storage permission | 301 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & |
| 301 // via the browsing data API. https://crbug.com/500801. | 302 // TODO(dmurph): implement clearing of durable storage permission |
| 302 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & | 303 // via the browsing data API. https://crbug.com/500801. |
| 303 // We can't remove plugin data inside a test profile. | 304 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & |
| 304 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, | 305 // We can't remove plugin data inside a test profile. |
| 305 GetRemovalMask()); | 306 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & |
| 307 // TODO(ramyasharma): implement clearing of external protocol data |
| 308 // via the browsing data API. https://crbug.com/692850. |
| 309 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA, |
| 310 GetRemovalMask()); |
| 306 } | 311 } |
| 307 | 312 |
| 308 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) { | 313 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) { |
| 309 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0); | 314 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask("{}", 0); |
| 310 | 315 |
| 311 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( | 316 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( |
| 312 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB); | 317 "{\"unprotectedWeb\": true}", UNPROTECTED_WEB); |
| 313 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( | 318 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( |
| 314 "{\"protectedWeb\": true}", PROTECTED_WEB); | 319 "{\"protectedWeb\": true}", PROTECTED_WEB); |
| 315 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( | 320 RunBrowsingDataRemoveFunctionAndCompareOriginTypeMask( |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_FORM_DATA, 0, | 476 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_FORM_DATA, 0, |
| 472 BrowsingDataRemover::REMOVE_FORM_DATA); | 477 BrowsingDataRemover::REMOVE_FORM_DATA); |
| 473 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_DOWNLOADS, 0, | 478 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_DOWNLOADS, 0, |
| 474 BrowsingDataRemover::REMOVE_DOWNLOADS); | 479 BrowsingDataRemover::REMOVE_DOWNLOADS); |
| 475 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_PASSWORDS, 0, | 480 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_PASSWORDS, 0, |
| 476 BrowsingDataRemover::REMOVE_PASSWORDS); | 481 BrowsingDataRemover::REMOVE_PASSWORDS); |
| 477 } | 482 } |
| 478 | 483 |
| 479 // Test cookie and app data settings. | 484 // Test cookie and app data settings. |
| 480 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { | 485 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) { |
| 481 int site_data_no_durable_or_usage = | 486 int site_data_no_durable_or_usage_or_external = |
| 482 BrowsingDataRemover::REMOVE_SITE_DATA & | 487 BrowsingDataRemover::REMOVE_SITE_DATA & |
| 483 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & | 488 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & |
| 484 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION; | 489 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & |
| 485 int site_data_no_plugins_durable_usage = | 490 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; |
| 486 site_data_no_durable_or_usage & ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; | 491 int site_data_no_plugins_durable_usage_external = |
| 492 site_data_no_durable_or_usage_or_external & |
| 493 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; |
| 487 | 494 |
| 488 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES, | 495 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES, |
| 489 UNPROTECTED_WEB, | 496 UNPROTECTED_WEB, |
| 490 site_data_no_plugins_durable_usage); | 497 site_data_no_plugins_durable_usage_external); |
| 491 SetPrefsAndVerifySettings( | 498 SetPrefsAndVerifySettings( |
| 492 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, | 499 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, PROTECTED_WEB, |
| 493 PROTECTED_WEB, | 500 site_data_no_plugins_durable_usage_external); |
| 494 site_data_no_plugins_durable_usage); | |
| 495 SetPrefsAndVerifySettings( | 501 SetPrefsAndVerifySettings( |
| 496 BrowsingDataRemover::REMOVE_COOKIES | | 502 BrowsingDataRemover::REMOVE_COOKIES | |
| 497 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, | 503 BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, |
| 498 PROTECTED_WEB | UNPROTECTED_WEB, | 504 PROTECTED_WEB | UNPROTECTED_WEB, |
| 499 site_data_no_plugins_durable_usage); | 505 site_data_no_plugins_durable_usage_external); |
| 500 SetPrefsAndVerifySettings( | 506 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES | |
| 501 BrowsingDataRemover::REMOVE_COOKIES | | 507 BrowsingDataRemover::REMOVE_PLUGIN_DATA, |
| 502 BrowsingDataRemover::REMOVE_PLUGIN_DATA, | 508 UNPROTECTED_WEB, |
| 503 UNPROTECTED_WEB, | 509 site_data_no_durable_or_usage_or_external); |
| 504 site_data_no_durable_or_usage); | |
| 505 } | 510 } |
| 506 | 511 |
| 507 // Test an arbitrary assortment of settings. | 512 // Test an arbitrary assortment of settings. |
| 508 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { | 513 IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) { |
| 509 int site_data_no_plugins_durable_usage = | 514 int site_data_no_plugins_durable_usage_external = |
| 510 BrowsingDataRemover::REMOVE_SITE_DATA & | 515 BrowsingDataRemover::REMOVE_SITE_DATA & |
| 511 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & | 516 ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION & |
| 512 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & | 517 ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA & |
| 513 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; | 518 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA & |
| 519 ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA; |
| 514 | 520 |
| 515 SetPrefsAndVerifySettings( | 521 SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES | |
| 516 BrowsingDataRemover::REMOVE_COOKIES | | 522 BrowsingDataRemover::REMOVE_HISTORY | |
| 517 BrowsingDataRemover::REMOVE_HISTORY | | 523 BrowsingDataRemover::REMOVE_DOWNLOADS, |
| 518 BrowsingDataRemover::REMOVE_DOWNLOADS, | 524 UNPROTECTED_WEB, |
| 519 UNPROTECTED_WEB, | 525 site_data_no_plugins_durable_usage_external | |
| 520 site_data_no_plugins_durable_usage | | 526 BrowsingDataRemover::REMOVE_HISTORY | |
| 521 BrowsingDataRemover::REMOVE_HISTORY | | 527 BrowsingDataRemover::REMOVE_DOWNLOADS); |
| 522 BrowsingDataRemover::REMOVE_DOWNLOADS); | |
| 523 } | 528 } |
| OLD | NEW |