Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4861)

Unified Diff: chrome/browser/extensions/extension_clear_api.cc

Issue 8008012: chrome.clear: Increasing granularity of public API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing after 2 months (ugh). Extension test. Fiddling. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698