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

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

Issue 8949014: Reverting due to compile failure on multiple bots. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: 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
===================================================================
--- chrome/browser/extensions/extension_clear_api.cc (revision 114618)
+++ chrome/browser/extensions/extension_clear_api.cc (working copy)
@@ -12,6 +12,7 @@
#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"
@@ -22,31 +23,28 @@
using content::BrowserThread;
-namespace extension_clear_api_constants {
+namespace keys = 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 kPluginDataKey[] = "pluginData";
-const char kLocalStorageKey[] = "localStorage";
-const char kPasswordsKey[] = "passwords";
-const char kWebSQLKey[] = "webSQL";
+namespace {
-// Errors!
-const char kOneAtATimeError[] = "Only one 'clear' API call can run at a time.";
+// 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)
+ *period = BrowsingDataRemover::LAST_HOUR;
+ else if (parse == keys::kDayEnum)
+ *period = BrowsingDataRemover::LAST_DAY;
+ else if (parse == keys::kWeekEnum)
+ *period = BrowsingDataRemover::LAST_WEEK;
+ else if (parse == keys::kMonthEnum)
+ *period = BrowsingDataRemover::FOUR_WEEKS;
+ else if (parse == keys::kEverythingEnum)
+ *period = BrowsingDataRemover::EVERYTHING;
+ else
+ return false;
-} // namespace extension_clear_api_constants
-
-namespace {
-// Converts the JavaScript API's numeric input (miliseconds since epoch) into an
-// appropriate base::Time that we can pass into the BrowsingDataRemove.
-bool ParseTimeFromValue(const double& ms_since_epoch, base::Time* time) {
return true;
}
@@ -64,31 +62,22 @@
// appropriate removal mask for the BrowsingDataRemover object.
int ParseRemovalMask(base::DictionaryValue* value) {
int GetRemovalMask = 0;
- if (DataRemovalRequested(value, extension_clear_api_constants::kAppCacheKey))
- GetRemovalMask |= BrowsingDataRemover::REMOVE_APPCACHE;
- if (DataRemovalRequested(value, extension_clear_api_constants::kCacheKey))
+ if (DataRemovalRequested(value, keys::kCacheKey))
GetRemovalMask |= BrowsingDataRemover::REMOVE_CACHE;
- if (DataRemovalRequested(value, extension_clear_api_constants::kCookiesKey))
- GetRemovalMask |= BrowsingDataRemover::REMOVE_COOKIES;
- if (DataRemovalRequested(value, extension_clear_api_constants::kDownloadsKey))
+ if (DataRemovalRequested(value, keys::kDownloadsKey))
GetRemovalMask |= BrowsingDataRemover::REMOVE_DOWNLOADS;
- if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey))
- GetRemovalMask |= BrowsingDataRemover::REMOVE_FILE_SYSTEMS;
- if (DataRemovalRequested(value, extension_clear_api_constants::kFormDataKey))
+ if (DataRemovalRequested(value, keys::kFormDataKey))
GetRemovalMask |= BrowsingDataRemover::REMOVE_FORM_DATA;
- if (DataRemovalRequested(value, extension_clear_api_constants::kHistoryKey))
+ if (DataRemovalRequested(value, keys::kHistoryKey))
GetRemovalMask |= BrowsingDataRemover::REMOVE_HISTORY;
- 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_PLUGIN_DATA;
- if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey))
+ if (DataRemovalRequested(value, keys::kPasswordsKey))
GetRemovalMask |= BrowsingDataRemover::REMOVE_PASSWORDS;
- if (DataRemovalRequested(value, extension_clear_api_constants::kPasswordsKey))
- GetRemovalMask |= BrowsingDataRemover::REMOVE_WEBSQL;
+ // 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;
+
return GetRemovalMask;
}
@@ -103,19 +92,14 @@
bool BrowsingDataExtensionFunction::RunImpl() {
if (BrowsingDataRemover::is_removing()) {
- error_ = extension_clear_api_constants::kOneAtATimeError;
+ error_ = keys::kOneAtATimeError;
return false;
}
- double ms_since_epoch;
- EXTENSION_FUNCTION_VALIDATE(args_->GetDouble(0, &ms_since_epoch));
- // base::Time takes a double that represents seconds since epoch. JavaScript
- // gives developers milliseconds, so do a quick conversion before populating
- // the object. Also, Time::FromDoubleT converts double time 0 to empty Time
- // object. So we need to do special handling here.
- remove_since_ = (ms_since_epoch == 0) ?
- base::Time::UnixEpoch() :
- base::Time::FromDoubleT(ms_since_epoch / 1000.0);
+ // Parse the |timeframe| argument to generate the TimePeriod.
+ std::string timeframe;
+ EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &timeframe));
+ EXTENSION_FUNCTION_VALIDATE(ParseTimePeriod(timeframe, &period_));
removal_mask_ = GetRemovalMask();
@@ -156,7 +140,7 @@
// we've generated above. We can use a raw pointer here, as the browsing data
// remover is responsible for deleting itself once data removal is complete.
BrowsingDataRemover* remover = new BrowsingDataRemover(
- GetCurrentBrowser()->profile(), remove_since_, base::Time::Now());
+ GetCurrentBrowser()->profile(), period_, base::Time::Now());
remover->AddObserver(this);
remover->Remove(removal_mask_);
}
@@ -170,26 +154,18 @@
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_COOKIES;
+ return BrowsingDataRemover::REMOVE_SITE_DATA;
}
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;
}
@@ -198,22 +174,6 @@
return BrowsingDataRemover::REMOVE_HISTORY;
}
-int ClearIndexedDBFunction::GetRemovalMask() const {
- return BrowsingDataRemover::REMOVE_INDEXEDDB;
-}
-
-int ClearLocalStorageFunction::GetRemovalMask() const {
- return BrowsingDataRemover::REMOVE_LOCAL_STORAGE;
-}
-
-int ClearPluginDataFunction::GetRemovalMask() const {
- return BrowsingDataRemover::REMOVE_PLUGIN_DATA;
-}
-
int ClearPasswordsFunction::GetRemovalMask() const {
- return BrowsingDataRemover::REMOVE_PASSWORDS;
+ return BrowsingDataRemover::REMOVE_CACHE;
}
-
-int ClearWebSQLFunction::GetRemovalMask() const {
- return BrowsingDataRemover::REMOVE_WEBSQL;
-}
« no previous file with comments | « chrome/browser/extensions/extension_clear_api.h ('k') | chrome/browser/extensions/extension_clear_api_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698