Index: chrome/browser/android/intercept_download_resource_throttle.cc |
diff --git a/chrome/browser/android/intercept_download_resource_throttle.cc b/chrome/browser/android/intercept_download_resource_throttle.cc |
index d95674418f381ac815c41fb6184ab1543aa83641..aaa91318b95211e6f5619c82bbe2913ae19e74b8 100644 |
--- a/chrome/browser/android/intercept_download_resource_throttle.cc |
+++ b/chrome/browser/android/intercept_download_resource_throttle.cc |
@@ -31,7 +31,6 @@ InterceptDownloadResourceThrottle::~InterceptDownloadResourceThrottle() { |
} |
void InterceptDownloadResourceThrottle::WillStartRequest(bool* defer) { |
- ProcessDownloadRequest(); |
} |
asanka
2014/07/16 19:14:18
Nit: You can remove the implementation here and in
qinmin
2014/07/16 19:18:19
Done.
|
void InterceptDownloadResourceThrottle::WillProcessResponse(bool* defer) { |
@@ -53,14 +52,16 @@ void InterceptDownloadResourceThrottle::ProcessDownloadRequest() { |
if (request_->method() != net::HttpRequestHeaders::kGetMethod) |
return; |
+ net::HttpRequestHeaders headers; |
+ if (!request_->GetFullRequestHeaders(&headers)) |
+ return; |
+ |
// In general, if the request uses HTTP authorization, either with the origin |
// or a proxy, then the network stack should handle the download. The one |
// exception is a request that is fetched via the Chrome Proxy and does not |
// authenticate with the origin. |
if (request_->response_info().did_use_http_auth) { |
#if defined(SPDY_PROXY_AUTH_ORIGIN) |
- net::HttpRequestHeaders headers; |
- request_->GetFullRequestHeaders(&headers); |
if (headers.HasHeader(net::HttpRequestHeaders::kAuthorization) || |
!(request_->response_info().headers && |
data_reduction_proxy::HasDataReductionProxyViaHeader( |
@@ -75,7 +76,7 @@ void InterceptDownloadResourceThrottle::ProcessDownloadRequest() { |
// For OMA DRM downloads, Android Download Manager doesn't handle them |
// correctly. Use chromium network stack instead. http://crbug.com/382698. |
std::string mime; |
- const_cast<net::URLRequest*>(request_)->GetMimeType(&mime); |
+ request_->GetMimeType(&mime); |
if (!mime.compare(kOmaDrmContentMime) || !mime.compare(kOmaDrmMessageMime)) |
return; |