| Index: chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
|
| diff --git a/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc b/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
|
| index 10efc181e6f5a1ba97de01b749ee94a4f69d15c5..a7022b025adafbcb7db3fb042c5ffea052e6545b 100644
|
| --- a/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
|
| +++ b/chrome/browser/extensions/api/browsing_data/browsing_data_test.cc
|
| @@ -7,12 +7,14 @@
|
|
|
| #include "base/json/json_string_value_serializer.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/stl_util.h"
|
| #include "base/strings/pattern.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browsing_data/browsing_data_helper.h"
|
| #include "chrome/browser/browsing_data/browsing_data_remover.h"
|
| #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
|
| +#include "chrome/browser/browsing_data/chrome_browsing_data_types.h"
|
| #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h"
|
| #include "chrome/browser/extensions/extension_function_test_utils.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -25,6 +27,7 @@
|
|
|
| using extension_function_test_utils::RunFunctionAndReturnError;
|
| using extension_function_test_utils::RunFunctionAndReturnSingleResult;
|
| +using content::BrowsingDataType;
|
|
|
| namespace {
|
|
|
| @@ -50,7 +53,7 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
| return remover_->GetLastUsedBeginTime();
|
| }
|
|
|
| - int GetRemovalMask() {
|
| + const std::set<const BrowsingDataType*>& GetRemovalMask() {
|
| return remover_->GetLastUsedRemovalMask();
|
| }
|
|
|
| @@ -71,9 +74,17 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
| return result ? mask_value : 0;
|
| }
|
|
|
| + const BrowsingDataType* GetAsMask(const base::DictionaryValue* dict,
|
| + std::string path,
|
| + const BrowsingDataType* mask_value) {
|
| + bool result;
|
| + EXPECT_TRUE(dict->GetBoolean(path, &result)) << "for " << path;
|
| + return result ? mask_value : nullptr;
|
| + }
|
| +
|
| void RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
|
| const std::string& data_types,
|
| - int expected_mask) {
|
| + const std::set<const BrowsingDataType*>& expected_mask) {
|
| scoped_refptr<BrowsingDataRemoveFunction> function =
|
| new BrowsingDataRemoveFunction();
|
| SCOPED_TRACE(data_types);
|
| @@ -87,7 +98,7 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
|
|
| void RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| const std::string& key,
|
| - int expected_mask) {
|
| + const std::set<const BrowsingDataType*>& expected_mask) {
|
| RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
|
| std::string("{\"") + key + "\": true}", expected_mask);
|
| }
|
| @@ -105,8 +116,9 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
| EXPECT_EQ(expected_mask, GetOriginTypeMask());
|
| }
|
|
|
| - template<class ShortcutFunction>
|
| - void RunAndCompareRemovalMask(int expected_mask) {
|
| + template <class ShortcutFunction>
|
| + void RunAndCompareRemovalMask(
|
| + const std::set<const BrowsingDataType*>& expected_mask) {
|
| scoped_refptr<ShortcutFunction> function =
|
| new ShortcutFunction();
|
| SCOPED_TRACE(ShortcutFunction::function_name());
|
| @@ -148,27 +160,36 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
| EXPECT_LE(expected_since, since + 10.0 * 1000.0);
|
| }
|
|
|
| - void SetPrefsAndVerifySettings(int data_type_flags,
|
| - int expected_origin_type_mask,
|
| - int expected_removal_mask) {
|
| + void SetPrefsAndVerifySettings(
|
| + const std::set<const BrowsingDataType*>& data_type_flags,
|
| + int expected_origin_type_mask,
|
| + const std::set<const BrowsingDataType*>& expected_removal_mask) {
|
| PrefService* prefs = browser()->profile()->GetPrefs();
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteCache,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_CACHE));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteCookies,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_COOKIES));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteBrowsingHistory,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_HISTORY));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteFormData,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_FORM_DATA));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteDownloadHistory,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_DOWNLOADS));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData,
|
| - !!(data_type_flags &
|
| - BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY));
|
| - prefs->SetBoolean(browsing_data::prefs::kDeletePasswords,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_PASSWORDS));
|
| - prefs->SetBoolean(prefs::kClearPluginLSODataEnabled,
|
| - !!(data_type_flags & BrowsingDataRemover::REMOVE_PLUGIN_DATA));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteCache,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypeCache));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteCookies,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypeCookies));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteBrowsingHistory,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypeHistory));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteFormData,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypeFormData));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteDownloadHistory,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypeDownloads));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeleteHostedAppsData,
|
| + base::ContainsValue(data_type_flags,
|
| + &kBrowsingDataTypeHostedAppDataTestOnly));
|
| + prefs->SetBoolean(
|
| + browsing_data::prefs::kDeletePasswords,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypePasswords));
|
| + prefs->SetBoolean(
|
| + prefs::kClearPluginLSODataEnabled,
|
| + base::ContainsValue(data_type_flags, &kBrowsingDataTypePluginData));
|
|
|
| scoped_refptr<BrowsingDataSettingsFunction> function =
|
| new BrowsingDataSettingsFunction();
|
| @@ -192,36 +213,41 @@ class ExtensionBrowsingDataTest : public InProcessBrowserTest {
|
|
|
| base::DictionaryValue* data_to_remove;
|
| EXPECT_TRUE(result->GetDictionary("dataToRemove", &data_to_remove));
|
| - int removal_mask =
|
| - GetAsMask(data_to_remove, "appcache",
|
| - BrowsingDataRemover::REMOVE_APPCACHE) |
|
| - GetAsMask(data_to_remove, "cache", BrowsingDataRemover::REMOVE_CACHE) |
|
| - GetAsMask(data_to_remove, "cookies",
|
| - BrowsingDataRemover::REMOVE_COOKIES) |
|
| - GetAsMask(data_to_remove, "downloads",
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS) |
|
| - GetAsMask(data_to_remove, "fileSystems",
|
| - BrowsingDataRemover::REMOVE_FILE_SYSTEMS) |
|
| - GetAsMask(data_to_remove, "formData",
|
| - BrowsingDataRemover::REMOVE_FORM_DATA) |
|
| - GetAsMask(data_to_remove, "history",
|
| - BrowsingDataRemover::REMOVE_HISTORY) |
|
| - GetAsMask(data_to_remove, "indexedDB",
|
| - BrowsingDataRemover::REMOVE_INDEXEDDB) |
|
| - GetAsMask(data_to_remove, "localStorage",
|
| - BrowsingDataRemover::REMOVE_LOCAL_STORAGE) |
|
| - GetAsMask(data_to_remove, "pluginData",
|
| - BrowsingDataRemover::REMOVE_PLUGIN_DATA) |
|
| - GetAsMask(data_to_remove, "passwords",
|
| - BrowsingDataRemover::REMOVE_PASSWORDS) |
|
| - GetAsMask(data_to_remove, "serviceWorkers",
|
| - BrowsingDataRemover::REMOVE_SERVICE_WORKERS) |
|
| - GetAsMask(data_to_remove, "cacheStorage",
|
| - BrowsingDataRemover::REMOVE_CACHE_STORAGE) |
|
| - GetAsMask(data_to_remove, "webSQL",
|
| - BrowsingDataRemover::REMOVE_WEBSQL) |
|
| - GetAsMask(data_to_remove, "serverBoundCertificates",
|
| - BrowsingDataRemover::REMOVE_CHANNEL_IDS);
|
| +
|
| + std::set<const BrowsingDataType*> removal_mask;
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "appcache", &kBrowsingDataTypeAppCache));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "cache", &kBrowsingDataTypeCache));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "cookies", &kBrowsingDataTypeCookies));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "downloads", &kBrowsingDataTypeDownloads));
|
| + removal_mask.insert(GetAsMask(data_to_remove, "fileSystems",
|
| + &kBrowsingDataTypeFileSystems));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "formData", &kBrowsingDataTypeFormData));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "history", &kBrowsingDataTypeHistory));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "indexedDB", &kBrowsingDataTypeIndexedDB));
|
| + removal_mask.insert(GetAsMask(data_to_remove, "localStorage",
|
| + &kBrowsingDataTypeLocalStorage));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "pluginData", &kBrowsingDataTypePluginData));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "passwords", &kBrowsingDataTypePasswords));
|
| + removal_mask.insert(GetAsMask(data_to_remove, "serviceWorkers",
|
| + &kBrowsingDataTypeServiceWorkers));
|
| + removal_mask.insert(GetAsMask(data_to_remove, "cacheStorage",
|
| + &kBrowsingDataTypeCacheStorage));
|
| + removal_mask.insert(
|
| + GetAsMask(data_to_remove, "webSQL", &kBrowsingDataTypeWebSQL));
|
| + removal_mask.insert(GetAsMask(data_to_remove, "serverBoundCertificates",
|
| + &kBrowsingDataTypeChannelIDs));
|
| +
|
| + // GetAsMask() adds a nullptr for excluded types.
|
| + removal_mask.erase(nullptr);
|
|
|
| EXPECT_EQ(expected_removal_mask, removal_mask);
|
| }
|
| @@ -289,25 +315,26 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, RemoveBrowsingDataAll) {
|
| browser()));
|
|
|
| EXPECT_EQ(base::Time::FromDoubleT(1.0), GetBeginTime());
|
| - EXPECT_EQ(
|
| - (BrowsingDataRemover::REMOVE_SITE_DATA |
|
| - BrowsingDataRemover::REMOVE_CACHE |
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS |
|
| - BrowsingDataRemover::REMOVE_FORM_DATA |
|
| - BrowsingDataRemover::REMOVE_HISTORY |
|
| - BrowsingDataRemover::REMOVE_PASSWORDS) &
|
| - // TODO(benwells): implement clearing of site usage data via the
|
| - // browsing data API. https://crbug.com/500801.
|
| - ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA &
|
| - // TODO(dmurph): implement clearing of durable storage permission
|
| - // via the browsing data API. https://crbug.com/500801.
|
| - ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION &
|
| - // We can't remove plugin data inside a test profile.
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA &
|
| - // TODO(ramyasharma): implement clearing of external protocol data
|
| - // via the browsing data API. https://crbug.com/692850.
|
| - ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA,
|
| - GetRemovalMask());
|
| + std::set<const BrowsingDataType*> expected_mask =
|
| + BrowsingDataTypeSetSiteData();
|
| + expected_mask.insert(&kBrowsingDataTypeCache);
|
| + expected_mask.insert(&kBrowsingDataTypeDownloads);
|
| + expected_mask.insert(&kBrowsingDataTypeFormData);
|
| + expected_mask.insert(&kBrowsingDataTypeHistory);
|
| + expected_mask.insert(&kBrowsingDataTypePasswords);
|
| + // TODO(benwells): implement clearing of site usage data via the
|
| + // browsing data API. https://crbug.com/500801.
|
| + expected_mask.erase(&kBrowsingDataTypeSiteUsageData);
|
| + // TODO(dmurph): implement clearing of durable storage permission
|
| + // via the browsing data API. https://crbug.com/500801.
|
| + expected_mask.erase(&kBrowsingDataTypeDurablePermission);
|
| + // We can't remove plugin data inside a test profile.
|
| + expected_mask.erase(&kBrowsingDataTypePluginData);
|
| + // TODO(ramyasharma): implement clearing of external protocol data
|
| + // via the browsing data API. https://crbug.com/692850.
|
| + expected_mask.erase(&kBrowsingDataTypeExternalProtocolData);
|
| +
|
| + EXPECT_EQ(expected_mask, GetRemovalMask());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) {
|
| @@ -339,45 +366,43 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, BrowsingDataOriginTypeMask) {
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
|
| BrowsingDataRemovalMask) {
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "appcache", BrowsingDataRemover::REMOVE_APPCACHE);
|
| + "appcache", {&kBrowsingDataTypeAppCache});
|
| + RunBrowsingDataRemoveWithKeyAndCompareRemovalMask("cache",
|
| + {&kBrowsingDataTypeCache});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "cache", BrowsingDataRemover::REMOVE_CACHE);
|
| + "cookies", {&kBrowsingDataTypeCookies});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "cookies", BrowsingDataRemover::REMOVE_COOKIES);
|
| + "downloads", {&kBrowsingDataTypeDownloads});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "downloads", BrowsingDataRemover::REMOVE_DOWNLOADS);
|
| + "fileSystems", {&kBrowsingDataTypeFileSystems});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "fileSystems", BrowsingDataRemover::REMOVE_FILE_SYSTEMS);
|
| + "formData", {&kBrowsingDataTypeFormData});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "formData", BrowsingDataRemover::REMOVE_FORM_DATA);
|
| + "history", {&kBrowsingDataTypeHistory});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "history", BrowsingDataRemover::REMOVE_HISTORY);
|
| + "indexedDB", {&kBrowsingDataTypeIndexedDB});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "indexedDB", BrowsingDataRemover::REMOVE_INDEXEDDB);
|
| + "localStorage", {&kBrowsingDataTypeLocalStorage});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "localStorage", BrowsingDataRemover::REMOVE_LOCAL_STORAGE);
|
| + "serverBoundCertificates", {&kBrowsingDataTypeChannelIDs});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "serverBoundCertificates",
|
| - BrowsingDataRemover::REMOVE_CHANNEL_IDS);
|
| - RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "passwords", BrowsingDataRemover::REMOVE_PASSWORDS);
|
| + "passwords", {&kBrowsingDataTypePasswords});
|
| // We can't remove plugin data inside a test profile.
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "serviceWorkers", BrowsingDataRemover::REMOVE_SERVICE_WORKERS);
|
| - RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "cacheStorage", BrowsingDataRemover::REMOVE_CACHE_STORAGE);
|
| + "serviceWorkers", {&kBrowsingDataTypeServiceWorkers});
|
| RunBrowsingDataRemoveWithKeyAndCompareRemovalMask(
|
| - "webSQL", BrowsingDataRemover::REMOVE_WEBSQL);
|
| + "cacheStorage", {&kBrowsingDataTypeCacheStorage});
|
| + RunBrowsingDataRemoveWithKeyAndCompareRemovalMask("webSQL",
|
| + {&kBrowsingDataTypeWebSQL});
|
| }
|
|
|
| // Test an arbitrary combination of data types.
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
|
| BrowsingDataRemovalMaskCombination) {
|
| RunBrowsingDataRemoveFunctionAndCompareRemovalMask(
|
| - "{\"appcache\": true, \"cookies\": true, \"history\": true}",
|
| - BrowsingDataRemover::REMOVE_APPCACHE |
|
| - BrowsingDataRemover::REMOVE_COOKIES |
|
| - BrowsingDataRemover::REMOVE_HISTORY);
|
| + "{\"appcache\": true, \"cookies\": true, \"history\": true}",
|
| + {&kBrowsingDataTypeAppCache, &kBrowsingDataTypeCookies,
|
| + &kBrowsingDataTypeHistory});
|
| }
|
|
|
| // Make sure the remove() function accepts the format produced by settings().
|
| @@ -392,9 +417,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
|
| prefs->SetBoolean(browsing_data::prefs::kDeleteHostedAppsData, false);
|
| prefs->SetBoolean(browsing_data::prefs::kDeletePasswords, false);
|
| prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false);
|
| - int expected_mask = BrowsingDataRemover::REMOVE_CACHE |
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS |
|
| - BrowsingDataRemover::REMOVE_HISTORY;
|
| + const std::set<const BrowsingDataType*>& expected_mask = {
|
| + &kBrowsingDataTypeCache, &kBrowsingDataTypeDownloads,
|
| + &kBrowsingDataTypeHistory};
|
| std::string json;
|
| // Scoping for the traces.
|
| {
|
| @@ -427,31 +452,30 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest,
|
|
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, ShortcutFunctionRemovalMask) {
|
| RunAndCompareRemovalMask<BrowsingDataRemoveAppcacheFunction>(
|
| - BrowsingDataRemover::REMOVE_APPCACHE);
|
| + {&kBrowsingDataTypeAppCache});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveCacheFunction>(
|
| - BrowsingDataRemover::REMOVE_CACHE);
|
| + {&kBrowsingDataTypeCache});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveCookiesFunction>(
|
| - BrowsingDataRemover::REMOVE_COOKIES |
|
| - BrowsingDataRemover::REMOVE_CHANNEL_IDS);
|
| + {&kBrowsingDataTypeCookies, &kBrowsingDataTypeChannelIDs});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveDownloadsFunction>(
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS);
|
| + {&kBrowsingDataTypeDownloads});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveFileSystemsFunction>(
|
| - BrowsingDataRemover::REMOVE_FILE_SYSTEMS);
|
| + {&kBrowsingDataTypeFileSystems});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveFormDataFunction>(
|
| - BrowsingDataRemover::REMOVE_FORM_DATA);
|
| + {&kBrowsingDataTypeFormData});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveHistoryFunction>(
|
| - BrowsingDataRemover::REMOVE_HISTORY);
|
| + {&kBrowsingDataTypeHistory});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveIndexedDBFunction>(
|
| - BrowsingDataRemover::REMOVE_INDEXEDDB);
|
| + {&kBrowsingDataTypeIndexedDB});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveLocalStorageFunction>(
|
| - BrowsingDataRemover::REMOVE_LOCAL_STORAGE);
|
| + {&kBrowsingDataTypeLocalStorage});
|
| // We can't remove plugin data inside a test profile.
|
| RunAndCompareRemovalMask<BrowsingDataRemovePasswordsFunction>(
|
| - BrowsingDataRemover::REMOVE_PASSWORDS);
|
| + {&kBrowsingDataTypePasswords});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveServiceWorkersFunction>(
|
| - BrowsingDataRemover::REMOVE_SERVICE_WORKERS);
|
| + {&kBrowsingDataTypeServiceWorkers});
|
| RunAndCompareRemovalMask<BrowsingDataRemoveWebSQLFunction>(
|
| - BrowsingDataRemover::REMOVE_WEBSQL);
|
| + {&kBrowsingDataTypeWebSQL});
|
| }
|
|
|
| // Test the processing of the 'delete since' preference.
|
| @@ -464,65 +488,75 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSince) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionEmpty) {
|
| - SetPrefsAndVerifySettings(0, 0, 0);
|
| + std::set<const BrowsingDataType*> empty_mask;
|
| + SetPrefsAndVerifySettings(empty_mask, 0, empty_mask);
|
| }
|
|
|
| // Test straightforward settings, mapped 1:1 to data types.
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSimple) {
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_CACHE, 0,
|
| - BrowsingDataRemover::REMOVE_CACHE);
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_HISTORY, 0,
|
| - BrowsingDataRemover::REMOVE_HISTORY);
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_FORM_DATA, 0,
|
| - BrowsingDataRemover::REMOVE_FORM_DATA);
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_DOWNLOADS, 0,
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS);
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_PASSWORDS, 0,
|
| - BrowsingDataRemover::REMOVE_PASSWORDS);
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeCache}, 0,
|
| + {&kBrowsingDataTypeCache});
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeHistory}, 0,
|
| + {&kBrowsingDataTypeHistory});
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeFormData}, 0,
|
| + {&kBrowsingDataTypeFormData});
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeDownloads}, 0,
|
| + {&kBrowsingDataTypeDownloads});
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypePasswords}, 0,
|
| + {&kBrowsingDataTypePasswords});
|
| }
|
|
|
| // Test cookie and app data settings.
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionSiteData) {
|
| - int site_data_no_durable_or_usage_or_external =
|
| - BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION &
|
| - ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA;
|
| - int site_data_no_plugins_durable_usage_external =
|
| - site_data_no_durable_or_usage_or_external &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA;
|
| -
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES,
|
| - UNPROTECTED_WEB,
|
| + std::set<const BrowsingDataType*> site_data_no_durable_or_usage_or_external =
|
| + BrowsingDataTypeSetSiteData();
|
| + site_data_no_durable_or_usage_or_external.erase(
|
| + &kBrowsingDataTypeSiteUsageData);
|
| + site_data_no_durable_or_usage_or_external.erase(
|
| + &kBrowsingDataTypeDurablePermission);
|
| + site_data_no_durable_or_usage_or_external.erase(
|
| + &kBrowsingDataTypeExternalProtocolData);
|
| + std::set<const BrowsingDataType*>
|
| + site_data_no_plugins_durable_usage_external =
|
| + site_data_no_durable_or_usage_or_external;
|
| + site_data_no_plugins_durable_usage_external.erase(
|
| + &kBrowsingDataTypePluginData);
|
| +
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeCookies}, UNPROTECTED_WEB,
|
| + site_data_no_plugins_durable_usage_external);
|
| + SetPrefsAndVerifySettings({&kBrowsingDataTypeHostedAppDataTestOnly},
|
| + PROTECTED_WEB,
|
| site_data_no_plugins_durable_usage_external);
|
| SetPrefsAndVerifySettings(
|
| - BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY, PROTECTED_WEB,
|
| - site_data_no_plugins_durable_usage_external);
|
| - SetPrefsAndVerifySettings(
|
| - BrowsingDataRemover::REMOVE_COOKIES |
|
| - BrowsingDataRemover::REMOVE_HOSTED_APP_DATA_TESTONLY,
|
| + {&kBrowsingDataTypeCookies, &kBrowsingDataTypeHostedAppDataTestOnly},
|
| PROTECTED_WEB | UNPROTECTED_WEB,
|
| site_data_no_plugins_durable_usage_external);
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES |
|
| - BrowsingDataRemover::REMOVE_PLUGIN_DATA,
|
| - UNPROTECTED_WEB,
|
| - site_data_no_durable_or_usage_or_external);
|
| + SetPrefsAndVerifySettings(
|
| + {&kBrowsingDataTypeCookies, &kBrowsingDataTypePluginData},
|
| + UNPROTECTED_WEB, site_data_no_durable_or_usage_or_external);
|
| }
|
|
|
| // Test an arbitrary assortment of settings.
|
| IN_PROC_BROWSER_TEST_F(ExtensionBrowsingDataTest, SettingsFunctionAssorted) {
|
| - int site_data_no_plugins_durable_usage_external =
|
| - BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_DURABLE_PERMISSION &
|
| - ~BrowsingDataRemover::REMOVE_SITE_USAGE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA &
|
| - ~BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA;
|
| -
|
| - SetPrefsAndVerifySettings(BrowsingDataRemover::REMOVE_COOKIES |
|
| - BrowsingDataRemover::REMOVE_HISTORY |
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS,
|
| - UNPROTECTED_WEB,
|
| - site_data_no_plugins_durable_usage_external |
|
| - BrowsingDataRemover::REMOVE_HISTORY |
|
| - BrowsingDataRemover::REMOVE_DOWNLOADS);
|
| + std::set<const BrowsingDataType*>
|
| + site_data_no_plugins_durable_usage_external =
|
| + BrowsingDataTypeSetSiteData();
|
| + site_data_no_plugins_durable_usage_external.erase(
|
| + &kBrowsingDataTypeDurablePermission);
|
| + site_data_no_plugins_durable_usage_external.erase(
|
| + &kBrowsingDataTypeSiteUsageData);
|
| + site_data_no_plugins_durable_usage_external.erase(
|
| + &kBrowsingDataTypePluginData);
|
| + site_data_no_plugins_durable_usage_external.erase(
|
| + &kBrowsingDataTypeExternalProtocolData);
|
| +
|
| + std::set<const BrowsingDataType*> expected_mask =
|
| + site_data_no_plugins_durable_usage_external;
|
| + expected_mask.insert(&kBrowsingDataTypeHistory);
|
| + expected_mask.insert(&kBrowsingDataTypeDownloads);
|
| +
|
| + SetPrefsAndVerifySettings(
|
| + {&kBrowsingDataTypeCookies, &kBrowsingDataTypeHistory,
|
| + &kBrowsingDataTypeDownloads},
|
| + UNPROTECTED_WEB, expected_mask);
|
| }
|
|
|