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

Unified Diff: content/browser/download/download_item_impl.cc

Issue 10915180: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 3 months 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: 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 053406902ba7e43d870827062f8ad9c0965bf599..3a04c898fa6a88e8906f975e04c99970efde38b0 100644
--- a/content/browser/download/download_item_impl.cc
+++ b/content/browser/download/download_item_impl.cc
@@ -47,7 +47,6 @@
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
-#include "content/public/browser/download_persistent_store_info.h"
#include "net/base/net_util.h"
using content::BrowserThread;
@@ -55,7 +54,6 @@ using content::DownloadFile;
using content::DownloadId;
using content::DownloadItem;
using content::DownloadManager;
-using content::DownloadPersistentStoreInfo;
using content::WebContents;
namespace {
@@ -126,55 +124,49 @@ class NullDownloadRequestHandle : public DownloadRequestHandleInterface {
namespace content {
-// Our download table ID starts at 1, so we use 0 to represent a download that
-// has started, but has not yet had its data persisted in the table. We use fake
-// database handles in incognito mode starting at -1 and progressively getting
-// more negative.
-// static
-const int DownloadItem::kUninitializedHandle = 0;
-
const char DownloadItem::kEmptyFileHash[] = "";
}
-// Our download table ID starts at 1, so we use 0 to represent a download that
-// has started, but has not yet had its data persisted in the table. We use fake
-// database handles in incognito mode starting at -1 and progressively getting
-// more negative.
-
// Constructor for reading from the history service.
DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
DownloadId download_id,
- const DownloadPersistentStoreInfo& info,
+ const FilePath& path,
+ const GURL& url,
+ const GURL& referrer_url,
+ const base::Time& start_time,
+ const base::Time& end_time,
+ int64 received_bytes,
+ int64 total_bytes,
+ DownloadItem::DownloadState state,
+ bool opened,
const net::BoundNetLog& bound_net_log)
: download_id_(download_id),
- current_path_(info.path),
- target_path_(info.path),
+ current_path_(path),
+ target_path_(path),
target_disposition_(TARGET_DISPOSITION_OVERWRITE),
- url_chain_(1, info.url),
- referrer_url_(info.referrer_url),
+ url_chain_(1, url),
+ referrer_url_(referrer_url),
transition_type_(content::PAGE_TRANSITION_LINK),
has_user_gesture_(false),
- total_bytes_(info.total_bytes),
- received_bytes_(info.received_bytes),
+ total_bytes_(total_bytes),
+ received_bytes_(received_bytes),
bytes_per_sec_(0),
last_reason_(content::DOWNLOAD_INTERRUPT_REASON_NONE),
start_tick_(base::TimeTicks()),
- state_(info.state),
+ state_(state),
danger_type_(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS),
- start_time_(info.start_time),
- end_time_(info.end_time),
- db_handle_(info.db_handle),
+ start_time_(start_time),
+ end_time_(end_time),
delegate_(delegate),
is_paused_(false),
open_when_complete_(false),
file_externally_removed_(false),
safety_state_(SAFE),
auto_opened_(false),
- is_persisted_(true),
is_temporary_(false),
all_data_saved_(false),
- opened_(info.opened),
+ opened_(opened),
open_enabled_(true),
delegate_delayed_complete_(false),
bound_net_log_(bound_net_log),
@@ -218,14 +210,12 @@ DownloadItemImpl::DownloadItemImpl(
state_(IN_PROGRESS),
danger_type_(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS),
start_time_(info.start_time),
- db_handle_(DownloadItem::kUninitializedHandle),
delegate_(delegate),
is_paused_(false),
open_when_complete_(false),
file_externally_removed_(false),
safety_state_(SAFE),
auto_opened_(false),
- is_persisted_(false),
is_temporary_(!info.save_info.file_path.empty()),
all_data_saved_(false),
opened_(false),
@@ -273,14 +263,12 @@ DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
state_(IN_PROGRESS),
danger_type_(content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS),
start_time_(base::Time::Now()),
- db_handle_(DownloadItem::kUninitializedHandle),
delegate_(delegate),
is_paused_(false),
open_when_complete_(false),
file_externally_removed_(false),
safety_state_(SAFE),
auto_opened_(false),
- is_persisted_(false),
is_temporary_(false),
all_data_saved_(false),
opened_(false),
@@ -455,10 +443,6 @@ DownloadId DownloadItemImpl::GetGlobalId() const {
return download_id_;
}
-int64 DownloadItemImpl::GetDbHandle() const {
- return db_handle_;
-}
-
DownloadItem::DownloadState DownloadItemImpl::GetState() const {
return state_;
}
@@ -475,10 +459,6 @@ bool DownloadItemImpl::IsTemporary() const {
return is_temporary_;
}
-bool DownloadItemImpl::IsPersisted() const {
- return is_persisted_;
-}
-
// TODO(ahendrickson) -- Move |INTERRUPTED| from |IsCancelled()| to
// |IsPartialDownload()|, when resuming interrupted downloads is implemented.
bool DownloadItemImpl::IsPartialDownload() const {
@@ -732,20 +712,6 @@ bool DownloadItemImpl::MatchesQuery(const string16& query) const {
query, path, NULL, NULL);
}
-DownloadPersistentStoreInfo DownloadItemImpl::GetPersistentStoreInfo() const {
- // TODO(asanka): Persist GetTargetFilePath() as well.
- return DownloadPersistentStoreInfo(GetFullPath(),
- GetURL(),
- GetReferrerUrl(),
- GetStartTime(),
- GetEndTime(),
- GetReceivedBytes(),
- GetTotalBytes(),
- GetState(),
- GetDbHandle(),
- GetOpened());
-}
-
content::BrowserContext* DownloadItemImpl::GetBrowserContext() const {
return delegate_->GetBrowserContext();
}
@@ -807,7 +773,6 @@ std::string DownloadItemImpl::DebugString(bool verbose) const {
if (verbose) {
description += base::StringPrintf(
- " db_handle = %" PRId64
" total = %" PRId64
" received = %" PRId64
" reason = %s"
@@ -818,7 +783,6 @@ std::string DownloadItemImpl::DebugString(bool verbose) const {
" url_chain = \n\t\"%s\"\n\t"
" full_path = \"%" PRFilePath "\""
" target_path = \"%" PRFilePath "\"",
- GetDbHandle(),
GetTotalBytes(),
GetReceivedBytes(),
InterruptReasonDebugString(last_reason_).c_str(),
@@ -943,18 +907,6 @@ void DownloadItemImpl::MarkAsComplete() {
TransitionTo(COMPLETE);
}
-void DownloadItemImpl::SetIsPersisted() {
- is_persisted_ = true;
-}
-
-void DownloadItemImpl::SetDbHandle(int64 handle) {
- db_handle_ = handle;
-
- bound_net_log_.AddEvent(
- net::NetLog::TYPE_DOWNLOAD_ITEM_IN_HISTORY,
- net::NetLog::Int64Callback("db_handle", db_handle_));
-}
-
// **** Download progression cascade
void DownloadItemImpl::Init(bool active,
@@ -981,18 +933,16 @@ void DownloadItemImpl::Init(bool active,
file_name = GetURL().ExtractFileName();
}
- bound_net_log_.BeginEvent(
- net::NetLog::TYPE_DOWNLOAD_ITEM_ACTIVE,
- base::Bind(&download_net_logs::ItemActivatedCallback,
- this, download_type, &file_name));
-
- // If this is not an active download, end the ACTIVE event now.
- if (!active) {
+ if (active) {
Randy Smith (Not in Mondays) 2012/09/13 19:53:19 There's enough duplicated code here (like, all of
benjhayden 2012/09/21 20:45:46 I named the callback instead. How does it look now
Randy Smith (Not in Mondays) 2012/09/24 18:03:25 Looks good.
+ bound_net_log_.BeginEvent(
+ net::NetLog::TYPE_DOWNLOAD_ITEM_ACTIVE,
+ base::Bind(&download_net_logs::ItemActivatedCallback,
+ this, download_type, &file_name));
+ } else {
bound_net_log_.AddEvent(
- net::NetLog::TYPE_DOWNLOAD_ITEM_IN_HISTORY,
- net::NetLog::Int64Callback("db_handle", db_handle_));
-
- bound_net_log_.EndEvent(net::NetLog::TYPE_DOWNLOAD_ITEM_ACTIVE);
+ net::NetLog::TYPE_DOWNLOAD_ITEM_ACTIVE,
+ base::Bind(&download_net_logs::ItemActivatedCallback,
+ this, download_type, &file_name));
}
VLOG(20) << __FUNCTION__ << "() " << DebugString(true);
@@ -1109,7 +1059,7 @@ void DownloadItemImpl::OnDownloadRenamedToFinalName(
DCHECK(!full_path.empty());
target_path_ = full_path;
SetFullPath(full_path);
- delegate_->DownloadRenamedToFinalName(this);
+ UpdateObservers();
// Complete the download and release the DownloadFile.
BrowserThread::PostTask(

Powered by Google App Engine
This is Rietveld 408576698