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

Unified Diff: chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc

Issue 1492273002: MD Downloads: limit the amount of downloads we send (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new-dl-data
Patch Set: asdf Created 5 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/ui/webui/md_downloads/md_downloads_dom_handler.cc
diff --git a/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc b/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc
index 39d3cc3f462c678aebfff654073563253d9166aa..ce116d51c65b74e6c49008f41bcab0fca0052e51 100644
--- a/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc
+++ b/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc
@@ -136,6 +136,7 @@ void MdDownloadsDOMHandler::RegisterMessages() {
void MdDownloadsDOMHandler::RenderViewReused(
content::RenderViewHost* render_view_host) {
list_tracker_.Stop();
+ list_tracker_.Reset();
}
void MdDownloadsDOMHandler::HandleGetDownloads(const base::ListValue* args) {
@@ -143,9 +144,9 @@ void MdDownloadsDOMHandler::HandleGetDownloads(const base::ListValue* args) {
bool terms_changed = list_tracker_.SetSearchTerms(*args);
if (terms_changed)
- list_tracker_.CallClearAll();
+ list_tracker_.Reset();
- list_tracker_.Start();
+ list_tracker_.StartAndSendChunk();
}
void MdDownloadsDOMHandler::HandleOpenFile(const base::ListValue* args) {
@@ -238,6 +239,12 @@ void MdDownloadsDOMHandler::HandleUndo(const base::ListValue* args) {
const IdSet last_removed_ids = removals_.back();
removals_.pop_back();
+ const bool undoing_clear_all = last_removed_ids.size() > 1;
+ if (undoing_clear_all) {
+ list_tracker_.Reset();
+ list_tracker_.Stop();
+ }
+
for (auto id : last_removed_ids) {
content::DownloadItem* download = GetDownloadById(id);
if (!download)
@@ -251,6 +258,9 @@ void MdDownloadsDOMHandler::HandleUndo(const base::ListValue* args) {
model.SetIsBeingRevived(false);
}
+
+ if (undoing_clear_all)
+ list_tracker_.StartAndSendChunk();
}
void MdDownloadsDOMHandler::HandleCancel(const base::ListValue* args) {
@@ -268,7 +278,7 @@ void MdDownloadsDOMHandler::HandleClearAll(const base::ListValue* args) {
CountDownloadsDOMEvents(DOWNLOADS_DOM_EVENT_CLEAR_ALL);
- list_tracker_.CallClearAll();
+ list_tracker_.Reset();
list_tracker_.Stop();
DownloadVector downloads;
@@ -278,7 +288,7 @@ void MdDownloadsDOMHandler::HandleClearAll(const base::ListValue* args) {
GetOriginalNotifierManager()->GetAllDownloads(&downloads);
RemoveDownloads(downloads);
- list_tracker_.Start();
+ list_tracker_.StartAndSendChunk();
}
void MdDownloadsDOMHandler::RemoveDownloads(const DownloadVector& to_remove) {

Powered by Google App Engine
This is Rietveld 408576698