1// Copyright 2014 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.
4
5#ifndef CHROMECAST_SHELL_BROWSER_CAST_DOWNLOAD_MANAGER_DELEGATE_H_
6#define CHROMECAST_SHELL_BROWSER_CAST_DOWNLOAD_MANAGER_DELEGATE_H_
7
8#include "base/macros.h"
9#include "content/public/browser/download_manager_delegate.h"
10
11namespace chromecast {
12namespace shell {
13
14class CastDownloadManagerDelegate : public content::DownloadManagerDelegate {
15 public:
16  CastDownloadManagerDelegate();
17  virtual ~CastDownloadManagerDelegate();
18
19  // content::DownloadManagerDelegate implementation:
20  virtual void GetNextId(
21      const content::DownloadIdCallback& callback) OVERRIDE;
22  virtual bool DetermineDownloadTarget(
23      content::DownloadItem* item,
24      const content::DownloadTargetCallback& callback) OVERRIDE;
25  virtual bool ShouldOpenFileBasedOnExtension(
26      const base::FilePath& path) OVERRIDE;
27  virtual bool ShouldCompleteDownload(
28      content::DownloadItem* item,
29      const base::Closure& complete_callback) OVERRIDE;
30  virtual bool ShouldOpenDownload(
31      content::DownloadItem* item,
32      const content::DownloadOpenDelayedCallback& callback) OVERRIDE;
33
34 private:
35  DISALLOW_COPY_AND_ASSIGN(CastDownloadManagerDelegate);
36};
37
38}  // namespace shell
39}  // namespace chromecast
40
41#endif  // CHROMECAST_SHELL_BROWSER_CAST_DOWNLOAD_MANAGER_DELEGATE_H_