Index: chrome/browser/extensions/extension_clear_api.cc |
diff --git a/chrome/browser/extensions/extension_clear_api.cc b/chrome/browser/extensions/extension_clear_api.cc |
index 80b69adde81cabd55a2fe74be554abef1e817029..997ef1d5eba0a450bad69b1e17394143b1229ce7 100644 |
--- a/chrome/browser/extensions/extension_clear_api.cc |
+++ b/chrome/browser/extensions/extension_clear_api.cc |
@@ -12,7 +12,6 @@ |
#include "base/values.h" |
#include "chrome/browser/browsing_data_remover.h" |
-#include "chrome/browser/extensions/extension_clear_api_constants.h" |
#include "chrome/browser/plugin_data_remover_helper.h" |
#include "chrome/browser/plugin_prefs.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -23,24 +22,49 @@ |
using content::BrowserThread; |
-namespace keys = extension_clear_api_constants; |
+namespace extension_clear_api_constants { |
+ |
+// Keys. |
+const char kAppCacheKey[] = "appcache"; |
+const char kCacheKey[] = "cache"; |
+const char kCookiesKey[] = "cookies"; |
+const char kDownloadsKey[] = "downloads"; |
+const char kFileSystemsKey[] = "fileSystems"; |
+const char kFormDataKey[] = "formData"; |
+const char kHistoryKey[] = "history"; |
+const char kIndexedDBKey[] = "indexedDB"; |
+const char kLSODataKey[] = "lsoData"; |
+const char kLocalStorageKey[] = "localStorage"; |
+const char kPasswordsKey[] = "passwords"; |
+const char kWebSQLKey[] = "webSQL"; |
+ |
+// Timeframe "enum" values. |
+const char kHourEnum[] = "last_hour"; |
+const char kDayEnum[] = "last_day"; |
+const char kWeekEnum[] = "last_week"; |
+const char kMonthEnum[] = "last_month"; |
+const char kEverythingEnum[] = "everything"; |
+ |
+// Errors! |
+const char kOneAtATimeError[] = "Only one 'clear' API call can run at a time."; |
+ |
+} // namespace extension_clear_api_constants |
namespace { |
- |
// Converts the JavaScript API's string input ("last_week") into the |
// appropriate BrowsingDataRemover::TimePeriod (in this case, |
// BrowsingDataRemover::LAST_WEEK). |
bool ParseTimePeriod(const std::string& parse, |
BrowsingDataRemover::TimePeriod* period) { |
- if (parse == keys::kHourEnum) |
+ if (parse == extension_clear_api_constants::kHourEnum) |
*period = BrowsingDataRemover::LAST_HOUR; |
- else if (parse == keys::kDayEnum) |
+ else if (parse == extension_clear_api_constants::kDayEnum) |
*period = BrowsingDataRemover::LAST_DAY; |
- else if (parse == keys::kWeekEnum) |
+ else if (parse == extension_clear_api_constants::kWeekEnum) |
*period = BrowsingDataRemover::LAST_WEEK; |
- else if (parse == keys::kMonthEnum) |
+ else if (parse == extension_clear_api_constants::kMonthEnum) |
*period = BrowsingDataRemover::FOUR_WEEKS; |
- else if (parse == keys::kEverythingEnum) |
+ else if (parse == extension_clear_api_constants::kEverythingEnum) |
*period = BrowsingDataRemover::EVERYTHING; |
else |
return false; |
@@ -62,21 +86,30 @@ bool DataRemovalRequested(base::DictionaryValue* dict, std::string key) { |
// appropriate removal mask for the BrowsingDataRemover object. |
int ParseRemovalMask(base::DictionaryValue* value) { |
int GetRemovalMask = 0; |
- if (DataRemovalRequested(value, keys::kCacheKey)) |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kAppCacheKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_APPCACHE; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kCacheKey)) |
GetRemovalMask |= BrowsingDataRemover::REMOVE_CACHE; |
- if (DataRemovalRequested(value, keys::kDownloadsKey)) |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kCookiesKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_COOKIES; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kDownloadsKey)) |
GetRemovalMask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
- if (DataRemovalRequested(value, keys::kFormDataKey)) |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_FILE_SYSTEMS; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kFormDataKey)) |
GetRemovalMask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
- if (DataRemovalRequested(value, keys::kHistoryKey)) |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kHistoryKey)) |
GetRemovalMask |= BrowsingDataRemover::REMOVE_HISTORY; |
- if (DataRemovalRequested(value, keys::kPasswordsKey)) |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_INDEXEDDB; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_LOCAL_STORAGE; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_LSO_DATA; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
GetRemovalMask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
- |
- // When we talk users about "cookies", we mean not just cookies, but pretty |
- // much everything associated with an origin. |
- if (DataRemovalRequested(value, keys::kCookiesKey)) |
- GetRemovalMask |= BrowsingDataRemover::REMOVE_SITE_DATA; |
+ if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey)) |
+ GetRemovalMask |= BrowsingDataRemover::REMOVE_WEBSQL; |
return GetRemovalMask; |
} |
@@ -92,7 +125,7 @@ void BrowsingDataExtensionFunction::OnBrowsingDataRemoverDone() { |
bool BrowsingDataExtensionFunction::RunImpl() { |
if (BrowsingDataRemover::is_removing()) { |
- error_ = keys::kOneAtATimeError; |
+ error_ = extension_clear_api_constants::kOneAtATimeError; |
return false; |
} |
@@ -154,18 +187,26 @@ int ClearBrowsingDataFunction::GetRemovalMask() const { |
return 0; |
} |
+int ClearAppCacheFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_APPCACHE; |
+} |
+ |
int ClearCacheFunction::GetRemovalMask() const { |
return BrowsingDataRemover::REMOVE_CACHE; |
} |
int ClearCookiesFunction::GetRemovalMask() const { |
- return BrowsingDataRemover::REMOVE_SITE_DATA; |
+ return BrowsingDataRemover::REMOVE_COOKIES; |
} |
int ClearDownloadsFunction::GetRemovalMask() const { |
return BrowsingDataRemover::REMOVE_DOWNLOADS; |
} |
+int ClearFileSystemsFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_FILE_SYSTEMS; |
+} |
+ |
int ClearFormDataFunction::GetRemovalMask() const { |
return BrowsingDataRemover::REMOVE_FORM_DATA; |
} |
@@ -174,6 +215,22 @@ int ClearHistoryFunction::GetRemovalMask() const { |
return BrowsingDataRemover::REMOVE_HISTORY; |
} |
+int ClearIndexedDBFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_INDEXEDDB; |
+} |
+ |
+int ClearLocalStorageFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_LOCAL_STORAGE; |
+} |
+ |
+int ClearLSODataFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_LSO_DATA; |
+} |
+ |
int ClearPasswordsFunction::GetRemovalMask() const { |
- return BrowsingDataRemover::REMOVE_CACHE; |
+ return BrowsingDataRemover::REMOVE_PASSWORDS; |
+} |
+ |
+int ClearWebSQLFunction::GetRemovalMask() const { |
+ return BrowsingDataRemover::REMOVE_WEBSQL; |
} |