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_