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

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

Issue 11673003: UI changes associated with downloads resumption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged from DownloadsResumption; includes CanResumeDownload, which was nuked in the original CL. Created 7 years, 11 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
« no previous file with comments | « content/browser/download/download_item_impl.h ('k') | content/public/browser/download_item.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // File method ordering: Methods in this file are in the same order as 5 // File method ordering: Methods in this file are in the same order as
6 // in download_item_impl.h, with the following exception: The public 6 // in download_item_impl.h, with the following exception: The public
7 // interface Start is placed in chronological order with the other 7 // interface Start is placed in chronological order with the other
8 // (private) routines that together define a DownloadItem's state 8 // (private) routines that together define a DownloadItem's state
9 // transitions as the download progresses. See "Download progression 9 // transitions as the download progresses. See "Download progression
10 // cascade" later in this file. 10 // cascade" later in this file.
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 } 471 }
472 472
473 DownloadInterruptReason DownloadItemImpl::GetLastReason() const { 473 DownloadInterruptReason DownloadItemImpl::GetLastReason() const {
474 return last_reason_; 474 return last_reason_;
475 } 475 }
476 476
477 bool DownloadItemImpl::IsPaused() const { 477 bool DownloadItemImpl::IsPaused() const {
478 return is_paused_; 478 return is_paused_;
479 } 479 }
480 480
481 bool DownloadItemImpl::CanResumeInterrupted() const {
482 return GetResumeMode() != RESUME_MODE_INVALID;
483 }
484
481 bool DownloadItemImpl::IsTemporary() const { 485 bool DownloadItemImpl::IsTemporary() const {
482 return is_temporary_; 486 return is_temporary_;
483 } 487 }
484 488
485 bool DownloadItemImpl::IsPartialDownload() const { 489 bool DownloadItemImpl::IsPartialDownload() const {
486 DownloadState state = InternalToExternalState(state_); 490 DownloadState state = InternalToExternalState(state_);
487 return (state == IN_PROGRESS) || (state == INTERRUPTED); 491 return (state == IN_PROGRESS) || (state == INTERRUPTED);
488 } 492 }
489 493
490 bool DownloadItemImpl::IsInProgress() const { 494 bool DownloadItemImpl::IsInProgress() const {
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 } 683 }
680 684
681 bool DownloadItemImpl::CanOpenDownload() { 685 bool DownloadItemImpl::CanOpenDownload() {
682 // We can open the file or mark it for opening on completion if the download 686 // We can open the file or mark it for opening on completion if the download
683 // is expected to complete successfully. Exclude temporary downloads, since 687 // is expected to complete successfully. Exclude temporary downloads, since
684 // they aren't owned by the download system. 688 // they aren't owned by the download system.
685 return (IsInProgress() || IsComplete()) && !IsTemporary() && 689 return (IsInProgress() || IsComplete()) && !IsTemporary() &&
686 !file_externally_removed_; 690 !file_externally_removed_;
687 } 691 }
688 692
693 bool DownloadItemImpl::CanResumeDownload() const {
694 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
695
696 // Do not allow interrupted downloads to be resumed until the target name
697 // has been determined, and the user has validated any dangerous items.
698 // TODO(rdsmith) -- Add a state indicating that filename determination has
699 // occurred.
700 if (GetTargetFilePath().empty())
701 return false;
702
703 if (GetSafetyState() == DANGEROUS)
704 return false;
705
706 return IsInProgress() || (GetResumeMode() != RESUME_MODE_INVALID);
707 }
708
689 bool DownloadItemImpl::ShouldOpenFileBasedOnExtension() { 709 bool DownloadItemImpl::ShouldOpenFileBasedOnExtension() {
690 return delegate_->ShouldOpenFileBasedOnExtension(GetUserVerifiedFilePath()); 710 return delegate_->ShouldOpenFileBasedOnExtension(GetUserVerifiedFilePath());
691 } 711 }
692 712
693 bool DownloadItemImpl::GetOpenWhenComplete() const { 713 bool DownloadItemImpl::GetOpenWhenComplete() const {
694 return open_when_complete_; 714 return open_when_complete_;
695 } 715 }
696 716
697 bool DownloadItemImpl::GetAutoOpened() { 717 bool DownloadItemImpl::GetAutoOpened() {
698 return auto_opened_; 718 return auto_opened_;
(...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
1663 case RESUME_MODE_USER_CONTINUE: 1683 case RESUME_MODE_USER_CONTINUE:
1664 return "USER_CONTINUE"; 1684 return "USER_CONTINUE";
1665 case RESUME_MODE_USER_RESTART: 1685 case RESUME_MODE_USER_RESTART:
1666 return "USER_RESTART"; 1686 return "USER_RESTART";
1667 } 1687 }
1668 NOTREACHED() << "Unknown resume mode " << mode; 1688 NOTREACHED() << "Unknown resume mode " << mode;
1669 return "unknown"; 1689 return "unknown";
1670 } 1690 }
1671 1691
1672 } // namespace content 1692 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/download/download_item_impl.h ('k') | content/public/browser/download_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698