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

Unified Diff: chrome/browser/renderer_host/download_resource_handler.cc

Issue 7237034: sql::MetaTable.next_download_id, DownloadManager::GetNextId() (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: sql::MetaTable.next_download_id, DownloadId, DownloadManager::GetNextId() Created 9 years, 5 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: chrome/browser/renderer_host/download_resource_handler.cc
diff --git a/chrome/browser/renderer_host/download_resource_handler.cc b/chrome/browser/renderer_host/download_resource_handler.cc
index f35d5e4166ce7a127ce62a813137ecc2081b24e6..823081b5fa41bd5fa4557ac8b2880d4c66645be1 100644
--- a/chrome/browser/renderer_host/download_resource_handler.cc
+++ b/chrome/browser/renderer_host/download_resource_handler.cc
@@ -30,14 +30,15 @@ DownloadResourceHandler::DownloadResourceHandler(
int render_view_id,
int request_id,
const GURL& url,
+ const DownloadManager::GetNextIdThunkType& get_next_id,
DownloadFileManager* download_file_manager,
net::URLRequest* request,
bool save_as,
const DownloadSaveInfo& save_info)
- : download_id_(-1),
- global_id_(render_process_host_id, request_id),
+ : global_id_(render_process_host_id, request_id),
render_view_id_(render_view_id),
content_length_(0),
+ get_next_id_(get_next_id),
download_file_manager_(download_file_manager),
request_(request),
save_as_(save_as),
@@ -45,6 +46,7 @@ DownloadResourceHandler::DownloadResourceHandler(
buffer_(new DownloadBuffer),
rdh_(rdh),
is_paused_(false) {
+ DCHECK(!get_next_id.is_null());
download_util::RecordDownloadCount(download_util::UNTHROTTLED_COUNT);
}
@@ -65,6 +67,7 @@ bool DownloadResourceHandler::OnRequestRedirected(int request_id,
// Send the download creation information to the download thread.
bool DownloadResourceHandler::OnResponseStarted(int request_id,
ResourceResponse* response) {
+ DCHECK(!get_next_id_.is_null());
VLOG(20) << __FUNCTION__ << "()" << DebugString()
<< " request_id = " << request_id;
download_start_time_ = base::TimeTicks::Now();
@@ -77,7 +80,7 @@ bool DownloadResourceHandler::OnResponseStarted(int request_id,
const ResourceDispatcherHostRequestInfo* request_info =
ResourceDispatcherHost::InfoForRequest(request_);
- download_id_ = download_file_manager_->GetNextId();
+ download_id_ = get_next_id_.Run();
// Deleted in DownloadManager.
DownloadCreateInfo* info = new DownloadCreateInfo;
@@ -87,7 +90,7 @@ bool DownloadResourceHandler::OnResponseStarted(int request_id,
info->received_bytes = 0;
info->total_bytes = content_length_;
info->state = DownloadItem::IN_PROGRESS;
- info->download_id = download_id_;
+ info->download_id = download_id_.id();
info->has_user_gesture = request_info->has_user_gesture();
info->request_handle = DownloadRequestHandle(rdh_,
global_id_.child_id,
@@ -256,7 +259,7 @@ std::string DownloadResourceHandler::DebugString() const {
" save_info_.file_path = \"%" PRFilePath "\""
" }",
request_->url().spec().c_str(),
- download_id_,
+ download_id_.id(),
global_id_.child_id,
global_id_.request_id,
render_view_id_,

Powered by Google App Engine
This is Rietveld 408576698