#include "content/browser/download/drag_download_file.h"
#include <utility>
#include "base/files/file.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "components/download/public/common/download_item.h"
#include "components/download/public/common/download_stats.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/download_request_utils.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
namespace content {
namespace {
OnCompleted;
}
class DragDownloadFile::DragDownloadFileUI
: public download::DownloadItem::Observer { … };
DragDownloadFile::DragDownloadFile(const base::FilePath& file_path,
base::File file,
const GURL& url,
const Referrer& referrer,
const std::string& referrer_encoding,
std::optional<url::Origin> initiator_origin,
WebContents* web_contents)
: … { … }
DragDownloadFile::~DragDownloadFile() { … }
void DragDownloadFile::Start(ui::DownloadFileObserver* observer) { … }
bool DragDownloadFile::Wait() { … }
void DragDownloadFile::Stop() { … }
void DragDownloadFile::DownloadCompleted(bool is_successful) { … }
}