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

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: @r159248 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 72159e425e25f81b1872f58c51a5d71f36eea475..ccc1193e52ca0b382a07f9e9b3ebad962c5c5e9c 100644
--- a/content/browser/download/download_item_impl.cc
+++ b/content/browser/download/download_item_impl.cc
@@ -45,7 +45,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;
@@ -53,7 +52,6 @@ using content::DownloadFile;
using content::DownloadId;
using content::DownloadItem;
using content::DownloadManager;
-using content::DownloadPersistentStoreInfo;
using content::WebContents;
namespace {
@@ -108,55 +106,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_(ExternalToInternalState(info.state)),
+ state_(ExternalToInternalState(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),
@@ -200,14 +192,12 @@ DownloadItemImpl::DownloadItemImpl(
state_(IN_PROGRESS_INTERNAL),
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),
@@ -255,14 +245,12 @@ DownloadItemImpl::DownloadItemImpl(DownloadItemImplDelegate* delegate,
state_(IN_PROGRESS_INTERNAL),
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),
@@ -441,10 +429,6 @@ DownloadId DownloadItemImpl::GetGlobalId() const {
return download_id_;
}
-int64 DownloadItemImpl::GetDbHandle() const {
- return db_handle_;
-}
-
DownloadItem::DownloadState DownloadItemImpl::GetState() const {
return InternalToExternalState(state_);
}
@@ -461,10 +445,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 {
@@ -681,20 +661,6 @@ bool DownloadItemImpl::GetOpened() const {
return opened_;
}
-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();
}
@@ -756,7 +722,6 @@ std::string DownloadItemImpl::DebugString(bool verbose) const {
if (verbose) {
description += base::StringPrintf(
- " db_handle = %" PRId64
" total = %" PRId64
" received = %" PRId64
" reason = %s"
@@ -767,7 +732,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(),
@@ -892,19 +856,6 @@ void DownloadItemImpl::MarkAsComplete() {
TransitionTo(COMPLETE_INTERNAL);
}
-void DownloadItemImpl::SetIsPersisted() {
- is_persisted_ = true;
- UpdateObservers();
-}
-
-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,
@@ -931,18 +882,15 @@ 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) {
+ base::Callback<base::Value*(net::NetLog::LogLevel)> active_data = base::Bind(
+ &download_net_logs::ItemActivatedCallback, this,
+ download_type, &file_name);
+ if (active) {
+ bound_net_log_.BeginEvent(
+ net::NetLog::TYPE_DOWNLOAD_ITEM_ACTIVE, active_data);
+ } else {
bound_net_log_.AddEvent(
asanka 2012/09/28 19:02:30 EndEvent()
benjhayden 2012/10/01 14:10:03 Can you elaborate why? This is Init(), which is on
asanka 2012/10/01 15:59:36 Ignore my comment. I misread.
- 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, active_data);
}
VLOG(20) << __FUNCTION__ << "() " << DebugString(true);
@@ -1079,7 +1027,7 @@ void DownloadItemImpl::OnDownloadRenamedToFinalName(
DCHECK(!full_path.empty());
target_path_ = full_path;
SetFullPath(full_path);
- delegate_->DownloadRenamedToFinalName(this);
+ UpdateObservers();
asanka 2012/09/28 19:02:30 Given that with this change we always call UpdateO
benjhayden 2012/10/01 14:10:03 Done.
// Complete the download and release the DownloadFile.
BrowserThread::PostTask(
« no previous file with comments | « content/browser/download/download_item_impl.h ('k') | content/browser/download/download_item_impl_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698