Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Unified Diff: content/browser/download/download_manager_impl.cc

Issue 9570005: Added callback to DownloadUrl() so we can find download failures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with trunk Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/download/download_manager_impl.cc
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index 16555c23e624a671ce2cb7afd6026db658b0251f..4b519e0179a2a73cf5cb0bca6c223c74304e1169 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -58,11 +58,12 @@ namespace {
// Param structs exist because base::Bind can only handle 6 args.
struct URLParams {
- URLParams(const GURL& url, const GURL& referrer, int64 post_id)
- : url_(url), referrer_(referrer), post_id_(post_id) {}
+ URLParams(const GURL& url, const GURL& referrer, int64 post_id, bool cache)
+ : url_(url), referrer_(referrer), post_id_(post_id), prefer_cache_(cache) {}
GURL url_;
GURL referrer_;
int64 post_id_;
+ bool prefer_cache_;
};
struct RenderParams {
@@ -72,12 +73,13 @@ struct RenderParams {
int render_view_id_;
};
-void BeginDownload(const URLParams& url_params,
- bool prefer_cache,
- const DownloadSaveInfo& save_info,
- ResourceDispatcherHostImpl* resource_dispatcher_host,
- const RenderParams& render_params,
- content::ResourceContext* context) {
+void BeginDownload(
+ const URLParams& url_params,
+ const DownloadSaveInfo& save_info,
+ ResourceDispatcherHostImpl* resource_dispatcher_host,
+ const RenderParams& render_params,
+ content::ResourceContext* context,
+ const content::DownloadManager::OnStartedCallback& callback) {
scoped_ptr<net::URLRequest> request(
new net::URLRequest(url_params.url_, resource_dispatcher_host));
request->set_referrer(url_params.referrer_.spec());
@@ -86,7 +88,7 @@ void BeginDownload(const URLParams& url_params,
// when retrieving data from cache. This is done because we don't want
// to do a re-POST without user consent, and currently don't have a good
// plan on how to display the UI for that.
- DCHECK(prefer_cache);
+ DCHECK(url_params.prefer_cache_);
request->set_method("POST");
scoped_refptr<net::UploadData> upload_data = new net::UploadData();
upload_data->set_identifier(url_params.post_id_);
@@ -97,9 +99,9 @@ void BeginDownload(const URLParams& url_params,
context,
render_params.render_process_id_,
render_params.render_view_id_,
- prefer_cache,
+ url_params.prefer_cache_,
save_info,
- ResourceDispatcherHostImpl::DownloadStartedCallback());
+ callback);
}
class MapValueIteratorAdapter {
@@ -866,7 +868,8 @@ void DownloadManagerImpl::DownloadUrl(
bool prefer_cache,
int64 post_id,
const DownloadSaveInfo& save_info,
- WebContents* web_contents) {
+ WebContents* web_contents,
+ const OnStartedCallback& callback) {
ResourceDispatcherHostImpl* resource_dispatcher_host =
ResourceDispatcherHostImpl::Get();
DCHECK(resource_dispatcher_host);
@@ -878,13 +881,13 @@ void DownloadManagerImpl::DownloadUrl(
BrowserThread::IO, FROM_HERE,
base::Bind(
&BeginDownload,
- URLParams(url, referrer, post_id),
- prefer_cache,
+ URLParams(url, referrer, post_id, prefer_cache),
save_info,
resource_dispatcher_host,
RenderParams(web_contents->GetRenderProcessHost()->GetID(),
web_contents->GetRenderViewHost()->GetRoutingID()),
- web_contents->GetBrowserContext()->GetResourceContext()));
+ web_contents->GetBrowserContext()->GetResourceContext(),
+ callback));
}
void DownloadManagerImpl::AddObserver(Observer* observer) {
« no previous file with comments | « content/browser/download/download_manager_impl.h ('k') | content/browser/download/download_resource_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698