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

Unified Diff: chrome/browser/browsing_data_remover.cc

Issue 10806034: Ability to clear old history Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 5 months 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
« no previous file with comments | « chrome/browser/browsing_data_remover.h ('k') | chrome/browser/chrome_content_browser_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/browsing_data_remover.cc
diff --git a/chrome/browser/browsing_data_remover.cc b/chrome/browser/browsing_data_remover.cc
index 08bebbc39eae3b2e3d1c4d81ddd53bef13efd3f2..fadef49abd2dbca131f799a2004261f75af4728a 100644
--- a/chrome/browser/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data_remover.cc
@@ -129,14 +129,13 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
}
BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
- TimePeriod time_period,
- base::Time delete_end)
+ TimePeriod time_period)
: profile_(profile),
quota_manager_(NULL),
dom_storage_context_(NULL),
special_storage_policy_(profile->GetExtensionSpecialStoragePolicy()),
delete_begin_(CalculateBeginDeleteTime(time_period)),
- delete_end_(delete_end),
+ delete_end_(CalculateEndDeleteTime(time_period)),
next_cache_state_(STATE_NONE),
cache_(NULL),
main_context_getter_(profile->GetRequestContext()),
@@ -485,20 +484,26 @@ void BrowsingDataRemover::OverrideQuotaManagerForTesting(
base::Time BrowsingDataRemover::CalculateBeginDeleteTime(
TimePeriod time_period) {
- base::TimeDelta diff;
- base::Time delete_begin_time = base::Time::Now();
+ const base::Time now = base::Time::Now();
+ base::Time delete_begin_time;
switch (time_period) {
case LAST_HOUR:
- diff = base::TimeDelta::FromHours(1);
+ delete_begin_time = now - base::TimeDelta::FromHours(1);
break;
case LAST_DAY:
- diff = base::TimeDelta::FromHours(24);
+ delete_begin_time = now - base::TimeDelta::FromDays(1);
break;
case LAST_WEEK:
- diff = base::TimeDelta::FromHours(7*24);
+ delete_begin_time = now - base::TimeDelta::FromDays(7);
break;
case FOUR_WEEKS:
- diff = base::TimeDelta::FromHours(4*7*24);
+ delete_begin_time = now - base::TimeDelta::FromDays(7 * 4);
+ break;
+ case EXCEPT_LAST_HOUR:
+ case EXCEPT_LAST_DAY:
+ case EXCEPT_LAST_WEEK:
+ case EXCEPT_FOUR_WEEKS:
+ delete_begin_time = base::Time();
break;
case EVERYTHING:
delete_begin_time = base::Time();
@@ -507,7 +512,40 @@ base::Time BrowsingDataRemover::CalculateBeginDeleteTime(
NOTREACHED() << L"Missing item";
break;
}
- return delete_begin_time - diff;
+ return delete_begin_time;
+}
+
+base::Time BrowsingDataRemover::CalculateEndDeleteTime(
+ TimePeriod time_period) {
+ const base::Time now = base::Time::Now();
+ base::Time delete_end_time;
+ switch (time_period) {
+ case LAST_HOUR:
+ case LAST_DAY:
+ case LAST_WEEK:
+ case FOUR_WEEKS:
+ delete_end_time = base::Time();
+ break;
+ case EXCEPT_LAST_HOUR:
+ delete_end_time = now - base::TimeDelta::FromHours(1);
+ break;
+ case EXCEPT_LAST_DAY:
+ delete_end_time = now - base::TimeDelta::FromDays(1);
+ break;
+ case EXCEPT_LAST_WEEK:
+ delete_end_time = now - base::TimeDelta::FromDays(7);
+ break;
+ case EXCEPT_FOUR_WEEKS:
+ delete_end_time = now - base::TimeDelta::FromDays(7 * 4);
+ break;
+ case EVERYTHING:
+ delete_end_time = base::Time();
+ break;
+ default:
+ NOTREACHED() << L"Missing item";
+ break;
+ }
+ return delete_end_time;
}
bool BrowsingDataRemover::AllDone() {
« no previous file with comments | « chrome/browser/browsing_data_remover.h ('k') | chrome/browser/chrome_content_browser_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698