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

Side by Side Diff: content/browser/download/download_request_core.cc

Issue 1924473003: [Downloads] Use the initiating StoragePartition for resumption. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo in comment Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/download/download_request_core.h" 5 #include "content/browser/download/download_request_core.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 DownloadUrlParameters* params) { 108 DownloadUrlParameters* params) {
109 DCHECK_CURRENTLY_ON(BrowserThread::IO); 109 DCHECK_CURRENTLY_ON(BrowserThread::IO);
110 DCHECK(download_id == DownloadItem::kInvalidId || 110 DCHECK(download_id == DownloadItem::kInvalidId ||
111 !params->content_initiated()) 111 !params->content_initiated())
112 << "Content initiated downloads shouldn't specify a download ID"; 112 << "Content initiated downloads shouldn't specify a download ID";
113 113
114 // ResourceDispatcherHost{Base} is-not-a URLRequest::Delegate, and 114 // ResourceDispatcherHost{Base} is-not-a URLRequest::Delegate, and
115 // DownloadUrlParameters can-not include resource_dispatcher_host_impl.h, so 115 // DownloadUrlParameters can-not include resource_dispatcher_host_impl.h, so
116 // we must down cast. RDHI is the only subclass of RDH as of 2012 May 4. 116 // we must down cast. RDHI is the only subclass of RDH as of 2012 May 4.
117 std::unique_ptr<net::URLRequest> request( 117 std::unique_ptr<net::URLRequest> request(
118 params->resource_context()->GetRequestContext()->CreateRequest( 118 params->url_request_context_getter()
119 params->url(), net::DEFAULT_PRIORITY, nullptr)); 119 ->GetURLRequestContext()
120 ->CreateRequest(params->url(), net::DEFAULT_PRIORITY, nullptr));
120 request->set_method(params->method()); 121 request->set_method(params->method());
121 122
122 if (!params->post_body().empty()) { 123 if (!params->post_body().empty()) {
123 const std::string& body = params->post_body(); 124 const std::string& body = params->post_body();
124 std::unique_ptr<net::UploadElementReader> reader( 125 std::unique_ptr<net::UploadElementReader> reader(
125 net::UploadOwnedBytesElementReader::CreateWithString(body)); 126 net::UploadOwnedBytesElementReader::CreateWithString(body));
126 request->set_upload( 127 request->set_upload(
127 net::ElementsUploadDataStream::CreateWithReader(std::move(reader), 0)); 128 net::ElementsUploadDataStream::CreateWithReader(std::move(reader), 0));
128 } 129 }
129 130
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 // This function assumes that HasStrongValidators() was true and that the 178 // This function assumes that HasStrongValidators() was true and that the
178 // ETag and Last-Modified header values supplied are valid. 179 // ETag and Last-Modified header values supplied are valid.
179 request->SetExtraRequestHeaderByName( 180 request->SetExtraRequestHeaderByName(
180 "If-Range", has_etag ? params->etag() : params->last_modified(), true); 181 "If-Range", has_etag ? params->etag() : params->last_modified(), true);
181 } 182 }
182 183
183 for (const auto& header : params->request_headers()) 184 for (const auto& header : params->request_headers())
184 request->SetExtraRequestHeaderByName(header.first, header.second, 185 request->SetExtraRequestHeaderByName(header.first, header.second,
185 false /*overwrite*/); 186 false /*overwrite*/);
186 187
187 DownloadRequestData::Attach(request.get(), std::move(params), download_id); 188 DownloadRequestData::Attach(request.get(), params, download_id);
188 return request; 189 return request;
189 } 190 }
190 191
191 DownloadRequestCore::DownloadRequestCore(net::URLRequest* request, 192 DownloadRequestCore::DownloadRequestCore(net::URLRequest* request,
192 Delegate* delegate) 193 Delegate* delegate)
193 : delegate_(delegate), 194 : delegate_(delegate),
194 request_(request), 195 request_(request),
195 download_id_(DownloadItem::kInvalidId), 196 download_id_(DownloadItem::kInvalidId),
196 last_buffer_size_(0), 197 last_buffer_size_(0),
197 bytes_read_(0), 198 bytes_read_(0),
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 return DOWNLOAD_INTERRUPT_REASON_NONE; 631 return DOWNLOAD_INTERRUPT_REASON_NONE;
631 } 632 }
632 633
633 if (http_headers.response_code() == net::HTTP_PARTIAL_CONTENT) 634 if (http_headers.response_code() == net::HTTP_PARTIAL_CONTENT)
634 return DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT; 635 return DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT;
635 636
636 return DOWNLOAD_INTERRUPT_REASON_NONE; 637 return DOWNLOAD_INTERRUPT_REASON_NONE;
637 } 638 }
638 639
639 } // namespace content 640 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/download/download_manager_impl_unittest.cc ('k') | content/browser/download/download_resource_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698