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
3 // found in the LICENSE file.
5 #include "content/browser/download/download_item_impl_delegate.h"
7 #include "base/logging.h"
8 #include "content/browser/download/download_item_impl.h"
12 // Infrastructure in DownloadItemImplDelegate to assert invariant that
13 // delegate always outlives all attached DownloadItemImpls.
14 DownloadItemImplDelegate::DownloadItemImplDelegate()
17 DownloadItemImplDelegate::~DownloadItemImplDelegate() {
21 void DownloadItemImplDelegate::Attach() {
25 void DownloadItemImplDelegate::Detach() {
30 void DownloadItemImplDelegate::DetermineDownloadTarget(
31 DownloadItemImpl
* download
, const DownloadTargetCallback
& callback
) {
32 // TODO(rdsmith/asanka): Do something useful if forced file path is null.
33 base::FilePath
target_path(download
->GetForcedFilePath());
34 callback
.Run(target_path
,
35 DownloadItem::TARGET_DISPOSITION_OVERWRITE
,
36 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS
,
40 bool DownloadItemImplDelegate::ShouldCompleteDownload(
41 DownloadItemImpl
* download
,
42 const base::Closure
& complete_callback
) {
46 bool DownloadItemImplDelegate::ShouldOpenDownload(
47 DownloadItemImpl
* download
, const ShouldOpenDownloadCallback
& callback
) {
51 bool DownloadItemImplDelegate::ShouldOpenFileBasedOnExtension(
52 const base::FilePath
& path
) {
56 void DownloadItemImplDelegate::CheckForFileRemoval(
57 DownloadItemImpl
* download_item
) {}
59 void DownloadItemImplDelegate::ResumeInterruptedDownload(
60 scoped_ptr
<DownloadUrlParameters
> params
, uint32 id
) {}
62 BrowserContext
* DownloadItemImplDelegate::GetBrowserContext() const {
66 void DownloadItemImplDelegate::UpdatePersistence(DownloadItemImpl
* download
) {}
68 void DownloadItemImplDelegate::OpenDownload(DownloadItemImpl
* download
) {}
70 void DownloadItemImplDelegate::ShowDownloadInShell(DownloadItemImpl
* download
) {
73 void DownloadItemImplDelegate::DownloadRemoved(DownloadItemImpl
* download
) {}
75 void DownloadItemImplDelegate::AssertStateConsistent(
76 DownloadItemImpl
* download
) const {}
78 } // namespace content