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

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: @r160830 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 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 DCHECK(browser_context); 341 DCHECK(browser_context);
342 DCHECK(!shutdown_needed_) << "DownloadManager already initialized."; 342 DCHECK(!shutdown_needed_) << "DownloadManager already initialized.";
343 shutdown_needed_ = true; 343 shutdown_needed_ = true;
344 344
345 browser_context_ = browser_context; 345 browser_context_ = browser_context;
346 346
347 return true; 347 return true;
348 } 348 }
349 349
350 // We have received a message from DownloadFileManager about a new download. 350 // We have received a message from DownloadFileManager about a new download.
351 content::DownloadId DownloadManagerImpl::StartDownload( 351 DownloadItem* DownloadManagerImpl::StartDownload(
352 scoped_ptr<DownloadCreateInfo> info, 352 scoped_ptr<DownloadCreateInfo> info,
353 scoped_ptr<content::ByteStreamReader> stream) { 353 scoped_ptr<content::ByteStreamReader> stream) {
354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
355 355
356 // |bound_net_log| will be used for logging both the download item's and 356 // |bound_net_log| will be used for logging both the download item's and
357 // the download file's events. 357 // the download file's events.
358 net::BoundNetLog bound_net_log = CreateDownloadItem(info.get()); 358 net::BoundNetLog bound_net_log = CreateDownloadItem(info.get());
359 359
360 // If info->download_id was unknown on entry to this function, it was 360 // If info->download_id was unknown on entry to this function, it was
361 // assigned in CreateDownloadItem. 361 // assigned in CreateDownloadItem.
(...skipping 11 matching lines...) Expand all
373 this, download_id.local())); 373 this, download_id.local()));
374 374
375 BrowserThread::PostTask( 375 BrowserThread::PostTask(
376 BrowserThread::FILE, FROM_HERE, 376 BrowserThread::FILE, FROM_HERE,
377 base::Bind(&DownloadFileManager::CreateDownloadFile, 377 base::Bind(&DownloadFileManager::CreateDownloadFile,
378 file_manager_, base::Passed(info.Pass()), 378 file_manager_, base::Passed(info.Pass()),
379 base::Passed(stream.Pass()), make_scoped_refptr(this), 379 base::Passed(stream.Pass()), make_scoped_refptr(this),
380 (delegate_ && delegate_->GenerateFileHash()), bound_net_log, 380 (delegate_ && delegate_->GenerateFileHash()), bound_net_log,
381 callback)); 381 callback));
382 382
383 return download_id; 383 return GetDownload(download_id.local());
384 } 384 }
385 385
386 void DownloadManagerImpl::OnDownloadFileCreated( 386 void DownloadManagerImpl::OnDownloadFileCreated(
387 int32 download_id, content::DownloadInterruptReason reason) { 387 int32 download_id, content::DownloadInterruptReason reason) {
388 if (reason != content::DOWNLOAD_INTERRUPT_REASON_NONE) { 388 if (reason != content::DOWNLOAD_INTERRUPT_REASON_NONE) {
389 OnDownloadInterrupted(download_id, reason); 389 OnDownloadInterrupted(download_id, reason);
390 // TODO(rdsmith): It makes no sense to continue along the 390 // TODO(rdsmith): It makes no sense to continue along the
391 // regular download path after we've gotten an error. But it's 391 // regular download path after we've gotten an error. But it's
392 // the way the code has historically worked, and this allows us 392 // the way the code has historically worked, and this allows us
393 // to get the download persisted and observers of the download manager 393 // to get the download persisted and observers of the download manager
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 void DownloadManagerImpl::DownloadRenamedToFinalName( 1039 void DownloadManagerImpl::DownloadRenamedToFinalName(
1040 DownloadItemImpl* download) { 1040 DownloadItemImpl* download) {
1041 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1041 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1042 // If the rename failed, we receive an OnDownloadInterrupted() call before we 1042 // If the rename failed, we receive an OnDownloadInterrupted() call before we
1043 // receive the DownloadRenamedToFinalName() call. 1043 // receive the DownloadRenamedToFinalName() call.
1044 if (delegate_) { 1044 if (delegate_) {
1045 delegate_->UpdatePathForItemInPersistentStore( 1045 delegate_->UpdatePathForItemInPersistentStore(
1046 download, download->GetFullPath()); 1046 download, download->GetFullPath());
1047 } 1047 }
1048 } 1048 }
OLDNEW
« no previous file with comments | « content/browser/download/download_manager_impl.h ('k') | content/browser/download/download_resource_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698