Chromium Code Reviews| 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); |
| +} |