| Index: content/browser/download/download_item.cc
|
| diff --git a/content/browser/download/download_item.cc b/content/browser/download/download_item.cc
|
| index bf3085f1bffbc17107901d3c9156f841db379e5b..47cc9c3295c32d4693c79c370952754037e8100b 100644
|
| --- a/content/browser/download/download_item.cc
|
| +++ b/content/browser/download/download_item.cc
|
| @@ -129,6 +129,7 @@ DownloadItem::DownloadItem(DownloadManager* download_manager,
|
| start_tick_(base::TimeTicks()),
|
| state_(static_cast<DownloadState>(info.state)),
|
| start_time_(info.start_time),
|
| + end_time_(info.end_time),
|
| db_handle_(info.db_handle),
|
| download_manager_(download_manager),
|
| is_paused_(false),
|
| @@ -139,7 +140,7 @@ DownloadItem::DownloadItem(DownloadManager* download_manager,
|
| is_otr_(false),
|
| is_temporary_(false),
|
| all_data_saved_(false),
|
| - opened_(false),
|
| + opened_(info.opened),
|
| open_enabled_(true),
|
| delegate_delayed_complete_(false) {
|
| if (IsInProgress())
|
| @@ -284,8 +285,10 @@ void DownloadItem::OpenDownload() {
|
| // program that opens the file. So instead we spawn a check to update
|
| // the UI if the file has been deleted in parallel with the open.
|
| download_manager_->CheckForFileRemoval(this);
|
| + download_stats::RecordOpen(end_time(), !opened());
|
| opened_ = true;
|
| FOR_EACH_OBSERVER(Observer, observers_, OnDownloadOpened(this));
|
| + download_manager_->MarkDownloadOpened(this);
|
|
|
| // For testing: If download opening is disabled on this item,
|
| // make the rest of the routine a no-op.
|
| @@ -385,6 +388,7 @@ void DownloadItem::MarkAsComplete() {
|
| CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| DCHECK(all_data_saved_);
|
| + end_time_ = base::Time::Now();
|
| TransitionTo(COMPLETE);
|
| }
|
|
|
| @@ -415,6 +419,7 @@ void DownloadItem::Completed() {
|
| VLOG(20) << __FUNCTION__ << "() " << DebugString(false);
|
|
|
| DCHECK(all_data_saved_);
|
| + end_time_ = base::Time::Now();
|
| TransitionTo(COMPLETE);
|
| download_manager_->DownloadCompleted(id());
|
| download_stats::RecordDownloadCompleted(start_tick_, received_bytes_);
|
| @@ -683,10 +688,12 @@ DownloadPersistentStoreInfo DownloadItem::GetPersistentStoreInfo() const {
|
| GetURL(),
|
| referrer_url(),
|
| start_time(),
|
| + end_time(),
|
| received_bytes(),
|
| total_bytes(),
|
| state(),
|
| - db_handle());
|
| + db_handle(),
|
| + opened());
|
| }
|
|
|
| FilePath DownloadItem::GetTargetFilePath() const {
|
|
|