| Index: content/browser/download/download_item_impl.cc
|
| diff --git a/content/browser/download/download_item_impl.cc b/content/browser/download/download_item_impl.cc
|
| index 6a6dc7d74112e7334413b6be0d36d97355ba44f3..19e4675a60b915a34a8f46827aadea2c3d3fa1f8 100644
|
| --- a/content/browser/download/download_item_impl.cc
|
| +++ b/content/browser/download/download_item_impl.cc
|
| @@ -29,9 +29,11 @@
|
| #include "base/bind.h"
|
| #include "base/files/file_util.h"
|
| #include "base/format_macros.h"
|
| +#include "base/guid.h"
|
| #include "base/logging.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/stl_util.h"
|
| +#include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "content/browser/download/download_create_info.h"
|
| @@ -105,6 +107,7 @@ const int DownloadItemImpl::kMaxAutoResumeAttempts = 5;
|
|
|
| // Constructor for reading from the history service.
|
| DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
|
| + const std::string& guid,
|
| uint32_t download_id,
|
| const base::FilePath& current_path,
|
| const base::FilePath& target_path,
|
| @@ -123,7 +126,8 @@ DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
|
| DownloadInterruptReason interrupt_reason,
|
| bool opened,
|
| const net::BoundNetLog& bound_net_log)
|
| - : download_id_(download_id),
|
| + : guid_(base::ToUpperASCII(guid)),
|
| + download_id_(download_id),
|
| current_path_(current_path),
|
| target_path_(target_path),
|
| url_chain_(url_chain),
|
| @@ -148,6 +152,7 @@ DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
|
| delegate_->Attach();
|
| DCHECK(state_ == COMPLETE_INTERNAL || state_ == INTERRUPTED_INTERNAL ||
|
| state_ == CANCELLED_INTERNAL);
|
| + DCHECK(base::IsValidGUID(guid_));
|
| Init(false /* not actively downloading */, SRC_HISTORY_IMPORT);
|
| }
|
|
|
| @@ -156,7 +161,8 @@ DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
|
| uint32_t download_id,
|
| const DownloadCreateInfo& info,
|
| const net::BoundNetLog& bound_net_log)
|
| - : download_id_(download_id),
|
| + : guid_(base::ToUpperASCII(base::GenerateGUID())),
|
| + download_id_(download_id),
|
| target_disposition_((info.save_info->prompt_for_save_location)
|
| ? TARGET_DISPOSITION_PROMPT
|
| : TARGET_DISPOSITION_OVERWRITE),
|
| @@ -207,6 +213,7 @@ DownloadItemImpl::DownloadItemImpl(
|
| const net::BoundNetLog& bound_net_log)
|
| : is_save_package_download_(true),
|
| request_handle_(std::move(request_handle)),
|
| + guid_(base::ToUpperASCII(base::GenerateGUID())),
|
| download_id_(download_id),
|
| current_path_(path),
|
| target_path_(path),
|
| @@ -425,6 +432,10 @@ uint32_t DownloadItemImpl::GetId() const {
|
| return download_id_;
|
| }
|
|
|
| +const std::string& DownloadItemImpl::GetGuid() const {
|
| + return guid_;
|
| +}
|
| +
|
| DownloadItem::DownloadState DownloadItemImpl::GetState() const {
|
| return InternalToExternalState(state_);
|
| }
|
|
|