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

Unified Diff: content/browser/download/download_manager_impl.cc

Issue 1603903002: Add an OriginFilterBuilder class for [white|black]listing origins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase over 1246583002 Created 4 years, 10 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
Index: content/browser/download/download_manager_impl.cc
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index 9f7029d77dc77e1cd394d60e7f685d6437cadf3a..3fcb33ef51edfe4b895112a7ce292e14f8af65c4 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -519,19 +519,18 @@ void DownloadManagerImpl::RemoveUrlDownloader(UrlDownloader* downloader) {
namespace {
-bool RemoveDownloadBetween(base::Time remove_begin,
- base::Time remove_end,
- const DownloadItemImpl* download_item) {
- return download_item->GetStartTime() >= remove_begin &&
- (remove_end.is_null() || download_item->GetStartTime() < remove_end);
+bool EmptyFilter(const GURL& url) {
+ return true;
}
-bool RemoveDownloadByOriginAndTime(const url::Origin& origin,
- base::Time remove_begin,
- base::Time remove_end,
- const DownloadItemImpl* download_item) {
- return origin.IsSameOriginWith(url::Origin(download_item->GetURL())) &&
- RemoveDownloadBetween(remove_begin, remove_end, download_item);
+bool RemoveDownloadByURLAndTime(
+ const base::Callback<bool(const GURL&)>& url_filter,
+ base::Time remove_begin,
+ base::Time remove_end,
+ const DownloadItemImpl* download_item) {
+ return url_filter.Run(download_item->GetURL()) &&
+ download_item->GetStartTime() >= remove_begin &&
+ (remove_end.is_null() || download_item->GetStartTime() < remove_end);
}
} // namespace
@@ -554,24 +553,21 @@ int DownloadManagerImpl::RemoveDownloads(const DownloadRemover& remover) {
return count;
}
-int DownloadManagerImpl::RemoveDownloadsByOriginAndTime(
- const url::Origin& origin,
+int DownloadManagerImpl::RemoveDownloadsByURLAndTime(
+ const base::Callback<bool(const GURL&)>& url_filter,
base::Time remove_begin,
base::Time remove_end) {
- return RemoveDownloads(base::Bind(&RemoveDownloadByOriginAndTime,
- base::ConstRef(origin), remove_begin,
- remove_end));
-}
-
-int DownloadManagerImpl::RemoveDownloadsBetween(base::Time remove_begin,
- base::Time remove_end) {
- return RemoveDownloads(
- base::Bind(&RemoveDownloadBetween, remove_begin, remove_end));
+ return RemoveDownloads(base::Bind(&RemoveDownloadByURLAndTime,
+ url_filter,
+ remove_begin, remove_end));
}
int DownloadManagerImpl::RemoveAllDownloads() {
+ const base::Callback<bool(const GURL&)> empty_filter =
+ base::Bind(&EmptyFilter);
// The null times make the date range unbounded.
- int num_deleted = RemoveDownloadsBetween(base::Time(), base::Time());
+ int num_deleted = RemoveDownloadsByURLAndTime(
+ empty_filter, base::Time(), base::Time());
RecordClearAllSize(num_deleted);
return num_deleted;
}
« no previous file with comments | « content/browser/download/download_manager_impl.h ('k') | content/browser/download/download_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698