| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/browser/download/download_item_impl_delegate.h" |
| |
| #include "base/logging.h" |
| #include "content/browser/download/download_item_impl.h" |
| |
| namespace content { |
| |
| // Infrastructure in DownloadItemImplDelegate to assert invariant that |
| // delegate always outlives all attached DownloadItemImpls. |
| DownloadItemImplDelegate::DownloadItemImplDelegate() |
| : count_(0) {} |
| |
| DownloadItemImplDelegate::~DownloadItemImplDelegate() { |
| DCHECK_EQ(0, count_); |
| } |
| |
| void DownloadItemImplDelegate::Attach() { |
| ++count_; |
| } |
| |
| void DownloadItemImplDelegate::Detach() { |
| DCHECK_LT(0, count_); |
| --count_; |
| } |
| |
| void DownloadItemImplDelegate::DetermineDownloadTarget( |
| DownloadItemImpl* download, const DownloadTargetCallback& callback) { |
| // TODO(rdsmith/asanka): Do something useful if forced file path is null. |
| base::FilePath target_path(download->GetForcedFilePath()); |
| callback.Run(target_path, |
| DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| target_path); |
| } |
| |
| bool DownloadItemImplDelegate::ShouldCompleteDownload( |
| DownloadItemImpl* download, |
| const base::Closure& complete_callback) { |
| return true; |
| } |
| |
| bool DownloadItemImplDelegate::ShouldOpenDownload( |
| DownloadItemImpl* download, const ShouldOpenDownloadCallback& callback) { |
| return false; |
| } |
| |
| bool DownloadItemImplDelegate::ShouldOpenFileBasedOnExtension( |
| const base::FilePath& path) { |
| return false; |
| } |
| |
| void DownloadItemImplDelegate::CheckForFileRemoval( |
| DownloadItemImpl* download_item) {} |
| |
| std::string DownloadItemImplDelegate::GetApplicationClientIdForFileScanning() |
| const { |
| return std::string(); |
| } |
| |
| void DownloadItemImplDelegate::ResumeInterruptedDownload( |
| std::unique_ptr<DownloadUrlParameters> params, |
| uint32_t id) {} |
| |
| BrowserContext* DownloadItemImplDelegate::GetBrowserContext() const { |
| return NULL; |
| } |
| |
| void DownloadItemImplDelegate::UpdatePersistence(DownloadItemImpl* download) {} |
| |
| void DownloadItemImplDelegate::OpenDownload(DownloadItemImpl* download) {} |
| |
| void DownloadItemImplDelegate::ShowDownloadInShell(DownloadItemImpl* download) { |
| } |
| |
| void DownloadItemImplDelegate::DownloadRemoved(DownloadItemImpl* download) {} |
| |
| void DownloadItemImplDelegate::AssertStateConsistent( |
| DownloadItemImpl* download) const {} |
| |
| } // namespace content |