Index: components/offline_pages/offline_page_model.cc |
diff --git a/components/offline_pages/offline_page_model.cc b/components/offline_pages/offline_page_model.cc |
index e89ae2add15ad730c64a7120bfad6fc60eb214cc..35e47f1e1f40d1fbfbd745154dba58647832e1aa 100644 |
--- a/components/offline_pages/offline_page_model.cc |
+++ b/components/offline_pages/offline_page_model.cc |
@@ -22,6 +22,10 @@ namespace offline_pages { |
namespace { |
+// Threshold for how old offline copy of a page should be before we offer to |
+// delete it to free up space. |
+const base::TimeDelta kPageCleanUpThreshold = base::TimeDelta::FromDays(30); |
+ |
SavePageResult ToSavePageResult(ArchiverResult archiver_result) { |
SavePageResult result; |
switch (archiver_result) { |
@@ -141,6 +145,17 @@ const std::vector<OfflinePageItem> OfflinePageModel::GetAllPages() const { |
return offline_pages; |
} |
+const std::vector<OfflinePageItem> OfflinePageModel::GetPagesToCleanUp() const { |
+ DCHECK(is_loaded_); |
+ std::vector<OfflinePageItem> offline_pages; |
+ base::Time now = base::Time::Now(); |
+ for (const auto& id_page_pair : offline_pages_) { |
+ if (now - id_page_pair.second.creation_time > kPageCleanUpThreshold) |
+ offline_pages.push_back(id_page_pair.second); |
+ } |
+ return offline_pages; |
+} |
+ |
bool OfflinePageModel::GetPageByBookmarkId( |
int64 bookmark_id, |
OfflinePageItem* offline_page) const { |