#include "chrome/browser/download/download_core_service_impl.h"
#include <memory>
#include "base/functional/callback.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/download/chrome_download_manager_delegate.h"
#include "chrome/browser/download/download_core_service.h"
#include "chrome/browser/download/download_history.h"
#include "chrome/browser/download/download_offline_content_provider.h"
#include "chrome/browser/download/download_offline_content_provider_factory.h"
#include "chrome/browser/download/download_status_updater.h"
#include "chrome/browser/download/download_ui_controller.h"
#include "chrome/browser/download/simple_download_manager_coordinator_factory.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_key.h"
#include "components/download/public/common/simple_download_manager_coordinator.h"
#include "components/history/core/browser/history_service.h"
#include "content/public/browser/download_manager.h"
#include "extensions/buildflags/buildflags.h"
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/api/downloads/downloads_api.h"
#endif
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/download/android/download_utils.h"
#endif
BrowserContext;
DownloadManager;
DownloadManagerDelegate;
DownloadCoreServiceImpl::DownloadCoreServiceImpl(Profile* profile)
: … { … }
DownloadCoreServiceImpl::~DownloadCoreServiceImpl() { … }
ChromeDownloadManagerDelegate*
DownloadCoreServiceImpl::GetDownloadManagerDelegate() { … }
DownloadUIController* DownloadCoreServiceImpl::GetDownloadUIController() { … }
DownloadHistory* DownloadCoreServiceImpl::GetDownloadHistory() { … }
#if BUILDFLAG(ENABLE_EXTENSIONS)
extensions::ExtensionDownloadsEventRouter*
DownloadCoreServiceImpl::GetExtensionEventRouter() { … }
#endif
bool DownloadCoreServiceImpl::HasCreatedDownloadManager() { … }
int DownloadCoreServiceImpl::BlockingShutdownCount() const { … }
void DownloadCoreServiceImpl::CancelDownloads(
DownloadCoreService::CancelDownloadsTrigger trigger) { … }
void DownloadCoreServiceImpl::SetDownloadManagerDelegateForTesting(
std::unique_ptr<ChromeDownloadManagerDelegate> new_delegate) { … }
void DownloadCoreServiceImpl::SetDownloadHistoryForTesting(
std::unique_ptr<DownloadHistory> download_history) { … }
bool DownloadCoreServiceImpl::IsDownloadUiEnabled() { … }
void DownloadCoreServiceImpl::Shutdown() { … }