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

Side by Side Diff: content/browser/download/download_manager_impl.cc

Issue 11068027: OnDownloadStarted takes DownloadItem* instead of DownloadId (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/download/download_manager_impl.h" 5 #include "content/browser/download/download_manager_impl.h"
6 6
7 #include <iterator> 7 #include <iterator>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 DCHECK(browser_context); 337 DCHECK(browser_context);
338 DCHECK(!shutdown_needed_) << "DownloadManager already initialized."; 338 DCHECK(!shutdown_needed_) << "DownloadManager already initialized.";
339 shutdown_needed_ = true; 339 shutdown_needed_ = true;
340 340
341 browser_context_ = browser_context; 341 browser_context_ = browser_context;
342 342
343 return true; 343 return true;
344 } 344 }
345 345
346 // We have received a message from DownloadFileManager about a new download. 346 // We have received a message from DownloadFileManager about a new download.
347 content::DownloadId DownloadManagerImpl::StartDownload( 347 DownloadItem* DownloadManagerImpl::StartDownload(
348 scoped_ptr<DownloadCreateInfo> info, 348 scoped_ptr<DownloadCreateInfo> info,
349 scoped_ptr<content::ByteStreamReader> stream) { 349 scoped_ptr<content::ByteStreamReader> stream) {
350 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 350 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
351 351
352 // |bound_net_log| will be used for logging both the download item's and 352 // |bound_net_log| will be used for logging both the download item's and
353 // the download file's events. 353 // the download file's events.
354 net::BoundNetLog bound_net_log = CreateDownloadItem(info.get()); 354 net::BoundNetLog bound_net_log = CreateDownloadItem(info.get());
355 355
356 // If info->download_id was unknown on entry to this function, it was 356 // If info->download_id was unknown on entry to this function, it was
357 // assigned in CreateDownloadItem. 357 // assigned in CreateDownloadItem.
(...skipping 11 matching lines...) Expand all
369 this, download_id.local())); 369 this, download_id.local()));
370 370
371 BrowserThread::PostTask( 371 BrowserThread::PostTask(
372 BrowserThread::FILE, FROM_HERE, 372 BrowserThread::FILE, FROM_HERE,
373 base::Bind(&DownloadFileManager::CreateDownloadFile, 373 base::Bind(&DownloadFileManager::CreateDownloadFile,
374 file_manager_, base::Passed(info.Pass()), 374 file_manager_, base::Passed(info.Pass()),
375 base::Passed(stream.Pass()), make_scoped_refptr(this), 375 base::Passed(stream.Pass()), make_scoped_refptr(this),
376 (delegate_ && delegate_->GenerateFileHash()), bound_net_log, 376 (delegate_ && delegate_->GenerateFileHash()), bound_net_log,
377 callback)); 377 callback));
378 378
379 return download_id; 379 return GetDownload(download_id.local());
Randy Smith (Not in Mondays) 2012/10/08 19:20:52 I think that it would be a better design to refact
benjhayden 2012/10/08 19:49:45 Ya, I thought about making CreateDownloadItem retu
380 } 380 }
381 381
382 void DownloadManagerImpl::OnDownloadFileCreated( 382 void DownloadManagerImpl::OnDownloadFileCreated(
383 int32 download_id, content::DownloadInterruptReason reason) { 383 int32 download_id, content::DownloadInterruptReason reason) {
384 if (reason != content::DOWNLOAD_INTERRUPT_REASON_NONE) { 384 if (reason != content::DOWNLOAD_INTERRUPT_REASON_NONE) {
385 OnDownloadInterrupted(download_id, reason); 385 OnDownloadInterrupted(download_id, reason);
386 // TODO(rdsmith): It makes no sense to continue along the 386 // TODO(rdsmith): It makes no sense to continue along the
387 // regular download path after we've gotten an error. But it's 387 // regular download path after we've gotten an error. But it's
388 // the way the code has historically worked, and this allows us 388 // the way the code has historically worked, and this allows us
389 // to get the download persisted and observers of the download manager 389 // to get the download persisted and observers of the download manager
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 void DownloadManagerImpl::DownloadRenamedToFinalName( 1035 void DownloadManagerImpl::DownloadRenamedToFinalName(
1036 DownloadItemImpl* download) { 1036 DownloadItemImpl* download) {
1037 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1037 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1038 // If the rename failed, we receive an OnDownloadInterrupted() call before we 1038 // If the rename failed, we receive an OnDownloadInterrupted() call before we
1039 // receive the DownloadRenamedToFinalName() call. 1039 // receive the DownloadRenamedToFinalName() call.
1040 if (delegate_) { 1040 if (delegate_) {
1041 delegate_->UpdatePathForItemInPersistentStore( 1041 delegate_->UpdatePathForItemInPersistentStore(
1042 download, download->GetFullPath()); 1042 download, download->GetFullPath());
1043 } 1043 }
1044 } 1044 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698