Index: content/browser/download/download_manager.cc |
diff --git a/content/browser/download/download_manager.cc b/content/browser/download/download_manager.cc |
index e3235aea22fd6ecfb8f37603ce14f577d2ef4352..8ecb992cf1c13ad1a34d2bf6fdb153d485350815 100644 |
--- a/content/browser/download/download_manager.cc |
+++ b/content/browser/download/download_manager.cc |
@@ -25,6 +25,7 @@ |
#include "content/browser/download/download_item.h" |
#include "content/browser/download/download_manager_delegate.h" |
#include "content/browser/download/download_persistent_store_info.h" |
+#include "content/browser/download/download_stats.h" |
#include "content/browser/download/download_status_updater.h" |
#include "content/browser/renderer_host/render_process_host.h" |
#include "content/browser/renderer_host/render_view_host.h" |
@@ -682,6 +683,7 @@ int DownloadManager::RemoveDownloads(const base::Time remove_begin) { |
} |
int DownloadManager::RemoveAllDownloads() { |
+ download_stats::RecordClearAllSize(history_downloads_.size()); |
// The null times make the date range unbounded. |
return RemoveDownloadsBetween(base::Time(), base::Time()); |
} |
@@ -817,6 +819,8 @@ void DownloadManager::OnPersistentStoreQueryComplete( |
// http://crbug.com/84508 is fixed. |
largest_db_handle_in_history_ = 0; |
+ download_stats::RecordHistorySize(entries->size()); |
Randy Smith (Not in Mondays)
2011/09/30 15:57:21
I'm trying to wrap my brain around how this will b
benjhayden
2011/10/03 20:54:39
Done.
|
+ |
for (size_t i = 0; i < entries->size(); ++i) { |
DownloadItem* download = new DownloadItem(this, entries->at(i)); |
// TODO(rdsmith): Remove after http://crbug.com/85408 resolved. |
@@ -841,6 +845,8 @@ void DownloadManager::AddDownloadItemToHistory(DownloadItem* download, |
// is fixed. |
CHECK_NE(DownloadItem::kUninitializedHandle, db_handle); |
+ download_stats::RecordHistorySize2(history_downloads_.size()); |
+ |
DCHECK(download->db_handle() == DownloadItem::kUninitializedHandle); |
download->set_db_handle(db_handle); |
@@ -1068,3 +1074,14 @@ void DownloadManager::SavePageDownloadFinished(DownloadItem* download) { |
Details<DownloadItem>(download)); |
} |
} |
+ |
+void DownloadManager::MarkDownloadOpened(DownloadItem* download) { |
+ delegate_->UpdateItemInPersistentStore(download); |
+ int num_unopened = 0; |
+ for (DownloadMap::iterator it = history_downloads_.begin(); |
+ it != history_downloads_.end(); ++it) { |
+ if (it->second->IsComplete() && !it->second->opened()) |
+ ++num_unopened; |
+ } |
+ download_stats::RecordOpensOutstanding(num_unopened); |
+} |